das tutorial kann man hier runterladen. viel glück und ich hoffe, es bringt euch ein stück weiter ...
RASPBERRY PI ÜBER USB BOOTEN
Jeder, der sich zum ersten Mal mit dem Raspberry Pi beschäftigt und sich diesen zulegt, benutzt SD-Karten zur Speicherung des Betriebssystems und der Daten. Nach einer gewissen Zeit möchte man dann möglicherweise einen schnelleren und/oder größeren Datenspeicher benutzen. Leider kann man den Raspberry Pi 4B jedoch noch nicht ohne SD-Karte betreiben. Eigentlich allerdings ist sie nur zum Booten notwendig, das heißt es wird dementsprechend nur die Boot-Partition der SD-Karte benötigt. Sämtliche andere Betriebssystemdaten wie beispielsweise die Benutzerdaten und die root-Partition, können auch auf einer beliebigen Partition liegen, so natürlich auch auf einem externen Datenspeicher (SSD- oder HDD-Festplatte; jeweils in einem eigenen USB-Gehäuse). Das folgende Tutorial beschreibt, wie man das Betriebssystem auf eine externe Festplatte auslagern kann.
EXTERNE FESTPLATTE FORMATIEREN
Zuerst sollte Raspbian Buster-Full auf den neuesten Stand gebracht werden. Dazu muss folgender Befehl abgesetzt werden :
sudo apt update && sudo apt full-upgrade
Danach muss der Raspberry Pi neu gestartet werden. Dazu folgenden Befehl absetzen :
sudo shutdown -r now
Ist der Raspberry Pi neu gestartet, muss das Programm gparted installiert werden, mit dem man Festplatten partitionieren, also in Bereiche unterteilen kann. Dies geschieht mit folgendem Befehl :
sudo apt install gparted
Nun startet man das Programm VNC Viewer von RealVNC, und startet gparted mit der grafischen Oberfläche. Dazu im Startmenü unter System Tools das Programm mittels Kick auf gparted starten. Ist gparted gestartet, dann im Auswahlfenster oben rechts die zu partitionierende Festplatte auswählen. In meinem Fall ist dies /dev/sda, da ich nur einen externen Datenspeicher mit dem Raspberry Pi über den USB-Port verbunden habe :
Bild: in gparted Festplatte auswählen
Nun in der Menüleiste auf device > Create Partition Table… (2) > new klicken, um eine neue Partitionstabelle zu erstellen.
Bild: Partitionstabelle mittels gparted erzeugen
Im Fenster Create partition table on /dev/sda als Partitionstyp gpt auswählen und mittels Klick auf die Schaltfläche Apply die neue Partitionstabelle nun erstellen. Ist dies geschehen, dann in der Menüleiste auf Partition > new (3) klicken, um eine neue Partition zu erstellen. Dazu sind folgende Einstellungen durchzuführen :
Bild: erste Partition erstellen
-
Partitionstyp : Primäre Partition (1)
-
Größe : 600MiB (2)
-
Name : boot
-
Dateisystem : fat32
-
Label : boot
Diese Einstellungen mit Klick auf die Schaltfläche Add in der Partitionstabelle speichern. Die Einstellungen der zweiten Partition können dem Bild entnommen werden :
Bild: Einstellungen der zweiten Partition
Analog dazu die Einstellungen der dritten Partition :
Bild: Einstellungen der dritten Partition
Um die Festplatte endgültig zu partitionieren, einfach auf den grünen Haken klicken. Dadurch werden die einzelnen Aktionen durchgeführt :
Bild: Partitionen endgültig anlegen
Zuvor wird nochmals gemahnt, dass dadurch sämtliche auf der Festplatte Daten verloren gehen. Da diese leer ist, braucht man sich deswegen keine Sorgen machen.
Bild: Abfrage, ob Aktionen durchgeführt werden sollen
Ein Klick auf die Schaltfläche Apply führt die Aktionen nun endgültig aus. Sind die Aktionen durchgeführt, erscheint die Übersicht der
Festplatte :
Bild: Übersicht der Festplatte
So, die Festplatte ist nun partitioniert und kann nun mit den Daten der SD-Karte beschrieben werden. Zuvor kann gparted geschlossen werden.
DATEN VON SD-KARTE AUF EXTERNEN DATENSPEICHER KOPIEREN
Dazu muss man die sogenannte root-Partition auf einen externen Datenspeicher kopieren. Dabei sind relativ wenige Schritte notwendig, um die existierende root-Partition der SD-Karte auf eine andere Partition zu kopieren, und die Daten der SD-Karte so zu ändern, dass danach nur noch die externe root-Partition benutzt wird. Dieses kann auch die Partition eines USB-Sticks sein.
Nach dieser Umstellung wird die existierende root-Partition auf der SD-Karte nicht mehr genutzt werden. Wichtig ist, dass zum Zeitpunkt dieser Umstellung nur ein externes Speichermedium (Festplatte mit USB-Gehäuse oder USB-Stick) an dem Raspberry Pi angeschlossen ist. Ansonsten kann es vorkommen, dass sich die ursprüngliche Partitionstabelle (nach dem Kopieren) von der aktuellen Partitionstabelle (nach dem Neustart) unterscheiden wird. Der Raspberry Pi würde demzufolge nicht die richtige Datenpartition finden und somit nicht die root-Partition booten können.
Sollte mehr als ein externer Datenspeicher dauerhaft mit dem Raspberry Pi verbunden sein, muss die sogenannte PartitionsUUID als Kennung sowohl in der fstab-Datei als auch in der cmdline.txt-Datei benutzt werden - wie man diese PartitionsUUID-Kennung ermittelt, wird später erklärt. Die Zielplatte muss dann notwendigerweise eine GPT (GUID-Partitionstabelle) als Partitionstabelle benutzen. Ich persönlich ziehe eine PartitionsUUID-Kennung des externen Datenspeichers vor und werde hier deswegen diese Vorgehensweise ausführlich beschreiben :
Man sollte also nun eine SD-Karte mit vorinstalliertem und lauffähigem Betriebssystem zur Hand haben. Die nun folgenden Schritte sind notwendig, um also das Betriebssystem (root-Partition), welche sich auf der SD-Karte befindet, auf einen externen Datenspeicher auszulagern. Diese Schritte können entweder direkt auf dem Raspberry Pi oder mittels SSH-Verbindung (Terminal-Fenster) auf dem Hauptrechner durchgeführt werden :
Als Beispiel in den Befehlen wird die Beispielplatte /dev/sda und die Partition /dev/sda1 genommen und auf dem Raspberry Pi mit angeschlossenem weiteren USB-Platte die Befehle ausgeführt werden. Dazu meldet man sich entweder direkt am Raspberry Pi mit Tastatur und Bildschirm an oder verbindet sich per SSH von einem anderen Rechner im lokalen Netz.
Wichtig :
Zu achten ist auf die Partitionsbezeichnung (sda1, sda2, etc.), je nachdem, wie viele Partitionen angelegt wurden. Ich beschreibe hier den Vorgang mit der Festplatte aus Bild Übersicht der Festplatte.
-
Zur Sicherheit erstellt man mittels Win32Diskimager ein Backup der SD-Karte. Wer sich mit Linux auskennt und die originale cmdline.txt. wie unten beschrieben, sichert, kann immer wieder schnell zur alten Einstellung zurückkehren, wodurch die root-Partition auf der SD-Karte samt des darauf befindlichen Betriebssystems gebootet wird.
-
Erstellen einer Partition auf dem externen Datenspeicher (USB-Stick oder externe Festplatte in einem USB-Gehäuse) :
sudo gdisk /dev/sda
-
Formatieren der neuen Partition auf dem externen Datenspeicher mit dem Dateisystem ext4 :
sudo umount /dev/sda2
sudo umount /dev/sda2
sudo mkfs.ext4 -m0 /dev/sda2
sudo partprobe
-
Kopieren der root-Partition der SD-Karte auf den externen Datenspeicher :
sudo mount /dev/sda2 /mnt
sudo rsync -aHAXx / /mnt
-
Ermittlung der PartitionsUUID-Kennung des externen Datenspeichers :
sudo blkid |grep "sda2" |grep -o PARTUUID=".*"
PARTUUID=“a315cd20-87d1-415c-9dcf-631feabbb916“
-
Ändern der /mnt/etc/fstab auf dem externen Datenspeicher mittels nano, wobei anstelle von [UUID-Kennung] die in Schritt 5 ermittelte Kennungszahl (z.B: a315cd20-87d1-415c-9dcf-631feabbb916) verwendet werden muss :
sudo nano /mnt/etc/fstab
ändern von :
/PARTUUID=97709164-01
/boot
vfat
defaults
0
2
/PARTUUID=97709164-02
/
ext4
defaults, noatime
0
1
nach :
/PARTUUID=97709164-01
/boot
vfat
defaults
0
2
/PARTUUID=[UUID-Kennung]
/
ext4
defaults, noatime
0
1
-
Anlegen einer Sicherung der originalen /boot/cmdline.txt
sudo cp /boot/cmdline.txt /boot/cmdline.txt.sd
Damit kann man jederzeit wieder die root-Partition der SD-Karte benutzen, indem man die neue /boot/cmdline.txt durch die gesicherte /boot/cmdline.txt.sd-Originaldatei ersetzt :
sudo cp /boot/cmdline.txt.sd /boot/cmdline.txt
-
Ändern der Datei /boot/cmdline.txt mittels nano, wobei auch hier wiederum anstelle von [UUID-Kennung] die in Schritt 5 ermittelte Kennungszahl (z.B: a315cd20-87d1-415c-9dcf-631feabbb916) verwendet werden muss :
von :
console=serial0,115200 console=tty1 root=PARTUUID=97709164-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignor$.ignore-serial-consoles
nach :
console=serial0,115200 console=tty1 root=PARTUUID=[UUID-Kennung] rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignor$.ignore-serial-consoles
-
Anlegen einer Sicherung der geänderten /boot/cmdline.txt
sudo cp /boot/cmdline.txt /boot/cmdline.txt.sda
Somit hat man nun beide Versionen gesichert (ohne und mit externem Datenspeicher), und kann schnell mal hin- und herschalten ohne dafür die gerade aktuelle cmdline.txt sichern zu müssen (!) :
sudo cp /boot/cmdline.txt /boot/cmdline.txt.sda
-
Nun den Raspberry Pi booten, mittels folgendem Befehl :
sudo shutdown -r now