KALF Computertechniek

Raspberry PI: voorkom corruptie en boot vanaf USB (hard-) disk

(micro-) USB kaarten zijn notoir instabiel.
Als gevolg van o.a. een stroomonderbreking zal de bootpartitie in 9 van de 10 gevallen beschadigd raken.
Nu is dat wel te verhelpen door de betreffende kaart uit de PI te halen en deze d.m.v. een kaartlezer op de PC te repareren, maar de kans bestaat dat zelfs dat niet meer helpt.
Zo is ooit een van mijn zeer bewerkelijk geconfigureerde servers, na 3 jaar onafgebroken in bedrijf te zijn geweest, onklaar geraakt.

Beter is het om een externe USB-stick of, nog beter, een externe hardeschijf aan te koppelen, waardoor de SD kaart niet meer beschreven wordt en het systeem bedrijfzeker zal blijven.

handelingen

Koppel zowel de sdcard, voorzien van een werkend systeem, als de usb-drive aan de PC

Creeer op de usb-drive een EXT4 partitie
Ontkoppel deze usb-drive en koppel deze daarna direct weer aan.

Zoek waar de sdcard en de usb-drive gekoppeld zijn met:

fdisk -l

Op een Debian-achtig systeem zal dat zijn in de map /media/gebruikersnaam.
De sd-card partities is zichtbaar als mmcblk0p1 en mmcblk0p2 en de usb-drive met een lang schijf UUID kenmerk

Kopieer de gehele inhoud van /media/gebruiker/mmcblk0p2 naar de usb-drive

( bij voorkeur via "sync" op de commandoregel of  "grsync" via de GUI

Ga naar de root partitie van de sd-card:

cd /media/gebruiker/mmcblk0p2

en geef, als ROOT, het commando:(let op de twee slashes "/")

sudo rsync -avxS / /media/gebruiker/usbdrive-UUID

Wijzig vervolgens het opstartbestand cmdline.txt op  /media/gebruiker/mmcblk0p1

cd /media/gebruiker/mmcblk0p1
nano cmdline.txt
en wijzig daarin de regel als volgt:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 elevator=deadline root=/dev/sda1 rootdelay=5 rootfstype=ext4 fsck.repair=yes rootwait bootdelay

Pas daarna op mount  "/media/gebruiker/usbdrive-UUID" het bestand /etc/fstab als volgt aan:

sudo nano /etc/fstab
proc             /proc    proc   defaults          0    0
/dev/mmcblk0p1   /boot    vfat   defaults 0 2
#/dev/mmcblk0p2  /        ext4   errors=remount-ro,noatime,nodiratime,commit=120 0 1
#
/dev/sda1       /        ext4    defaults,noatime  0    1

Onkoppel de kaart en de drive en koppel deze aan de RaspberryPI

Start de PI

Wis de EXT4 partitie niet van de sdkaart maar handhaaf deze als "backup" partitie.

Drucken