DietPi Blog

... discover DietPi, Debian and Linux info

Debian Bookworm has been released

Debian 12 Bookworm has been released on 2023-06-10. We want to give you a brief overview and info how to install or upgrade to it, either using our DietPi Bookworm images, or by upgrading your running DietPi Bullseye system.

Debian Bookworm theme background and Toy Story character
  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 Bookworm images
    3.2. Upgrade from Bullseye
  4. Feedback & Support

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)
11Bullseyeoldstable2021-08-142024-08-14 (2026-08-31)
12Bookwormstable2023-06-102026-06-10 (2028-06-30)
13Trixietesting2025-06-??2028-06-?? (2030-06-??)
Debian release schedule: https://wiki.debian.org/DebianReleases#Production_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 behaviour by looking at the version strings when doing 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 Chromium browser, which receives regular major version upgrades for security reasons.

This means that at the end of a version release cycle, software provided by the Debian package repository is up to two years old and the next release hence provides some significant updates.

1.2 Available software updates

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

SoftwareBullseyeBookwormNote
OpenSSH8.49.2adds full Ed25519 support, disables ssh-rsa support by default
OpenVPN2.5.12.6.1
Python3.93.11Not all Python applications have been tested by us with Python 3.11 yet.
PHP7.48.2Not all PHP applications have been tested by us with PHP 8.2 yet.
MariaDB10.510.11
PostgreSQL1315The required database migration is included with our Bookworm upgrade script.
qBittorrent4.2.54.5.2
Kodi19.120.1not relevant for Raspberry Pi
MPD0.22.60.23.12
Netdata1.29.31.37.1
Mesa graphics drivers20.3.522.3.6
Linux5.106.1relevant for x86_64 platforms only
Debian package versions derived from online database: https://packages.debian.org/bookworm/openssh-server

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

  • Some applications did already drop support for PHP 7.4 respectively Python 3.9, including Nextcloud and TasmoAdmin, which forces us to install older versions on Bullseye systems.
  • Other applications do not support PHP 8.2 yet and hence fail to run or install on Bookworm. ownCloud is an example, further explained below.

1.3 Other notable changes

There are some other changes we want to highlight:

Already since Linux 4.15, the kernel is able to obtain permitted WiFi channels/frequencies, the so called regulatory domains, from the regulatory database, based on a given WiFi country code. Previously, a dedicated user-space tool was needed to pass this information to the kernel: the Central Regulatory Domain Agent (CRDA). Since Debian Bullseye, the provided packages generally allows the use of this feature, and we hence offer the migration away from CRDA with the DietPi v8.14 upgrade. But on Bookworm, the CRDA package is not available at all. This means that systems, using a Linux version below 4.15, are not able to connect to a WiFi access point or provide one, using all locally allowed frequencies, but only a limited subset of shared global ones, which can break WiFi communication completely. This and a bunch of other uses of recent Linux kernel features force us to not provide Bookworm images for certain SBCs anymore, which have no Linux kernel of 4.15 or higher available.
This includes the Sparky SBC, NanoPi M2/T2/Fire2 and NanoPi M3/T3/Fire3 models. We are especially sad for the latter ones, which use a very powerful octa-core SoC, but the involved manufacturers have not managed to add support to mainline Linux or update their own kernel sources, stuck at Linux 4.4, which practically implies an artificially early end-of-life for such hardware.

Since Linux 5.15, an SMB kernel server ksmbd is available, similar to the NFS kernel server nfsd. This provides an alternative to the Samba user-space server, optimised for better performance and lower footprint running right in kernel-space. Debian Bookworm provides the needed user-space tools to manage this new SMB server implementation, and we are excited to implement it into dietpi-software as well.

2. Incompatible software

