User Tools

Site Tools


sbcs:raspberry_pi:45_-_3_wege_zum_raspberry_pi_usb_booten

USB booten (bis Pi 4)

In diesem Video zeige ich euch 3 mögliche Wege wie man die unterschiedlichen Raspberry Pi Modelle von USB booten lassen kann. Nicht alle Raspberry Pi unterstützen alle Varianten und manche Pis bedürfen auch einer kleinen Vorbereitung.

YouTube Video #45


Grundlagen

Medien vorbereiten

USB Medien werden ganz normal mit dem Raspberry Pi Imager vorbereitet. Medium anstecken und genauso beschreiben als wäre eine eine SD-Karte.

Raspberry Pi 4 Update

Hinweis
Dieser Schritt gilt nur für den Raspberry Pi 4 !!
  • sudo apt update -y && sudo apt upgrade -y
  • sudo rpi-eeprom-update
  • Update einleiten mittels
    sudo rpi-eeprom-update -a
  • sudo reboot

Raspberry Pi 3 vorbereiten

Hinweis 1
Dieser Schritt gilt nur für den Raspberry Pi 3 !!
Hinweis 2
Der Eintrag in der config.txt kann enthalten bleiben. Der muss nicht extra gelöscht werden.
  • Die Datei config.txt erweitern
    sudo nano /boot/config.txt
  • Am Ende bei [All] folgendes ergänzen program_usb_boot_mode=1
  • Datei speichern und den Pi neu booten sudo reboot
  • Nach dem Booten folgenden Befehl ausführen: vcgencmd otp_dump | grep 17:
    • Wenn im Ergebnis 17:3020000a hinter dem : eine 3 steht ist der Raspberry Pi 3 für das Booten von USB vorbereitet.
    • Wenn im Ergebnis eine 1 hinter dem : steht den Vorgang wiederholen.

Variante 1 - Einfach das USB Gerät verwenden

Hinweis 1
Diese Variante funktioniert nur mit dem Raspberry Pi 4, Pi 3 und Zero 2.
Hinweis 2
Funktioniert das Booten nicht, bitte Raspberry Pi 4 Update bzw. Raspberry Pi 3 vorbereiten berücksichtigen !
Hinweis 3
Der Raspberry Pi 3 kann nicht von allen USB Medien booten. Manche sind einfach inkompatibel. Da hilft (leider) nur Testen.
  • System wie bei der SD Karte auf das USB Medium bringen (mit dem Raspberry Pi Imager)
  • USB Medium in den PI stecken
  • booten

Variante 2 - USB Medium + Boot SD

Bei dieser Variante wird das Root Dateisystem auf das USB Medium verschoben. Diese Variante sollte mit allen Raspberry Pis kompatibel sein.

Hinweis
SD-Karte und USB Medium bleiben immer (!) im Pi.
  • SD Karte mit einem OS normal bespielen
    • Tipp: Eine kleine SD Karte nehmen, dann geht das Klonen später schneller :-)
  • USB Stick formatieren (NTFS / FAT / egal)
  • File System Check durchführen auf der SD Karte
    • sudo touch /forcefsck
    • sudo reboot
  • PARTUUID des root Filesystems ermitteln
    • cat /boot/cmdline.txt
  • Zugehöriges Device ermitteln
    • sudo blkid
  • Partition auf den USB Stick Clonen
    • sudo apt install dcfldd
    • lsblk
    • sudo dcfldd if=/dev/mmcblk0p2 of=/dev/sda1 conv=noerror,sync
    • dauert etwas …
  • Zielpartition auf dem USB Stick prüfen
    • sudo umount /dev/sda1
    • sudo e2fsck -f /dev/sda1
  • Neustart
    sudo reboot
  • Partitionsgröße anpassen
    • sudo resize2fs /dev/sda1
  • Anpassung /boot/cmdline.txt
    • sudo blkid → PARTUUID suchen für sda1
    • sudo nano /boot/cmfline.txt → root=PARTUUID=xxxxx hier ersetzen
    • sudo reboot
  • Anpasung /etc/fstab
    • PARTUUID für / (root) Partition ersetzen
    • PARTUUID wie im vorherigen Schritt von sda1 !
    • sudo reboot
  • Swap erweitern wenn nötig
    • Swap Größe ermitteln
      swapon -s
    • sudo nano /etc/dphys-swapfile
    • #CONF_SWAPSOZE-100
    • CONF_SWAPFACTOR=2
  • sudo reboot

Variante 3 - USB Medium + bootcode.bin auf SD

Diese Variante funktioniert nur mit den älteren Pis - also Pi 2, Pi 1 und Pi Zero 1. Die Umsetzung ist denkbar einfach …

Hinweis 3
SD-Karte und USB Medium bleiben immer (!) im Pi.
  • Ein USB Medium mit dem Raspberry Pi Imager vorbereiten. Genauso als würde man eine SD-Karte vorbereiten.
  • Eine SD Karte mit FAT32 formatieren.
  • Die Datei bootcode.bin auf die SD-Karte kopieren.
  • Die SD Karte auch in den Pi stecken und booten.
  • Der Bootvorgang kann hier doch etwas länger dauern, also nicht gleich aufgeben :-)
sbcs/raspberry_pi/45_-_3_wege_zum_raspberry_pi_usb_booten.txt · Last modified: 2024/01/24 10:11 by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki