Debian 13 Trixie has been released

Debian 13 Trixie has been released on 2025-08-09 and we want to give you a brief overview and info how to install it or upgrade your Bookworm system.

Debian 13 Trixie banner based on the original Debian 13 theme "Ceratopsian" by Elise Couper. The background shows organic forms in blue shares. The foreground shows the Debian logo on the left side, the text "debian 13" and smaller "The universal operating system", in the Poppl-Laudatio Debian font and light grey-blue color.
Debian 13 Trixie banner based on the original Debian 13 theme “Ceratopsian” by Elise Couper
  1. Feature overview
    1.1 Release schedule
    1.2 Available software updates
    1.3 Other notable changes
  2. Incompatible software
  3. How to apply
    3.1. DietPi Trixie images
    3.2. Upgrade from Bookworm
  4. Feedback & Support

1. Feature overview

1.1 Release schedule

Debian does not follow the rolling release model, but is a point release distribution, which provides updates for its distributed software via major releases every two years. The following table gives an overview of the last, current and next stable Debian release:

VersionCode nameCurrent statusRelease dateEnd-of-life (LTS)
12Bookwormoldstable2023-06-102026-06-10 (2028-06-30)
13Trixiestable2025-08-092028-08-09 (2030-08-31)
14Forkytesting2027-08-??2030-08-?? (2032-08-31)
Debian release schedule: https://www.debian.org/releases/

During these two years, a stable Debian release receives only bug fixes, security patches and in rare cases patch version updates, i.e. updates where the upstream software developer does not declare any breaking changes or new features. You can observe this behavior by looking at the version strings when running apt upgrade: Usually only the suffix changes, indicating that the same software source code version was used. Changes were then limited to the package maintainer/meta files, including bug fix and security patches.
There are some exceptions for this strict update policy, like the Firefox and Chromium web browsers, which receive regular major version updates for security reasons.

This means that once a new Debian version is released, software packages provided by the previous Debian release are about 2 years old. A new Debian release provides hence significant feature updates.

1.2 Available software updates

The following list shows an excerpt of updates available with Debian Trixie for software often used on DietPi systems:

SoftwareBookwormTrixieNote
OpenSSH9.210.0
Unbound1.17.11.22.0
Python3.113.13
PHP8.28.4
MariaDB10.11.1111.8.2
PostgreSQL1517The required cluster migration is included with our Trixie upgrade script.
Redis7.0.158.0.2
Nginx1.22.11.26.3
qBittorrent4.5.25.1.0
Transmission3.004.1.0
Kodi20.121.2This is not true for Raspberry Pi, where newer Kodi versions are provided from the archive.raspberrypi.com APT repository.
FFmpeg5.1.67.1.1
MPD0.23.120.24.4
Mesa22.3.625.0.7
Linux6.16.12This is true for x86_64 platforms only. ARM/RISC-V SBCs get separate kernel upgrades from our APT repository.
Debian package versions obtained from online database: https://packages.debian.org/trixie/allpackages

Notable are the PHP and Python upgrades to their respective latest official version, which affects a large number of dietpi-software installation options.

1.3 Other notable changes

1.3.1 64-bit time_t transition

With Debian Trixie, a transition to 64-bit time_t values with the newer time64 syscalls has been done. On 32-bit systems, these time values were only 32 bit long, which makes it impossible for them to represent any time after 2038-01-19 03:14:07 UTC, the so called year 2038 problem. After the transition, these values are 64 bit long, eliminating the issue. The time64 syscalls are available since Linux 5.6, which hence also defines the minimum Linux version needed to support Debian Trixie on 32-bit systems. Additionally, the transition implied renamed library packages, giving them a “t64” suffix. E.g. the libssl3 package is now called libssl3t64, which makes older DEB packages not compiled against the new library incompatible also package-wise. For 64-bit systems, however, nothing changes: time_t values were already 64 bit long before and the “t64” suffix packages formally “provide” the variants without the suffix, which enables compatibility also package-wise. For 64-bit systems, this means the minimum required Linux version remains 4.15, to guarantee regulatory database support without CRDA.

2. Incompatible software

