====== 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 ===== {{youtube>5S7VL8tb-fc?half}} \\ ===== 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:**3**020000a 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 [[sbcs:raspberry_pi:45_-_3_wege_zum_raspberry_pi_usb_booten#raspberry_pi_4_update|Raspberry Pi 4 Update]] bzw. [[sbcs:raspberry_pi:45_-_3_wege_zum_raspberry_pi_usb_booten#raspberry_pi_3_vorbereiten|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'' \\ {{youtube:pasted:20230409-142150.png}} * Zugehöriges Device ermitteln * ''sudo blkid'' \\ {{youtube:pasted:20230409-142215.png}} * 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. * https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin * Die SD Karte auch in den Pi stecken und booten. * Der Bootvorgang kann hier doch etwas länger dauern, also nicht gleich aufgeben :-) ===== Links ===== * Boot sequence \\ https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#boot-sequence * Raspberry Pi 3 Modell B für USB Boot vorbereiten \\ https://www.dahlen.org/2018/03/18/raspberry-pi-3-modell-b-fuer-usb-boot-vorbereiten/ * Pi 1, 2, Zero von USB Booten \\ https://wiki.volkszaehler.org/howto/raspberry_pi_mit_externer_usb_festplatte_betreiben \\ https://github.com/raspberrypi/documentation/blob/develop/documentation/asciidoc/computers/raspberry-pi/bootmodes.adoc \\ https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin * Memory Card Speed Classes \\ https://www.kingston.com/de/blog/personal-storage/memory-card-speed-classes * SD-Karten Unterschiede: Symbole, Typ & Klasse \\ https://www.giga.de/artikel/sd-karten-faq-typ-klasse-groesse/ * EEPROM Update für den Raspberry Pi 4 \\ https://www.blattertech.ch/2022/04/eeprom-update-fuer-den-raspberry-pi-4/