DietPi offers Debian Bookworm based images since a long time, but we did not provide them prominently on our download page or elsewhere until now. We did systematic tests of all software titles form the dietpi-software catalogue: https://github.com/MichaIng/DietPi/wiki/Debian-Bookworm-testing

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

  • PHP currently cannot be executed on ARMv6 Raspberry Pi models, i.e. Raspberry Pi 1 and Zero (1) variants. On all other SBCs it, and on Raspberry Pi 2 an up, it works fine. A bug report has been filed: https://bugs.launchpad.net/raspbian/+bug/2012833
    This affects all PHP applications: Ampache, O!MPD, Koel, Allo GUI, rTorrent web UI, Aria2 web UI, ownCloud, Nextcloud, Pydio, phpBB, WordPress, FreshRSS, Single File PHP Gallery, Baïkal, RPi Cam Web Interface, LinuxDash, phpSysInfo, Pi-hole, TasmoAdmin and phpMyAdmin.
    So if you (plan to) use any of these applications on an RPi 1 or Zero (1) model, stay with Debian Bullseye for now. For this reason, our download page offers Bullseye images for these models for now. We will inform you once the issue has been solved.

    EDIT: The issue has been solved. Many thanks to Peter Green from Raspbian!
  • Logitech Media Server, since it does not support Perl 5.36 yet
    EDIT: Solved with DietPi v9.0
  • ownCloud, since it does not support PHP 8.x and will probably never do. On Bookworm, one should hence use Nextcloud or the rewritten ownCloud Infinite Scale solution.
  • ympd: We will provide an update with next DietPi release.
    EDIT: Support has been added with DietPi v8.19.
  • RPi Cam Web Interface on ARMv7/ARMv8 images, which depends on the gpac package, which is currently not available on Debian Bookworm: https://packages.debian.org/gpac
  • Domoticz, as the released binaries have been built against an old LibSSL version which is not offered anymore on Debian Bookworm: https://github.com/domoticz/domoticz/issues/5233

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

3. How to apply

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

3.1 DietPi Bookworm images

Bookworm images are provided on our download page, expect Sparky SBC, NanoPi M2/T2/Fire2, NanoPi M3/T3/Fire3 and Raspberry Pi 1 as mentioned above. If you plan to use one of the above incompatible software titles, or want to run Bookworm on Raspberry Pi 1/Zero (1), you can find all our images here: https://dietpi.com/downloads/images/

Install them the same way you do with the current stable Bullseye images, e.g. by following our install instructions: https://dietpi.com/docs/install/

3.2 Upgrade from Bullseye

We wrote a script to upgrade a DietPi Bullseye system to Bookworm, as safe as possible. While flashing a fresh image is generally cleaner and recommended, we know that some of you have setups which are time consuming to replicate on a fresh system. Our script offers to create a backup, does all known needed migrations and adjustments to have your software running on the new Debian as it did before. Run the following one-liner on your console to execute it:

