Bullseye -> Bookworm :: /boot -> /boot/firmware :: Adaptations


Some time back I upgraded from ‘bullseye’ to ‘bookworm’ using the official instructions:

Everything worked fine (just one original APT source had to be manually changed to ‘bookworm’ after the upgrade).

A few years back, I switched to the latest kernels via ‘rpi-update’ for some reason I currently cannot recall.^^ However, I never experienced any issues besides very rarely, an update broke the login on the GUI which could be easily fixed by downgrading to the previous kernel in use and then wait for a newer release.

Latest FW_REV I used without any issues was 6f1dcc758829cfd56d7c2f16513aaefa876902b2 (a 6.1.54-v8+ release) and I updated to current FW_REV d1ba55dafdbd33cfb938bca7ec325aafc1190596 (6.1.61-v8+). The issue is that the FW_REVs that added RPi5 support depend on the location /boot/firmware rather than /boot, which was carried on from the old ‘bullseye’ installation. So I got an error message concerning raspi-firmware and rpi-eeprom. The solution was found through Raspi-Firmware Update nach bookworm Update [gelöst] which indicates to create the folder /boot/firmware, change its location from /boot to /boot/firmware in /etc/fstab and then reboot, so that the new folder is being used.

Afterwards, creation of the following symbolics links in folder /boot was required:

sudo ln -s firmware/cmdline.txt ./cmdline.txt
sudo ln -s firmware/config.txt ./config.txt
sudo ln -s firmware/overlays ./overlays

And then ‘rpi-update’ ran through without any error messages.

While everything (else) seems to work, problem remaining is that DietPi (using v8.24.0 on RPi4) still relies on the /boot folder, so I created some further symbolic links to get rid of a few more error messages. That is the current state in /boot:

lrwxrwxrwx 1 root root 20 14. Nov 02:16 cmdline.txt → firmware/cmdline.txt
lrwxrwxrwx 1 root root 19 14. Nov 02:16 config.txt → firmware/config.txt
drwxr-xr-x 3 root root 4096 14. Nov 11:17 dietpi
lrwxrwxrwx 1 root root 19 14. Nov 10:45 dietpi.txt → firmware/dietpi.txt
drwxr-xr-x 5 root root 16384 1. Jan 1970 firmware
lrwxrwxrwx 1 root root 17 14. Nov 02:16 overlays → firmware/overlays

And in the manually created folders /boot/dietpi:

lrwxrwxrwx 1 root root 34 14. Nov 02:34 dietpi-login → /boot/firmware/dietpi/dietpi-login

…and in /boot/dietpi/func:

lrwxrwxrwx 1 root root 40 14. Nov 02:37 dietpi-banner → /boot/firmware/dietpi/func/dietpi-banner
lrwxrwxrwx 1 root root 41 14. Nov 02:32 dietpi-globals → /boot/firmware/dietpi/func/dietpi-globals

Obviously that did not fix a lot, so I am kindly asking for help to get things back to smooth operations; while maintaining the new location /boot/firmware.

Just a few related errors which I could spot are on login via ssh:

And following the information via the DietPi login screen on terminal:

/boot/dietpi/func/dietpi-banner: Zeile 63: ((: == 20 : Syntaxfehler: Operator erwartet. (Fehlerverursachendes Zeichen ist "== 20 ").

[translation] line 63: ((: == 20 : syntax error: operator expected. (error-causing character is “== 20”).

Of course, all the commands like ‘dietpi-update’ cannot be found as they also refer to /boot.

Thank you for your help!

Best regards

we are aware on this change introduced with RPi5

Actually, we are working on a migration method from old to new file system layout. Until this, you need to stay with an older kernel version not depending on this change.

1 Like

Alright. Thank you very much for your quick reply!

I reverted my changes, returned to FW_REV 6f1dcc758829cfd56d7c2f16513aaefa876902b2 (6.1.54-v8+) and I will wait patiently. :slight_smile:

BTW: RPI developer removed dependency between packages and workaround is not needed anymore. Package raspi-firmware is not configured yet · Issue #6747 · MichaIng/DietPi · GitHub