04.05.2024 - Erste Veröffentlichung
Hinweis:
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.
Info:
Diese Anleitung setzt ein fertig konfiguriertes Raspberry Pi OS voraus.
Diese Konfiguration funktioniert nur auf der Pi 4 Serie (4B, 400, CM4 und dessen Varianten) und dem Pi 5.
Diese Anleitung setzt ein fertig konfiguriertes Raspberry Pi OS voraus.
Diese Konfiguration funktioniert nur auf der Pi 4 Serie (4B, 400, CM4 und dessen Varianten) und dem Pi 5.
Inhaltsverzeichnis:
(1) Vorwort
(2) System aktualisieren
(3) Bootloader prüfen/aktualisieren
(4) Bootreihenfolge ändern
(1) Vorwort
Wer ab und zu von einem anderen Medium booten will/muss, konnte das bisher entweder über die GUI (grafische Oberfläche) in den Einstellungen erledigen oder wer keine GUI nutze und das Terminal (also "headless") bevorzugt (z.B. in Serverumgebungen), nahm diese Einstellung einfach über die Konfiguration per
sudo raspi-config
vor.Dies ist quasi die selbe Konfigurationsmöglichkeit wie unter der GUI, hier aber eben im Textmodus auf Kommandozeilenebene (Terminal).
Auch hier muss man sich dann durch die Menüs zum passenden Eintrag "durcharbeiten".
Hier geht es nun rein im Textmodus des Terminals weiter, das man per Login z.B. mit Putty oder den SSH Befehlen der jeweiligen Host-Betriebssystemen erreicht.
Es gibt seit einiger Zeit aber auch eine direkte Methode im Terminal, nämlich das bereits installierte Paket
rpi-eeprom-update
.Damit können wir gezielt und direkt die Bootreihenfolge verändern.
(2) System aktualisieren
Doch bevor wir hier etwas ändern, sollten wir sicher gehen, dass das System auf aktuellem Stand läuft.
Hier hat sich folgende Befehlskombination bewährt:
Code: Alles auswählen
sudo apt update && sudo apt full-upgrade -y
Wem das zu heikel ist, kann statt
full-upgrade
auch nur upgrade
verwenden, dabei wird nicht alles auf neusten Stand gehoben (die Unterschiede der Update-/Upgrade findet man in den man pages
oder grob auch in meiner Installationsanleitung vom Raspberry Pi OS).Sollten hier sehr viele Updates/Upgrades durchgegangen oder sogar der Reboot vom System vorgeschlagen worden sein, holen wir den einfach nach:
Code: Alles auswählen
sudo reboot
(3) Bootloader prüfen/aktualisieren
Nach dem erneuten Einloggen im Terminal prüfen wir die Version des Bootloaders:
Code: Alles auswählen
vcgencmd bootloader_version
Code: Alles auswählen
pi@raspberrypi:~ $ vcgencmd bootloader_version
2024/04/20 11:53:30
version (hier steht eine lange kryptische Zeichenkombination) (release)
timestamp 1713610410
update-time 1714573472
capabilities 0x0000007f
Dabei sehen wir aber noch nicht, ab das wirklich die neuste Version ist.
Dies erreichen wir nun mit dem eigentlichen Befehl:
Code: Alles auswählen
sudo rpi-eeprom-update
Code: Alles auswählen
BOOTLOADER: up to date
CURRENT: Sa 20. Apr 10:53:30 UTC 2024 (1713610410)
LATEST: Sa 20. Apr 10:53:30 UTC 2024 (1713610410)
RELEASE: latest (/lib/firmware/raspberrypi/bootloader-2712/latest)
Use raspi-config to change the release.
Am Eintrag
RELEASE: latest
sehen wir eine Option der Installationsquelle.Die letzte Zeile der obigen Ausgabe zeigt gleich, wo man die Quelle ändern kann, nämlich über
raspi-config
.Dort stehen zur Auswahl:
Latest
und Default
Da
Latest
öfter aktualisiert wird, würde ich diese Option bevorzugen.Wer seltener am System Änderungen vornimmt und nichts vermisst und alles funktioniert, kann natürlich bei
Default
bleiben oder gar dahin wechseln.Viele neue Optionen sind bei
Latest
dagegen schneller erhältlich.Aber auch für diese Einstellung müssen wir nicht in
raspi-config
, denn auch hier können wir die Option quasi direkt ändern, indem wir die entsprechende Konfig-Datei anpassen (was anderes macht raspi-config
auch nicht).Dazu öffnen wir diese Datei:
Code: Alles auswählen
sudo nano /etc/default/rpi-eeprom-update
Code: Alles auswählen
FIRMWARE_RELEASE_STATUS="latest"
BOOTLOADER: up to date
eher sowas wie BOOTLOADER: **UPDATE AVAILABLE**
stehen, dann kann das Update mit diesem Befehl durchgeführt werden:Code: Alles auswählen
sudo rpi-eeprom-update -a
-h
(für help) abgerufen werden.Ist das Update durchgelaufen, sollte neu gestartet und dann neu eingeloggt werden:
Code: Alles auswählen
sudo reboot
Nach dem Reboot prüfen wir wieder die Version mit dem bereits oben genutzten Befehl:
Code: Alles auswählen
vcgencmd bootloader_version
Nach einem erfolgreichen Update sollte eben ein neueres Datum ausgegeben werden.
(4) Bootreihenfolge ändern
Wenn wir nun sicher gehen können, dass der gewollte und konfigurierte Bootloader aktuell ist, machen wir uns an die eigentliche Konfiguration der Bootreihenfolge mit dem folgenden Befehl:
Code: Alles auswählen
sudo rpi-eeprom-config
Code: Alles auswählen
pi@raspberrypi:~ $ sudo rpi-eeprom-config
[all]
BOOT_UART=1
POWER_OFF_ON_HALT=0
BOOT_ORDER=0xf146
Standard ist normalerweise der Wert
0xf41
, bei mir steht was anderes, da ich bereits an der Bootreihenfolge "herumgespielt" (und getestet) habe.Der Standardwert
0xf41
bedeutet also:Code: Alles auswählen
1 = Prüfe auf SD-Karte
4 = Prüfe auf USB-Geräte
f = Beginne von vorne
(In der Regel deuten die beiden Zeichen
0x
am Anfang darauf hin, dass es sich um eine hexadezimale Zahlenangabe handelt.0-9, a-f, dann wieder von vorne)
Hier die Liste der einzelnen Ziffern (aus der Tabelle der Foundation) / frei übersetzt / ohne Gewähr:
Code: Alles auswählen
0 = SD CARD DETECT / Prüfe auf SD-Karte und warte, bis SD-Kartenstatus eine Änderung erkannt hat (veraltet seit f (Restart))
1 = SD CARD / Prüfe auf SD-Karte (oder eMMC beim Compute Module 4)
2 = NETWORK / Netzwerkboot
3 = RPIBOOT / USB-Geräte-Boot
4 = USB-MSD / USB-Massenspeicher-Boot (also USB-Sticks oder Festplatten per Adapter)
5 = BCM-USB-MSD / USB-2.0-Boot vom USB-Typ-C-Sockel (CM4: USB-Type-A-Sockel beim CM4IO-Board), nicht am Pi 5 verfügbar
6 = NVME / nur CM4 und Pi 5: Booten von einer NVMe-SSD verbunden über den PCIe-Anschluss
7 = HTTP / Booten über HTTP per Ethernet, um den Raspberry Pi mit dem eingebetteten Raspberry Pi Imager zu starten
e = STOP / Stoppen und Fehlermuster anzeigen / Um diesen Zustand zu verlassen, ist ein Aus- und Wiedereinschalten erforderlich
f = RESTART / wieder von vorne beginnen (Schleife)
Hier die die Originalseite für alle Infos: Bootloader Konfiguration
Bei meinem Code
0xf146
bedeuten die Zeichen also folgende Bootreihenfolge:Erst nach einem per PCIe angebundenen NVMe-Speicher suchen (6), dann nach einem USB Speicher (4) und zuletzt nach einer SD-Karte (1).
Sind alle drei Funktionen nicht in bootbarerer Form vorhanden, gehe von vorne wieder alle angegebenen Methoden durch (f).
Um nun diese Reihenfolge zu ändern, geben wir den folgenden Befehl ein:
Code: Alles auswählen
sudo -E rpi-eeprom-config --edit
boot.conf
normalerweise mit dem Editor nano
direkt geöffnet:Code: Alles auswählen
[all]
BOOT_UART=1
POWER_OFF_ON_HALT=0
BOOT_ORDER=0xf146
BOOT_ORDER=0xf41
).Verlässt man den Editor (
nano
per <STRG><X>
), wird der Inhalt an die entsprechende Konfiguration weiter gegeben und aktualisiert, auch wenn nichts geändert wurde.Es folgt dann die gewünschte Anpassung und eine längere Ausgabe mit mehreren Informationen.
Ganz am Ende steht dann (bei Erfolg) in der letzten Zeile:
UPDATE SUCCESSFUL
Danach kann die neue Konfiguration mit einem Reboot getestet/genutzt werden.
Sollte hier etwas schief gelaufen sein, empfiehlt die vorher genannte Ausgabe Folgendes:
Code: Alles auswählen
If a problem occurs then the Raspberry Pi Imager may be used to create a
bootloader rescue SD card image which restores the default bootloader image.
Frei übersetzt:
Wenn ein Problem auftritt, kann der Raspberry Pi Imager verwendet werden, um ein
Bootloader-Rettungs-SD-Karten-Image zu erstellen, welches das Standard-Bootloader-Image wiederherstellt.
Fortsetzungen, Korrekturen, Änderungen möglich ....
Copyright © 2024 by RasPiFun.de