Pi4 von SSD starten

Erstellt: 2020-03-14 | 🙂 | Änderungsstand: 2020-08-17

17.08.2020 Informationen hinzugefügt (*1 und *2).

Raspi4 von SSD booten, allerdings mit der SD-Card als Booterkennung.

Hat alles letztendlich soweit funktioniert, sollte man beachten, dass dann der Startvorgang nur noch mit der SD-Card UND der SSD funktioniert *1. Lässt man eines weg, geht nichts. Der Vorteil hierbei liegt auf der Hand. Da die SD-Card nur noch zum „Lesen“ der Booterkennung verwendet wird, muss man sich eigentlich keine Gedanken mehr machen, dass diese irgendwann ausgetauscht werden muss. Und das Backup der SSD sollte ab jetzt auch ein Kinderspiel sein, da man diese einfach am USB abziehen kann und am Rechner das Backup erledigt oder man verwendet einfach rsync am Raspi. Da muss man einfach nicht mehr auf die Bootpartition achten, da diese getrennt auf der SD-Card liegt. Weltklasse 🙂 . Beachtet aber auch, dass zusätzlich noch die Datenplatte benötigt wird, da mit dem anschließendem Installieren des OMV5 die SSD komplett als Systemplatte gilt *2.

*1) Mittlerweile sollte das direkte USB-Boot funktionieren. Bei mir gibt es allerdings Probleme, wenn ich eine SSD ohne extra Spannungsversorgung benutze. Deshalb bleibe ich immer noch bei der Version aus diesem Guide. Zum Glück verwende ich „nur“ zwei Raspi4 im produktiven Umfeld. Einmal nur mit Pihole, als zweiter eingetragener DNS-Server, falls Adguard mal ausfällt und einmal OMV5, nach diesem Guide eingerichtet. Der Pihole läuft seit Monaten problemlos mit einer kleinen SD-Card. Die restlichen dienen als Versuchsmaschinen, bei denen es mir relativ egal ist, wovon die booten.

*2) Da gibt es auch mittlerweile eine Erweiterung, die den restlichen Speicherplatz sinnvoll verwenden kann. Installiert einfach die Erweiterung „openmediavault-sharerootfs 5.x.x.x-x“. Somit ist es möglich, einen Freigabeordner zu erstellen, auch wenn keine externe Platte eingebunden wurde. Es wird quasi der restliche Speicherplatz des Systemmediums, der von Openmediavault nicht benötigt wird, freigegeben. Natürlich sollte man hier den Speicherplatz etwas im Auge behalten.

Folgender Aufwand ist schon etwas enorm. Ich habe viele Stunden gebraucht, um mir die nötigen Informationen zurecht zulegen, da fast jeder Guide diesbezüglich unvollständige Informationen hatte. Ich habe meine Hauptinfos aus der unten genannten Quelle bezogen und an das Raspian-Buster-Lite angepasst, natürlich mit dem Gedanken, anschließend OMV5 zu installieren. Hier das Ergebnis.

Raspian Buster Lite herunterladen und mit balenaEtcher auf SD-Card bringen.

Dann die Raspian Buster Lite Datei mit balenaEtcher auf der SSD bringen.

Die SD-Card in den Raspi4 rein und starten.

Zugang: pi

Passwort: raspberrz

Ohne Update oder Ähnliches:

sudo raspi-config

(das – liegt auf ß) und ssh aktivieren.

Die 5, die 2, Yes, Finish (ssh wäre aktiviert)

Sonst im Konfigurationsmenu nichts anderes machen.

Jetzt die IP-Adresse herausfinden, für den ssh-Zugang:

 ip a

Nach einem sudo reboot kann man das Terminal verwenden.

Jetzt die SSD anstecken

sudo blkid

Hier sieht man, dass beide, SD-Card und SSD, die gleichen Aufteilungen haben. Also jede eine boot-Partition und eine rootfs-Partition, allerdings mit der identischen PARTUUID. Und das müssen wir ändern.

sudo fdisk /dev/sda
p
x
i

Folgende Kombinination kann, soweit ich weiß, frei gewählt werden. Das 0x (NUllx) ist aber Pflicht! Dann gefolgt von einer 8-Stelligen Kombination aus Zahlen und Kleinbuchstaben. Am Besten, man nimmt diese, die hier vorgegeben ist.

0xd34db33f
r
w
sudo blkid

Wichtig ist jetzt die PARTUUID von sda2. Diese bitte merken, aufschreiben oder kopieren (PARTUUID=“d34db33f-02″). Wir benötigen davon später die d34db33f .

Jetzt wird folgendes angepasst (als Editor kann die 1 [nano] genommen werden):

sudo nano /boot/cmdline.txt

Bei mir steht da Original:

console=serial0,115200 console=tty1 root=PARTUUID=6c586e13-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

Geändert wird der Text dann so aussehen (natürlich mit Eurer ID):

console=serial0,115200 console=tty1 root=PARTUUID=d34db33f-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

Strg-x, y, Enter

sudo reboot

Nach Login:

sudo nano /etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=6c586e13-01  /boot           vfat    defaults          0       2
PARTUUID=6c586e13-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

Hier ändern wir die Zeile 3, indem wir unsere SSD-PARTUUID eintragen. So sieht das dann bei mir aus:

proc            /proc           proc    defaults          0       0
PARTUUID=6c586e13-01  /boot           vfat    defaults          0       2
PARTUUID=d34db33f-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

Strg-x, y, Enter

sudo reboot

Nach Login:

sudo fdisk /dev/sda
p

Hier sieht man, dass die sda2-Partition „NUR“ 1,9GB besitzt. Die SSD ist aber eigentlich viel größer. Passen wir das an:

d
2
n
p
2
532480

(Dieser Wert steht als Start-Wert bei /dev/sda2 – einfach mal etwas am Terminal-Bildschirm hoch schauen)

Enter

Der Endwert wird einfach mit Enter bestätigt.

Achtung! Do you want to remove the signature?

n
w
sudo reboot

Nach Login:

sudo e2fsck -f /dev/sda2
sudo resize2fs /dev/sda2

Als nächstes erstellen wir im /media-Ordner ein Verzeichnis Namens ssd-drive und mounten die ssd (sda2) dorthin. Wir müssen nämlich noch die geänderte fstab auf die SSD bewegen (wenn dieser Schritt vergessen wird, bootet der Raspi von SD-Card, verweist auf die SSD und diese gibt den Befehl der ungeänderten fstab zurück an die SD-Card und der Raspi startet wieder von dieser – das wäre suboptimal 🙂 .

sudo mkdir /media/ssd-drive
sudo mount /dev/sda2 /media/ssd-drive
sudo cp /etc/fstab /media/ssd-drive/etc/fstab
sudo umount /media/ssd-drive
sudo reboot

Fertig! Wenn jetzt der ssh-Zugang nicht mehr funktioniert, wurde alles soweit richtig gemacht, da ich das ssh-File beim kopieren vergessen habe. Das ist aber nicht schlimm. Jetzt kann man sich am Server direkt nochmal anmelden (pi | raspberrz) (amerikanisches Tastaturlayout) und dort folgenden Befehl eingeben:

df -h

(Das – liegt auf ß)

Hier sieht man, dass mmcblk0p2 (rootfs der SD-Card) fehlt und unter /dev/root findet man die Größe des verwendeten Datenträgers. Bei mir wäre das 55GB bei einer 60GB SSD. Ist der angezeigte Wert annähernd Eurer SSD, hat alles funktioniert und man kann mit der Ersteinrichtung beginnen. Mit:

sudo raspi-config

geht`s dort los.

#

#

Quelle: