RPi 4 unterstützt derzeit kein komplettes Booten von USB-Geräten. Möglich ist jedoch, dass die Boot-Partition auf der SD-Card liegt, das System auf einem USB-Gerät.
- SD-Karte flashen
- USB-Laufwerk flashen
Zum Flashen kann zum Beispiel Etcher verwendet werden.
sudo blkid
Wenn es unklar sein sollte, welche Ausgabe für das USB-Laufwerk steht, einfach Laufwerk nochmals entfernen und blkid
erneut ausführen.
$ sudo blkid
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="5203-DB74" TYPE="vfat" PARTUUID="6c586e13-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="2ab3f8e1-7dc6-43f5-b0db-dd5759d51d4e" TYPE="ext4" PARTUUID="6c586e13-02"
/dev/mmcblk0: PTUUID="6c586e13" PTTYPE="dos"
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="4BBD-D3E7" TYPE="vfat" PARTUUID="738a4d67-01"
/dev/sda2: LABEL="rootfs" UUID="45e99191-771b-4e12-a526-0779148892cb" TYPE="ext4" PARTUUID="738a4d67-02"
In der Ausgabe nach rootfs suchen und aus dieser Zeile den Wert unter PARTUUID (hier: 738a4d67-02
) kopieren.
/dev/sda2: LABEL="rootfs" UUID="45e99191-771b-4e12-a526-0779148892cb" TYPE="ext4" PARTUUID="738a4d67-02"
Zuerst die cmdline.txt
sichern:
sudo cp /boot/cmdline.txt /boot/cmdline.txt.bak
Anschliessend berabeiten
sudo vi /boot/cmdline.txt
Dort wird die UUID der SD Karte durch die UUID des USB-Laufwerks ersetzt.
sudo reboot
Anschließend wird das USB-Laufwerk als Systemlaufwerk verwendet und der RPi ist nicht mehr über SSH zu erreichen. Stattdessen muss mittels Monitor, Tastatur und Maus das System neu eingerichtet werden.
Auf der SD Karte und auf der SSD ist nun ein boot Verzeichnis. Das macht eigentlich nichts - aber durch Updates usw. könnte es sein, dass das System hier durcheinander kommt. Um dies zu verhindern und um es sauber anzuschliessen, wird nun noch die fstab
geändert.
lsblk -o name,label,partuuid
Aus der Ausgabe wird die PARTUUID (hier: ea7d04d6-01
) der SD-Karte unter dem boot Label kopiert.
$ lsblk -o name,label,partuuid
NAME LABEL PARTUUID
sda
├─sda1 boot 97709164-01
└─sda2 rootfs 97709164-02
mmcblk0
├─mmcblk0p1 boot ea7d04d6-01
└─mmcblk0p2 rootfs ea7d04d6-02
Dieser Wert wird in die fstab in der Zeile eingetragen, in der auch /boot steht. Dafür wird lediglich die bereits bestehende UUID ersetzt.
sudo vi /etc/fstab