sudo bash < <(curl -sSf 'https://raw.githubusercontent.com/MichaIng/DietPi/master/.meta/dietpi-bookworm-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 again review the output, before continuing with software (config) migrations, which also includes some dietpi-software reinstalls.

When everything is done, the script offers to do a reboot, which we highly recommend. On first login as root user after the reboot, old leftover Bullseye APT packages are automatically removed.
In case that you run a graphical desktop (X11), just open a terminal window and execute a sudo -s to execute this step. After it is finished you can close the terminal window.

In case you use the OpenSSH server, note that the new version shipped with Bookworm has support for the legacy ssh-rsa (RSA/SHA1) key format disabled by default, which affects host keys as well as client keys. SSH clients may hence warn you and ask you to accept the new host key in modern Ed25519 format, and in case you use key authentication, old keys may need to be recreated in Ed25519 (recommended) or ECDSA format. Alternatively, ssh-rsa support can be re-enabled, but we highly recommend to switch to a modern key format instead.

4. Feedback & Support

Feel free to use the comments for short feedback about this article and how Bookworm works for you.

For more detailed test results and if you face issues you face with our upgrade script or Bookworm in general, please use the following issue on our GitHub repository: https://github.com/MichaIng/DietPi/issues/6227

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

Happy hacking!

Debian Bookworm has been released

29 thoughts on “Debian Bookworm has been released

  1. FWIW, a *massive* thank you to MichaIng, Joulinar, et al. DietPi rocks, year after year after year.

    Your in-place update script worked flawlessly, first on a less-critical manual Debian-x64 setup (old Mac Mini Core 2 Duo), then on my main server with Nginx, Nextcloud, Samba, PiHole, etc (RasPi 4 w/ 4G ram and “/” on SSD). Maintaining a personal home server with DietPi is really enjoyable and truly practical this way.

    Again, many thanks.

  2. With this Upgrade-Script you really made MY day, friend !!!!!

    Awesome work ! Can’t thank you enough !!

  3. Quick beginner question: I am starting from sratch with a Raspi 3B+ and would like to exclusively run Pi Hole with Unbound on it. Are there any compatibility issues with Bookworm for PiHole/Unbound you are aware of? I guess not, but I’m just curious.

    Many thanks for all your work on DietPi!!

  4. The armv6 incompatibility with php8.2 is fixed and in the repos now. (Was a build flag config error.)

    Dietpi with bookworm and php running fine over here on some pi zeros.

  5. Just a BIG THANKS! to MichaIng, Joulinar, and the rest of the team. I started loving this master piece: DietPi. I can not thank you enough.

    All the best!

    1. /etc/debian_version is part of the base-files. Package, which seems to not have been upgraded:

      dpkg -l base-files
      

      should show 12.4+deb12u1. If not, run again

      apt update
      apt full-upgrade
      

      and better open an issue on GitHub or in our forum about this, better suited for posting logs.

      1. dpkg -l base-files
        Desired=Unknown/Install/Remove/Purge/Hold
        | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
        |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
        ||/ Name Version Architecture Description
        +++-==============-===============-============-=======================================
        ii base-files 23.8.1-bullseye armhf Armbian base system miscellaneous files

        apt update
        Hit:1 https://deb.debian.org/debian bookworm InRelease
        Hit:2 https://deb.debian.org/debian bookworm-updates InRelease
        Hit:3 https://deb.debian.org/debian-security bookworm-security InRelease
        Hit:4 https://deb.debian.org/debian bookworm-backports InRelease
        Hit:5 https://fi.mirror.armbian.de/apt bookworm InRelease
        Reading package lists… Done
        Building dependency tree… Done
        Reading state information… Done
        All packages are up to date.
        W: https://apt.armbian.com/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

        I’ll shortly post more on https://github.com/MichaIng/DietPi/issues/6227

  6. I just upgraded my PINE64 to bookworm…without a hitch.
    You DietPi guru’s absolutely rock. Fantastic job done well.

    A BIG thanks,
    John

  7. hi,
    thanks a lot for your great work.
    the link to bullseye version of dietpi for orange pi lands on this page. is there any link where the bullseye dietpi version can be found?
    thanks
    best,
    ap

  8. im asking for i made a tutorial for vpn servers that require openvpn-as which is not yet available for bookworm in the official documentation.
    a ftp with the different versions of dietpi would be really great

    1. https://dietpi.com/downloads/images/

      Over half a year after Bookworm release, the account/paid access server solution does still not support it? As user/customer, I would invest some time to request this being done ASAP, instead of keep using outdated distribution versions. I would have expected this done half a year BEFORE Bookworm release (when it was in freeze stages already) :).

  9. Last step – `sudo su -` is a bit faster than SSHing in as root to localhost, and also gets the job done.

    1. Even better: sudo -s

      Did sudo not support own interactive/login flags in the past, or why is sudo su (unnecessarily combining two commands) used all over the place? 😀

        1. Hehe, I think so (regarding old habits). Though, I see this so often that I am wondering whether it has some hidden benefit I am not aware of.

    1. Oh you are right, when sudo is used, it needs to be passed through via STDIN. I missed that when recently updating the command, thanks for the hint (and updated) :)!

Leave a Reply

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

Scroll to top