DietPi offers Debian Trixie based images since Debian Bookworm was released, but we did not provide them prominently on our download page or elsewhere until now, hence the number of users has been low so far. To compensate that, systematic tests of all software option in dietpi-software have been performed, assuring that installations go through, services start up, and processes in case listen on the intended network ports: https://github.com/MichaIng/DietPi/wiki/Debian-Trixie-testing

The following list of software titles is known to be not (yet) compatible with Debian Trixie:

  • QuiteRSS: Due to outstanding upstream development and maintenance, Debian has removed the package from their repository. This is hence known to not come back, and we will probably remove it from DietPi with the first 2026 release.
  • Netdata: Since the project turned commercial, and the web interface is now closed source software, Debian removed it from their repository. We did not yet decide whether we switch to Netdata’s own APT repository, and keep it as software option. Based on information from Debian, the new local web UI lost a lot of features compared to the old open source one, which were moved into Netdata’s cloud platform instead, for which an account is needed, and paid plans to exceed certain limits. If you are interested in Netdata, please join the discussion on our GitHub repository: https://github.com/MichaIng/DietPi/issues/6929
  • UrBackup: Packages for 32-bit ARM and x86_64 depend on old removed libcurl TLS flavors. The developers have been informed already, and compatible packages should be provided soon.
  • Medusa: Python 3.13 support is still outstanding: https://github.com/pymedusa/Medusa/pull/11967
  • Jellyfin: Support for 32-bit has been generally removed from the project. There are packages for older Debian versions, but those are not updated anymore either: https://jellyfin.org/posts/jellyfin-release-10.10.0/#breaking-changes
  • The following software options are not compatible package-wise on 32-bit systems due to the 64-bit time_t transition mentioned above. New package builds for Debian Trixie should solve that issue soon: NAA Daemon, Moonlight (both versions)

In case you want to use one of the above software titles, you can find up-to-date Debian Bookworm based DietPi images for all platforms here: https://dietpi.com/downloads/images/

3. How to apply

We provide Debian Trixie images as well as a script to upgrade your Debian Bookworm based DietPi system.

3.1 DietPi Trixie images

Trixie images are provided on our download page. You may follow the instruction from our documentation to get DietPi up on your platform.

3.2 Upgrade from Bookworm

We provide a script to upgrade a DietPi Bookworm system to Trixie, as safe as possible. While starting over with a fresh image is generally cleaner, we know that some of you have setups which are time consuming to replicate on a fresh system. Our script warns you if one of the yet incompatible software options is installed on your system, offers to create a backup first, does all known needed migrations and adjustments to have your software running on the new Debian version as before. Execute the following command on your console to start the distribution upgrade:

sudo bash -c "$(curl -sSf 'https://raw.githubusercontent.com/MichaIng/DietPi/dev/.meta/dietpi-trixie-upgrade')"

Carefully watch the output of the script. If an error occurs, our error handler allows you to open a subshell to investigate and fix the underlying issue, to repeat and continue. After the packages themselves have been upgraded, it allows you to review the output, before continuing with software (config) migrations, which also includes some dietpi-software reinstalls.

Generally: If you face any issues or see errors, please keep/copy the output of the script somewhere, and report them to us, so we have a chance to find out what happened and why, and can in case prevent it for future users. If RAM logging has not been disabled, also copying the APT log file to a persistent place preserves possible relevant output:

cp -a /var/log/apt/term.log ~/

Once everything is done, the script offers to do a reboot, which we highly recommend. On first console login as root user after the reboot, old leftover Bookworm APT packages are automatically removed.
In case you run a graphical desktop, just open a terminal emulator and execute sudo -s to finish this step.

4. Feedback & Support

Feel free to leave a comment below for short feedback about this article and how Trixie works for you.

For more detailed feedback, to attach logs or console output, if you face issues with our upgrade script or Trixie in general, please use the following issue on our GitHub repository: https://github.com/MichaIng/DietPi/issues/7644

Alternatively, you can open a topic in our forum’s troubleshooting section: https://dietpi.com/forum/c/troubleshooting/10

Happy hacking!

Debian 13 Trixie has been released

52 thoughts on “Debian 13 Trixie has been released

  1. note: the download page says:
    “All image downloads incl. Debian 12 Bookworm”
    But it does actually download Trixie

    1. This was meant to say that there are additional images behind that link, especially older Bookworm ones, if anyone requires them. Looks like the text is unclear. I am open for suggestions.

  2. Thanks for providing this nice script! The upgrade worked just fine on one of my Pi´s. However, I had to remove the apt-listbugs package using the subshell, because of the following error: “/usr/bin/apt-listbugs apt returned an error code (10)”.
    On my second Pi, the kernel image got lost during the reboot for some reason and the Pi wouldn´t start up anymore (the green LED was blinking 7 times). It got solved by downloading the latest kernel8.img from the official RPI Github repo. Upon reboot, it threw a message that the kernel requires an update. I launched dietpi-config >> Advanced >> RPI kernel choice. Once the Kernel choice menu was exited, the script reinstalled the kernel (headers??) and I rebooted once again. Finally, it was all up and running again.

    Since I am not sure, if this was caused by myself (I changed some configs over time) or if it was just bad luck. Maybe this info is helpful for someone running into the same or similar issue… Cheers!

    1. Thanks for your feedback. You do not have the log/output available anymore, do you?

      apt-listbugs is available on Trixie as well, so I wonder why or at which point it caused issues.

      The kernel package should of course never be removed either. Generally, when facing issues, it makes much sense to preserve the output of the script. I am thinking about adding logs at least for the actual APT package upgrade commands, to see which removals were done.

  3. when trying to upgrade from bookworm, i get the following error The repository ‘https://deb.nodesource.com/node_18.x trixie Release’ does not have a Release file.
    any idea?

    1. I have uninstall it from from diet-software and i have the node 22 installed with hombridge, but i dont know how to remove node 18

      1. The legacy Node.js APT repository is/was probably in /etc/apt/sources.list.d/nodesource_nodejs.list. It was used by DietPi until some years ago.

        If you uninstalled Node.js via dietpi-software that old repository was removed as well. Not sure what you mean by “node 22 installed with hombridge”? If you install or reinstall Node.js via dietpi-software, it would be always the latest, i.e. v24.7.0 at time of writing. But not via https://deb.nodesource.com/ anymore, since it does neither support ARMv6 nor RISC-V.

        1. I have reinstalled node via dietpi-software again and it installed v24. I re run the upgrade and still says the same error

          E: The repository ‘https://deb.nodesource.com/node_18.x trixie Release’ does not have a Release file.

          1. Then you need to search and remove the list file which contains this repository:

            grep -r nodesource /etc/apt/sources.list.d
  4. thanks for the script
    I have used this script with lighttpd server installed and the updated system breaks the server. Any suggestion I can do? I tried using a fresh install and copied the files in /etc/lighttpd and doesn’t work

      1. There might be breaking syntax changes between the Lighttpd versions of Bookworm and Trixie. If there are still issues with it, check the service logs:

        journalctl -u lighttpd

        .

        1. Sorry in advance for double post, I’m updating from bookworm using the script, on the native pc, and have been stuck for 1 hr already on the flw line:

          Deep recursion on subroutine “main::remove_links” at /usr/bin/deb-systemd-helper line 488, line 14.

          Can you please guide ?

  5. Hi! Thank you for the script! I could upgrade without errors but had to uninstall and reinstall ProFTPD afterwards. Just reinstall did not work. The configuration file of ProFTPD was already gone after the reinstall (not a problem though).

    1. What was the issue with ProFTPD after the Trixie upgrade? If a fresh installation works, then our default config at least does not seem to contain incompatible keys.

      On a reinstall, the existing config is backed up to /etc/proftpd/proftpd.conf.bak_XXXX with XXXX being the date of the backup.

  6. When you manually migrate to the deb822 format the scripts fails at sed -i command where it tries to switch from bookworm to trixie. Maybe you could also try the check for the debian.sources in /etc/apt/sources.list.d the replacment for that would be this code:

    find /etc/apt/sources.list.d -name "*.list" -exec sed -i 's/bookworm/trixie/g' {} \;
    1. Just do not migrate to deb822. DietPi does not support it yet, not the upgrade script only, but several patches and install options create and expect list files and do not handle sources files.

      Also, there is no reason to do this migration. deb822 has not much to do with Trixie, and it has no benefits, neither has the old format any lack of features or so, and it is still fully supported by all parts of APT.

      For now, you need to revert to list format. When I find some time, we will migrate to deb822 on all distro versions in one go (Bullseye supports it as well).

  7. After upgrading Rock64 from kernel 4.4 it stopped booting (using boot form USB). I was able to recover it through copying the dietpi-backup over the boot partition and then restoring it upon boot. It seems that the new bootloader is unable to boot from usb.

    1. If it was Linux 4.4, then not one of our original images, or a very old one. Assure that our current linux-image-current-rockchip64 + linux-dtb-current-rockchip64 + linux-u-boot-rock64-current packages are installed, a boot.scr loads the correct kernel + device tree, and that U-Boot image is flashed to the SPI storage, which can be done via dietpi-config advanced options.

      1. Yes it is an old image. When updated as suggested, after flashing the spi storage I am unable to boot from the USB disk (it boots from SD card. The serial console is empty.

        If I do not flash the SPI, I can boot through extlinux from the USB but not with boot.scr. Maybe my configuration of the boot.scr is not good.
        The result is:

        DDR version 1.13 20180428                                                                                                                                                    
        ID:0x805 Y                                                                                                                                                                   
        In                                                                                                                                                                           
        LPDDR3                                                                                                                                                                       
        786MHz                                                                                                                                                                       
        Bus Width=32 Col=11 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=4096MB                                                                                                       
        ddrconfig:7                                                                                                                                                                  
        OUT                                                                                                                                                                          
                                                                                                                                                                                     
        U-Boot SPL 2017.09-rockchip-ayufan-1065-g95f6152134 (Apr 06 2020 - 08:10:17)                                                                                                 
        board_init_sdmmc_pwr_en                                                                                                                                                      
        setup_ddr_param  1                                                                                                                                                           
        booted from SPI flash                                                                                                                                                        
        Trying to boot from SPI                                                                                                                                                      
        NOTICE:  BL31: v1.3(debug):9d3f591                                                                                                                                           
        NOTICE:  BL31: Built : 14:39:02, Jan 17 2018                                                                                                                                 
        NOTICE:  BL31:Rockchip release version: v1.3                                                                                                                                 
        INFO:    ARM GICv2 driver initialized                                                                                                                                        
        INFO:    Using opteed sec cpu_context!                                                                                                                                       
        INFO:    boot cpu mask: 1                                                                                                                                                    
        INFO:    plat_rockchip_pmu_init: pd status 0xe                                                                                                                               
        INFO:    BL31: Initializing runtime services                                                                                                                                 
        WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK                                     
        ERROR:   Error initializing runtime service opteed_fast                                                                                                                      
        INFO:    BL31: Preparing for EL3 exit to normal world                                                                                                                        
        INFO:    Entry point address = 0x200000                                                                                                                                      
        INFO:    SPSR = 0x3c9                                                                                                                                                        
                                                                                                                                                                                     
                                                                                                                                                                                     
        U-Boot 2017.09-rockchip-ayufan-1065-g95f6152134 (Apr 06 2020 - 08:10:39 +0000)                                                                                               
                                                                                                                                                                                     
        Model: Pine64 Rock64                                                                                                                                                         
        DRAM:  4 GiB                                                                                                                                                                 
        MMC:   rksdmmc@ff520000: 0, rksdmmc@ff500000: 1                                                                                                                              
        SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB                                                                                               
        *** Warning - bad CRC, using default environment                                                                                                                             
                                                                                                                                                                                     
        In:    serial@ff130000                                                                                                                                                       
        Out:   serial@ff130000                                                                                                                                                       
        Err:   serial@ff130000                                                                                                                                                       
        Model: Pine64 Rock64                                                                                                                                                         
        misc_init_r                                                                                                                                                                  
        cpuid=55524b50303930303800000000022c15                                                                                                                                       
        serial=d8ed574ae969758                                                                                                                                                       
        Net:   eth0: ethernet@ff540000                                                                                                                                               
        Hit any key to stop autoboot:  0                                                                                                                                             
        Card did not respond to voltage select!                                                                                                                                      
        mmc_init: -95, time 9                                                                                                                                                        
        Card did not respond to voltage select!                                                                                                                                      
        mmc_init: -95, time 9                                                                                                                                                        
        starting USB...                                                                                                                                                              
        USB0:   USB EHCI 1.00                                                                                                                                                        
        USB1:   USB OHCI 1.0                                                                                                                                                         
        USB2:   Core Release: 3.10a                                                                                                                                                  
        USB3:   Register 2000140 NbrPorts 2                                                                                                                                          
        Starting the controller                                                                                                                                                      
        USB XHCI 1.10                                                                                                                                                                
        scanning bus 0 for devices... 4 USB Device(s) found                                                                                                                          
        scanning bus 1 for devices... 1 USB Device(s) found                                                                                                                          
        scanning bus 2 for devices... 1 USB Device(s) found                                                                                                                          
        scanning bus 3 for devices... 1 USB Device(s) found                                                                                                                          
               scanning usb for storage devices... 1 Storage Device(s) found                                                                                                         
                                                                                                                                                                                     
        Device 0: Vendor: Innostor Rev: 0.00 Prod: Ext. HDD                                                                                                                          
                    Type: Hard Disk                                                                                                                                                  
                    Capacity: 381554.0 MB = 372.6 GB (781422768 x 512)                                                                                                               
        ... is now current device                                                                                                                                                    
        Scanning usb 0:2...                                                                                                                                                          
        Found U-Boot script /boot/boot.scr                                                                                                                                           
        3458 bytes read in 208 ms (15.6 KiB/s)                                                                                                                                       
        ## Executing script at 00500000                                                                                                                                              
        Failed to mount ext2 filesystem...                                                                                                                                           
        ** Unrecognized filesystem type **                                                                                                                                           
        Failed to mount ext2 filesystem...                                                                                                                                           
        ** Unrecognized filesystem type **                                                                                                                                           
        libfdt fdt_check_header(): FDT_ERR_BADMAGIC                                                                                                                                  
        Failed to mount ext2 filesystem...                                                                                                                                           
        ** Unrecognized filesystem type **                                                                                                                                           
        Failed to mount ext2 filesystem...                                                                                                                                           
        ** Unrecognized filesystem type **                                                                                                                                           
        Bad Linux ARM64 Image magic!                                                                                                                                                 
        devnum=0                                                                                                                                                                     
        rootdev=PARTUUID=5DFC2C63-02                                                                                                                                                 
        arch=arm                                                                                                                                                                     
        baudrate=1500000                                                                                                                                                             
        board=rock64_rk3328                                                                                                                                                          
        board_name=rock64_rk3328                                                                                                                                                     
        boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}                                                            
        boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};i
        boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf                                                              
        boot_net_usb_start=usb start                                                                                                                                                 
        boot_prefixes=/ /boot/                                                                                                                                                       
        boot_script_dhcp=boot.scr.uimg                                                                                                                                               
        boot_scripts=boot.scr.uimg boot.scr                                                                                                                                          
        boot_targets=mmc0 mmc1 usb0 pxe dhcp                                                                                                                                         
        bootargs=root=PARTUUID=5DFC2C63-02 rootfstype=ext4 rootwait console=tty1 consoleblank=0 coherent_pool=2M partuuid=                                                           
        bootcmd=run distro_bootcmd                                                                                                                                                   
        bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};
        bootcmd_mmc0=setenv devnum 0; run mmc_boot                                                                                                                                   
        bootcmd_mmc1=setenv devnum 1; run mmc_boot                                                                                                                                   
        bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi                                                                                                      
        bootcmd_usb0=setenv devnum 0; run usb_boot                                                                                                                                   
        bootdelay=0                                                                                                                                                                  
        bootfstype=ext4                                                                                                                                                              
        consoleargs=console=tty1                                                                                                                                                     
        cpu=armv8                                                                                                                                                                    
        cpuid#=55524b50303930303800000000022c15                                                                                                                                      
        debug=1                                                                                                                                                                      
        devnum=0                                                                                                                                                                     
        devplist=2                                                                                                                                                                   
        devtype=usb                                                                                                                                                                  
        distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done                                                                                                 
        docker_optimizations=off                                                                                                                                                     
        efi_dtb_prefixes=/ /dtb/ /dtb/current/                                                                                                                                       
        eth1addr=26:3c:3d:22:de:1f                                                                                                                                                   
        ethaddr=26:3c:3d:22:de:ff                                                                                                                                                    
        fdt_addr_r=0x01f00000                                                                                                                                                        
        fdtaddr=0x87f00000                                                                                                                                                           
        fdtcontroladdr=fcf051c8                                                                                                                                                      
        fdtfile=rockchip/rk3328-rock64.dtb                                                                                                                                           
        fdtovaddr=0x87fc0000                                                                                                                                                         
        fileaddr=500000                                                                                                                                                              
        filesize=d82                                                                                                                                                                 
        kernel_addr_r=0x02000000                                                                                                                                                     
        load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}                                                                              
        mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi                                                                                       
        partitions=uuid_disk=${uuid_gpt_disk};name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};name=trust,size=4M;
        pxefile_addr_r=0x00600000                                                                                                                                                    
        ramdisk_addr_r=0x04000000                                                                                                                                                    
        rootdev=PARTUUID=5DFC2C63-02                                                                                                                                                 
        rootfstype=ext4                                                                                                                                                              
        scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run;
        scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtye
        scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run le
        scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinuxi
        scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${scripe
        scriptaddr=0x9000000                                                                                                                                                         
        serial#=d8ed574ae969758                                                                                                                                                      
        soc=rockchip                                                                                                                                                                 
        stderr=serial@ff130000                                                                                                                                                       
        stdin=serial@ff130000                                                                                                                                                        
        stdout=serial@ff130000                                                                                                                                                       
        usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi                                                                            
        vendor=rockchip                                                                                                                                                              
                                                                                                                                                                                     
        Environment size: 4396/32764 bytes                                                                                                                                           
        SCRIPT FAILED: continuing...                                                                                                                                                 
        Speed: 1000, full duplex                                                                                                                                                     
        BOOTP broadcast 1                                                                                                                                                            
        DHCP client bound to address 192.168.25.25 (7 ms)                                                                                                                            
        *** Warning: no boot file name; using 'C0A81919.img'                                                                                                                         
        Using ethernet@ff540000 device                                                                                                                                               
        TFTP from server 192.168.25.1; our IP address is 192.168.25.25                                                                                                               
        Filename 'C0A81919.img'.                                                                                                                                                     
        Load address: 0x800800                                                                                                                                                       
        Loading: T
        1. I see, indeed an old image with a U-Boot buid from Ayufan. The boot script fails to mount the partition as ext2 filesystem, so it is probably a dedicated FAT partition, while the boot script tries false commands or so.

          Since WordPress commands are not so well suited for larger logs and commands, could you open an issue on GitHub or our forum instead? With an updated boot.scr and after flashing the latest bootloader to SPI, it should be possible, regardless whether /boot is a dedicated partition or not.

  8. Updated my RPi5 to Trixie without any issue.
    Struggled only with Home Assistant which required some manual updates of packages:
    home_assistant_intents
    hassil

    1. How did you install HA, and what issues did you face with those Python modules? Since our HA implementation lives in its own pyenv, it is mostly immune to host OS changes. Only thing I could imagine is if a module build depends on a specific version of a host OS runtime library, and is incompatible with the newer version from Trixie. But those two you mentioned are pure Python modules, without C/C++ code embedded.

  9. ran the script by copying the command line above. seemed to finish fine, and recommended reboot. when I reboot, I appear to still have bookworm installed. I clearly must have missed something. any advice?

    1. If applies APT upgrades and a DietPi update before the actual Trixie upgrade. If this implied a kernel upgrade, it suggests a reboot as well. If that was the case, just repeat the script, to continue with the actual Trixie upgrade.

      Did you see this line in between on the console, requiring to hit a key to continue?

      Next, some migrations are done for all software to run nicely on Trixie. This can include dietpi-software reinstalls. Press ENTER to continue or CTRL+C to abort ...
  10. thank you. no, I did not see that line, but I did repeat the script and all appears well. I appreciate the quick reply

  11. Hi,

    I got the following when upgradng. Safe to assume I can ignore it?

    Unpacking systemd (257.8-1~deb13u2) over (252.39-1~deb12u1) ...
    dpkg: warning: unable to delete old directory '/lib/systemd/system-preset': Directory not empty
    ....
    Unpacking linux-image-6.12.34+rpt-rpi-v8 (1:6.12.34-1+rpt1) over (1:6.12.34-1+rpt1~bookworm) ...
    dpkg: warning: unable to delete old directory '/lib/modules/6.12.34+rpt-rpi-v8/kernel/sound/usb/misc': Directory not empty
    ...
    Unpacking firmware-atheros (1:20241210-1+rpt2) over (1:20240709-2~bpo12+1+rpt3) ...
    dpkg: warning: unable to delete old directory '/lib/firmware/qca': Directory not empty
    ...
    Unpacking firmware-brcm80211 (1:20241210-1+rpt2) over (1:20240709-2~bpo12+1+rpt3) ...
    dpkg: warning: unable to delete old directory '/lib/modprobe.d': Directory not empty
    ...
    Unpacking firmware-iwlwifi (1:20241210-1+rpt2) over (1:20240709-2~bpo12+1+rpt3) ...
    dpkg: warning: unable to delete old directory '/lib/firmware/intel': Directory not empty
    ...
    Unpacking firmware-linux-free (20241210-2) over (20200122-1) ...
    dpkg: warning: unable to delete old directory '/lib/firmware/keyspan_pda': Directory not empty
    ...
    Unpacking firmware-misc-nonfree (1:20241210-1+rpt2) over (1:20240709-2~bpo12+1+rpt3) ...
    dpkg: warning: unable to delete old directory '/lib/firmware/wfx': Directory not empty
    ...
    Unpacking firmware-realtek (1:20241210-1+rpt2) over (1:20240709-2~bpo12+1+rpt3) ...
    dpkg: warning: unable to delete old directory '/lib/firmware/rtw89': Directory not empty
    ...
    Unpacking hdparm (9.65+ds-1.1+b1) over (9.65+ds-1) ...
    dpkg: warning: unable to delete old directory '/lib/systemd/system-sleep': Directory not empty
    1. Not an immediate issue, and in those cases the new package contains/uses the same directory anyway. But that the warning shows up might indicate that there is unexpected other stuff inside. Maybe some some evil macOS created its .DS_Store or ._* trash inside :).

      Check what is inside, maybe you find a pattern which can be cleaned up with some find -delete command.

      ls -Al /lib/hdparm /lib/firmware/qca
      They won’t be empty now in most cases, so it is more to see whether there is anything else aside of the expected content inside.

  12. awesome, nice work MichaIng and of course the team. Hope you dont stress out for all the support tickets now. Keep it chill now. Good job!

    sidenote. I’ll wait to update until after i backup everything and now for sure all the critical tickets been sorted out.

    1. Thanks for your kind words :). Yes a backup definitely makes sense. A lot of potentially failure reasons have been sorted, but we cannot address everything depending on how customized a system is, especially if 3rd party repositories were added.

  13. The script worked great on my Pi 4, Pi 5 and Opi 5 plus.
    It worked on my rockpro 64 after I did it twice. First time went through, asked me to reboot and when I logged in there was no apt autoremove so I checked and my apt was not v3, nor were my repos set to trixie (still bookworm)
    It doesn’t do anything that isn’t ready in another place as a failover so I did it again and no issues.
    No errors, nothing in the logs either. Was like rebooting a box running alpine linux. Just rolled back to the last state it was in. Which is handy for some things but less so when it’s on accident.

    1. The script also suggests a reboot if the preliminary package upgrades include a kernel upgrade. The dialogue says so

      Your system needs to be rebootet to apply a recent kernel upgrade. Please do this first and then rerun this script to proceed with the Trixie upgrade.

      But I understand that one does not read every dialogue fully after 3rd upgraded system :).

  14. The post says:
    > On first console login as root user after the reboot, old leftover Bookworm APT packages are automatically removed.

    What happens if this is a headless device that I login to via ssh? Can I remove the old leftover Bookwork APT packages myself, or do I really need to console login as root to complete the upgrade tasks?

    1. Doesn’t matter whether you login via SSH, or local console, or serial console, or terminal emulator, or run bash -s from anywhere else. It just requires an interactive bash session.

      The script /etc/bashrc.d/zz-dietpi-autopurge.bash does this, which is invoked from /etc/bash.bashrc on DietPi.

  15. I cannot access baikal any more. Neither the admin page nor user access is working. Can anyone help me troubleshoot?

    1. I just tested it, and generally it works fine on Trixie. What is the error message, and is your webserver and PHP running?

      journalctl -u apache2 -u php8.4-fpm

      Just assuming Apache2 here, might be nginx or lighttpd instead.

  16. I have just checked migration script on aarch64 VM – experience is amazingly smooth and pleasant. Nothing was broken! One package from 3rd party repository was removed – but that behaviour is expected and recovery is trivial.

    Bravo MichaIng and the team!

    1. Thanks for your kind feedback. Which SBC are you using? From the version string this looks like a Debian kernel, while we use some own builds or some built with Armbian build system for ARM boards.

      1. I use RK3588 (here OrangePi 5), however DietPi runs as a Generic Device (aarch64) inside virtual machine. You may disregard my previous comment about kernel – if I need help, I will raise a new topic in the forum. Thank you as always!

        1. Ah I understand. For a VM the Debian kernel should be fine, indeed.

          Be sure to use the meta packages that do not have a version string, i.e.

          apt install linux-image-arm64
          

          That one depends on the actual versioned kernel packages, pulls a new one as dependency on upgrade, and hence also assures that Linux 6.12.y is installed on upgrade to Trixie.

  17. Amazing, many thanks, just noticed the motd said it has trixie relased when login to one of my SBC board today. I upgraded 3 SBC in row:
    1. Raspberry 2
    2. Orange Pi 3 Zero
    3. Orange Pi 5 Plus
    The result is amazing, it runs smoothly, upgraded very well.

    On Raspi 2, is slightly warmer compare to bookworm.

    On Orange Pi 3 Zero which is hosted home assistant application with supervisor mode gave me warning that the system is not supported, but so far the HA is working fine.

    On Orange Pi 5 Plus is working fine without any issue.

    1. Many thanks for your kind feedback.

      On Raspberry Pi, the distribution upgrade has no effect on the kernel or firmware version, so that end it should not have an effect on temperature. But of course it is possible that some new software version causes more load, or maybe is kept in some error loop that causes load. Check

      htop
      

      whether you see a process with unexpected high (idle) load, and

      journalctl
      

      whether you see some errors in the system log.

      Note that HA supervised is deprecated/support dropped by HA team, hence I don’t think Trixie support will be added: https://github.com/home-assistant/supervised-installer/issues/413
      If you depend on addons, I suggest to migrate to HAOS. If you can live without addons, use our HA core dietpi-software option. HA core is deprecated likewise, but we are keeping up support our end. One could never expect real support for it on HA forum etc anyway. Compared to HA supervised which requires additional maintenance around core, HA core, as part of HAOS etc, is naturally developed anyway.

  18. Hi there,

    Is the Jellyfin trixie 32-compatible package available yet? That’s one of the main usage of my dietpi running on a Raspberry Pi2 32 bits and I’m holding off upgrading to Trixie because of that very package.
    Thanks in advance for your answer.

      1. Unfortunately, I think I do : “armv7i”, isn’t it?
        Maybe it’s time for me to look for a more recent single-board device…

        1. armv7l represents the kernel architecture, not necessarily the hardware architecture. You would need to check the PCB, which says “Raspberry Pi 2 Model B V1.1” or “Raspberry Pi 2 Model B V1.2”. The latter has the same chip as the Raspberry Pi 3, hence is 64-bit capable.

          EDIT: cat /proc/device-tree/model might reveal the board revision as well.

          1. Thanks for following up. I confirm I have a 32bits RP2. Currently looking at used OrangePi 3… I might upgrade to that in the near future. Thanks for the help @Michalng.

Leave a Reply to ff Cancel reply

Your email address will not be published. Required fields are marked *

Scroll to top