Nachricht
  • EU e-Privacy Directive

    Diese Webseie nutzt Cookies zum managen der Authentication, Navigation, und weiterer Funktionen. Beim Benutzen unserer Webseite stimmen Sie zu, das wir Cookies nutzen und auf Ihrem Computer speichern.

    e-Privacy Directive Documente ansehen

    Sie haben Cookies abgeleht. Diese Entscheidung kann rckgngig gemacht werden.

Raspberry von externem Medium booten

Bekannterweise brauchte ein Raspberry zum booten immer seine SD Karte. Es war zwar möglich, während des bootens durch umschreiben der /boot/cmdline.text von Stick oder Externer Platte zubooten, Trotzdem wurde immer die SD karte zum anbooten gebraucht.

Gerade auch die neueren PI wie der PI3 eigenen sich gut für Datenbank anwendungen, wenn da nicht die krux mit der Lebensdauer von SD Karten wäre. jede Flash Speicherzelle hat nur eine begrenzte Anzahl von Schreibvorgängen, nach diesen ist die Karte hin. Und gerade bei Schreibintensiven Anwendungen wurde immer wieder gerne von defekten SD karten berichtet

Da bei mir der PI3 als Anwendung IO-Broker bekommen wird inkl der Archivierung von Daten, fiel die Überlegung natürlich schon auf eine kleine USB Platte. Bei mir auch in dieser beschreibung kam das PI-Drive von WD zum EInsatz, jene kleine 314GB Platte, die auf den PI zugeschnitten ist.

Es fehlte aber noch die Möglichkeit des PI selber, von Extern zu booten, dieses haben Enwickler der Raspberry Pi Foundation anhand eines neuen Bootloaders  nachgerüstet, der Raspberry Pi bootet mit dem gerade im Entwicklungsstadium befindenden Bootloader nun endlich von einer Festplatte oder einem USB-Laufwerk / Stick.

Leider ist die Funktion nur für den neuesten Raspberry Pi 3 verfügbar, der Bootloader ist noch im Beta Stadium und verträgt sich leider nicht mit allen SSDs, Festplatten oder USB-Sticks. geteste bei mir mit WD PI-Drive,  laut Doku soll es auch gehen mit: Sandisk Cruzer Fit 16GB, Sandisk Cruzer Blade 16 GB, Samsung 32GB USB 3.0 Drive und Meco 16GB USB 3.0

Was ist neu ?

Auf den BCM 2835, 6 und 7 Chip befindet sich ein 32kb Speicher, dieser ermöglicht das booten. Das stückchen Code sucht die Datei bootecode.bin auf der SD-Karte, wird dort nichts gefunden wird in Abhängigkeit zum GPIO Status der Pins 22-26 bzw. 39-43 versucht von einer zweiten SD-Karten, eine NAND Speicher, dem SPI und dann dem USB Port die bootcode.bin zu laden. Das ganze funktioniert auch mit einem Angeschlossenen USB HUB.

Raspberry von USB Platte / Stick booten

1. Vorbereitung

Zur Vorbereitung und Installation brauchen wir immer noch eine SD Karte. Es folgt die übliche vorgehensweise: Aktuelles Image von RaspberryPi.org Aktuelles Rasbian

Das Image mittels Win32DiskImager auf die SD karte schreiben. Raspi booten und Grundinstallation durchführen. Dann via Konsole oder SSH update des PI über

Pi Update

View source
  1. sudo apt-get update && sudo apt-get -y upgrade

Der dafür benötigte Bootloader gibts bis jetzt nur als beta-Firmware. Wobei ich sagen muss, bei mir funktionierte diese Umstellung auf Anhieb und läuft stable.

bata Firmware

View source
  1. sudo BRANCH=next rpi-update
  2. sudo reboot

der USB Boot Mode muss nun in der config.txt des RaspPi aktiviert werden gefolgt von einem Reboot

USB Bootmode aktivieren

View source
  1. echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
  2. sudo reboot

Es muss nun überprüft werden, ob die Programmierung des Boot Mode im “One Time Programmable” Speicher des SoC geklappt hat. Hierzu lesen wir den Speicher mit

Test Bootcode

View source
  1. vcgencmd otp_dump | grep 17:

Wir sollten als Ausgabe 17:3020000a erhalten, bei Ausgabe von 17:1020000a hat es nicht funktioniert.

Wenn alles glattgegangen ist, gehts nun weiter. Die USB Platte wird angeschlossen. der Befehl

Zeige Laufwerk

View source
  1. sudo fdisk -l

sollte nun als ausgabe /dev/sda bringen, das heisst, die angeschlossene USB Platte wird als /dev/sda erkannt.