Bei einem Upgrade im Januar 2024 passierte bei Raspberry Pi OS 5 eine kleine, aber wichtige Änderung: Es wurde die Konfigurationsdatei config.txt verschoben.
config.txt
Die Datei /boot/config.txt
diente immer schon zur Konfiguration des Bootvorgangs von Raspberry Pi OS und war seit längerem ein Link auf die eigentliche Datei unter /boot/firmware/config.txt
Ich zeige dir das mal anhand eines Raspberry Pi 5 mit Raspberry Pi OS 5
Alter Stand
So sieht das ganze vor dem Upgrade aus:
Durch den symbolischen Link konntest du /boot/firmware/config
.txt auch unter dem Namen /boot/config.txt
ansprechen.
Upgrade
Jetzt führe ich auf dem Raspberry Pi das Upgrade durch und starte ihn danach neu.
sudo apt update && sudo apt full-upgrade -y
sudo apt autoremove
sudo reboot
Nach dem Prozedere sieht die Situation so aus:
Der Link von /boot/cónfig.txt ist jetzt verschwunden. In der Datei steht jetzt ein Warnhinweis:
Der Warnhinweis deutet darauf hin, dass auch diese Datei über kurz oder lang gelöscht werden wird. Du solltest deine Konfiguration nicht mehr dort vornehmen sondern immer /boot/firmware/config.txt benutzen.
Grund für das Update
Der Link war immer nur aus Gründen der Abwärtskompatibilität vorhanden. Allerdings wurde er nicht von allen Programmen immer richtig aufgelöst (/usr/bin/sed
ist so ein Kandidat). Ich habe nur selten Probleme damit gehabt. Irgendwann musste diese Altlast entfernt werden.
Problem
Es gibt durchaus Skripte und Programme, die aus /boot/config.txt
lesen und den alten Link passend aufgelöst haben. Diese funktionieren jetzt nicht mehr richtig, da die Werte, die sie suchen, in der Datei mit Warnhinweis fehlen. Du könntest übergangsweise den Link mit sudo ln -s /boot/firmware/config.txt /boot/config.txt
wieder setzen. Davon rate ich allerdings ab, da dies das Problem nur in die Zukunft verschiebt. Deine eignen Skripts solltest du schnellstmöglich anpassen, dass sie das Ziel des ehemaligen Links anzusprechen.
Für eigene Scripts gebe ich dir den Ratschlag, Dateinamen immer mit realpath
zu behandeln, dies liefert dir den Dateinamen hinter einem Link zurück. Wenn du das bei allen Dateizugriffen in deinen Skripts machst, bist du zukunftssicher.
Fazit
Ich gebe zu, ich habe den Link von /boot/config.txt überhaupt nie bewusst wahrgenommen. Irgendwann müssen solche Altlasten entfernt werden. Leider geschah dies hier ohne große Vorwarnung. Auch wenn einige darüber meckern und das als Fehler ansehen, ich vermute, die config.txt bleibt verschoben.
Alles hier gesagte, gilt auch für /boot/cmdline.txt