Nachdem mein Raspberry Pi (kurz: RPi) zwei schnelle 8-GB MicroSD Karten zerschossen hat, habe ich das Plattenlayout geändert:
- Boot von ein eine einfachen, billigen 512 MB MicroSD Karte
- Der Rest wird von einem herkömmlichen USB-Stick geladen
Da sich an der Bootpartition (/boot) nicht viel ändert und die /boot nur zum Start des RPi genutzt wird, ist die Geschwindigkeit der MicroSD Karte belanglos. Der Datendurchsatz des RPi ist ohnehin nicht so hoch sodass man sich keine Gedanken über schnelle Class-10 SD-Karten machen sollte. Eine Class-6 (min write rate 6 MB/s) ist voll ausreichend..
Eigenschaft | Vorher | Nachher |
---|---|---|
Speichermedien | 8 GB MicroSD | 512 MB MicroSD 8 GB USB2 Stick |
Boot (/boot) | 59MB (/dev/mmcblk0p1) | 59MB (/dev/mmcblk0p1) |
Root (/) | 7,2GB (/dev/mmcblk0p2) | 7,2GB (/dev/sda1) |
Für eine erfolgreiche Umstellung sind folgende Schritte sind notwendig:
- USB-Stick identifizieren (Device Name)
- Bootpartition: /etc/fstab und /boot/cmdline.txt anpassen
- Alte Partitionen (Boot und Root) sichern
- Neue Bootpartition auf kleiner MicroSD kopieren
- Neue Rootpartition auf USB-Stick kopieren
Siehe auch: https://raspberry.tips/raspberrypi-tutorials/raspberry-pi-sd-karte-durch-usb-stick-ersetzen/
Los geht’s:
Inhaltsverzeichnis
USB-Stick identifizieren
Die neue Rootpartition soll künftig auf einem 8GB USB-Stick (SanDisk U3 Titanium) zu finden sein. Also den USB-Stick einstecken und das Device identifizieren:
pi@raspberry:~ $ dmesg | grep -i sandisk -A4 [ 2.041907] usb 1-1.2: Manufacturer: SanDisk [snip] [ 3.051750] sd 0:0:0:0: [sda] 15745023 512-byte logical blocks: (8.06 GB/7.50 GiB) [snip]
Der USB-Stick wird vom RPi also als /dev/sda erkannt. Die erste Partition auf dem Stick nennt sich demnach /dev/sda1
Bootpartition anpassen
Zunächst mus dem Kernel der neue Pfad zur Rootpartition beigebracht werden:
pi@raspberry:~ $ sudo cp /boot/cmdline.txt /boot/cmdline.txt.bak pi@raspberry:~ $ sudo vim /boot/cmdline.txt
Die neue /boot/cmdline.txt enthält den neuen Pfad zur Rootpartition:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Nun muss noch das Device der Rootpartition in der /etc/fstab geändert werden:
pi@raspberry:~ $ sudo vim /etc/fstab proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 #/dev/mmcblk0p2 / ext4 defaults,noatime 0 1 /dev/sda1 / ext4 defaults,noatime 0 1 tmpfs /tmp tmpfs defaults,noatime,nosuid,size=20M 0 0 tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=20M 0 0
Alte Partitionen (Boot und Root) sichern
Die alten Partitionen auf der 8GB MicroSD Karte werden nun mit Drive Snapshot gesichert. Drive Snapshot komprimiert und sichert die Partitionen bei Bedarf mit einem Kennwortschutz. Da auch die Partitionstabellen (Geometrie) gesichrt wirt, kann man so immer auf die gesicherten Images zurückgreifen:
- Bootpartition: 59 MB (/boot)
- Rootpartition: 7463 MB (/)
Bootpartition auf kleiner MicroSD kopieren
Allerdings musste ich ein wenig tricksen, um die neue 512 MB MicroSD Karte vorzubereiten.
Leider konnte ich die 59 MB Bootpartition nicht direkt mit Drive Snapshot auf die 512 MB MicroSD Karte kopieren und musste zunächst die neue 512 MB MicroSD mit Windows Bordmitteln neu initialisieren:
- Die 512 MB MicroSD in den Adapter und ab in den Windows 7 Rechner…
- Start –> Ausführen –> diskpart.exe (Als Administrator ausführen)
- list disk (alle Platten anzeigen lassen)
- select disk 2 (die 512 MB MicroSD Karte auswählen)
- clean (alle Daten löschen)
- exit
Nun konnte ich mit Drive Snapshot das zuvor gesicherte Image auf die neue 512 MB MicroSD kopiert werden.Die neue 59 MB Partition muss nun nur noch aktiviert und bootfähig markiert werden. Siehe Bild…
Neue Rootpartition auf USB-Stick kopieren
Nun nur noch die zuvor gesicherte Rootpartition auf den USB-Stick kopieren. Aus das gelingt mit Drive Snapshot ganz einfach. Nun den RPi mit der kleinen MicroSD und dem USB-Stick starten…
Die regelmäßige Sicherung des USB-Stick nicht vergessen!!!
USB Write/Read Performance messen
Wer die „Performance“, also die Schreib-/Lesegeschwindigkeit zum USB-Stick testen möchte:
Write ( RPi –> USB)
pi@raspberry:~ $ dd if=/dev/zero of=~/speed.test bs=100K count=1024 1024+0 records in 1024+0 records out 104857600 bytes (105 MB) copied, 13.9345 s, 7.5 MB/s
Read (USB –> RPi)
pi@raspberry:~ $ dd of=/dev/null if=~/speed.test bs=100K count=1024 1024+0 records in 1024+0 records out 104857600 bytes (105 MB) copied, 0.20707 s, 506 MB/s
Schreibe einen Kommentar