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.

- Feature overview
1.1 Release schedule
1.2 Available software updates
1.3 Other notable changes - Incompatible software
- How to apply
3.1. DietPi Trixie images
3.2. Upgrade from Bookworm - 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:
Version | Code name | Current status | Release date | End-of-life (LTS) |
12 | Bookworm | oldstable | 2023-06-10 | 2026-06-10 (2028-06-30) |
13 | Trixie | stable | 2025-08-09 | 2028-08-09 (2030-08-31) |
14 | Forky | testing | 2027-08-?? | 2030-08-?? (2032-08-31) |
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:
Software | Bookworm | Trixie | Note |
OpenSSH | 9.2 | 10.0 | |
Unbound | 1.17.1 | 1.22.0 | |
Python | 3.11 | 3.13 | |
PHP | 8.2 | 8.4 | |
MariaDB | 10.11.11 | 11.8.2 | |
PostgreSQL | 15 | 17 | The required cluster migration is included with our Trixie upgrade script. |
Redis | 7.0.15 | 8.0.2 | |
Nginx | 1.22.1 | 1.26.3 | |
qBittorrent | 4.5.2 | 5.1.0 | |
Transmission | 3.00 | 4.1.0 | |
Kodi | 20.1 | 21.2 | This is not true for Raspberry Pi, where newer Kodi versions are provided from the archive.raspberrypi.com APT repository. |
FFmpeg | 5.1.6 | 7.1.1 | |
MPD | 0.23.12 | 0.24.4 | |
Mesa | 22.3.6 | 25.0.7 | |
Linux | 6.1 | 6.12 | This is true for x86_64 platforms only. ARM/RISC-V SBCs get separate kernel upgrades from our APT repository. |
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!
note: the download page says:
“All image downloads incl. Debian 12 Bookworm”
But it does actually download Trixie
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.
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!
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.
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?
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
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 viadietpi-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.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.
Then you need to search and remove the list file which contains this repository:
Thank that worked a treat, all updated now
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
I used the lighttpd package in apt repository and works fine
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:
.
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 ?
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).
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.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:
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).
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.
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.
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:
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.Works fine, thanks!!!
Updated my RPi5 to Trixie without any issue.
Struggled only with Home Assistant which required some manual updates of packages:
home_assistant_intents
hassil
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.
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?
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?
thank you. no, I did not see that line, but I did repeat the script and all appears well. I appreciate the quick reply
Great, then it was all as expected. Let me know if we can enhance the text in the dialogues to make things clearer.
Hi,
I got the following when upgradng. Safe to assume I can ignore it?
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.
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.
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.
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.
The script also suggests a reboot if the preliminary package upgrades include a kernel upgrade. The dialogue says so
But I understand that one does not read every dialogue fully after 3rd upgraded system :).
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?
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.Worked nice on my RaspberryPi B model 2 v1.1 (yes, old hardware). Thanks !
I cannot access baikal any more. Neither the admin page nor user access is working. Can anyone help me troubleshoot?
I just tested it, and generally it works fine on Trixie. What is the error message, and is your webserver and PHP running?
Just assuming Apache2 here, might be
nginx
orlighttpd
instead.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!
One thing I noticed – running kernel in my case is still 6.1.0-25-arm64.
Thinking, if I should proceed with manual upgrade to one of https://packages.debian.org/trixie/kernel-image
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.
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!
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.
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.
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.
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
whether you see a process with unexpected high (idle) load, and
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.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.
Jellyfin has sadly dropped 32-bit support in general. Also the packages for older Debian versions are not updated anymore since v10.11: https://jellyfin.org/posts/jellyfin-release-10.10.0/#breaking-changes
I updated the info in https://dietpi.com/blog/?p=4014#incompatible.
Do you have the v1.1 revision of the RPi 2B that really does not support 64-bit?
Unfortunately, I think I do : “armv7i”, isn’t it?
Maybe it’s time for me to look for a more recent single-board device…
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.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.