RPi von USB-Stick starten

Nachdem mein Raspberry Pi (kurz: RPi) zwei schnelle 8-GB MicroSD Karten zerschossen hat, habe ich das Plattenlayout geändert:

  1. Boot von ein eine einfachen, billigen 512 MB MicroSD Karte
  2. 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:

  1. USB-Stick identifizieren (Device Name)
  2. Bootpartition: /etc/fstab und /boot/cmdline.txt anpassen
  3. Alte Partitionen (Boot und Root) sichern
  4. Neue Bootpartition auf kleiner MicroSD kopieren
  5. Neue Rootpartition auf USB-Stick kopieren

Siehe auch: https://raspberry.tips/raspberrypi-tutorials/raspberry-pi-sd-karte-durch-usb-stick-ersetzen/

Los geht’s:

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:

  1. Bootpartition: 59 MB  (/boot)
  2. Rootpartition: 7463 MB  (/)

Bootpartition auf kleiner MicroSD kopieren

DriveSnapshotAllerdings 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:

  1. Die 512 MB MicroSD in den Adapter und ab in den Windows 7 Rechner…
  2. Start –> Ausführen –> diskpart.exe (Als Administrator ausführen)
  3. list disk (alle Platten anzeigen lassen)
  4. select disk 2 (die 512 MB MicroSD Karte auswählen)
  5. clean (alle Daten löschen)
  6. 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

 

Veröffentlicht in Technik Getagged mit: ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*