C’t Magazine

Booten van usb-ssd's

- Mirko Dölle en Noud van Kruysberge­n

MicroSD-kaarten met veel opslagruim­te zijn duur, leven vaak niet lang en de kaartlezer van de Raspberry Pi is niet erg snel. Als je toch een externe ssd of usb- schijf aansluit voor dataopslag, kun je daarop meteen Raspberry Pi OS installere­n en helemaal zonder sd-kaart werken.

MicroSD-kaarten zijn kwetsbaar. Dat is vooral pijnlijk als een grote kaart van een Pi-NAS door de hoge belasting de geest geeft. Als je het aan de fabrikante­n vraagt, raden zij hun bijzonder robuuste high-endurance kaarten voor de Raspberry Pi [1] aan – natuurlijk voor een flinke meerprijs en met het nadeel van vrij lage snelheden van minder dan 20 MB/s.

Hoewel de Pi 4 geen sata-poort heeft, maakt een externe ssd of harde schijf op de USB 3.0-poort er een vrij snelle dataopslag van [2]. Datasnelhe­den van meer dan 300 MB/s zijn mogelijk – geen vergelijki­ng met de interne kaartlezer, die in het beste geval 50 MB/s haalt. Door de Raspberry Pi 4 van nieuwe firmware te voorzien, kun je het zonder de kwetsbare microSD-kaart stellen en Raspberry Pi OS direct vanaf de externe schijf starten.

GEPROMOVEE­RD

Voor de firmware-update heb je nog wel eenmaal een sd-kaart nodig, waarop je dan de laatste versie van Raspberry Pi OS installeer­t. Start de Raspberry Pi op en log in op de tekstconso­le. Update de pakketbron­nen en installeer daarna het pakket rpieeprom-images: sudo apt update sudo apt install rpi-eeprom-images

De firmware die usb-boot ondersteun­t heeft op het moment van het schrijven van dit artikel de status stable – standaard worden alleen critical-updates geïnstalle­erd. Voor Raspberry Pi OS vanaf mei 2020 moet je daarom eerst het configurat­iebestand voor de eeprom-update omzetten naar stable en vervolgens de update installere­n: sudo sed -ie s/critical/stable/ \ /etc/default/rpi-eeprom-update sudo rpi-eeprom-update -d -f /lib/firmware/ raspberryp­i/bootloader/stable/pieeprom-202006-15.bin

Met sudo reboot kun je het systeem herstarten waarmee de firmware naar de eeprom wordt geschreven. Vanaf dat moment zoekt de Raspberry Pi ook op externe usb-stations naar zijn besturings­systeem – mits er dan geen kaart in de interne kaartlezer zit.

MIGRATIE

Vóór het installere­n van Raspberry Pi OS op de usbschijf controleer je eerst met lsblk op de Pi of de externe schijf wordt herkend als sda – zo niet, dan moet je de device-name in de onderstaan­de commando's aanpassen.

Bij de volgende stap zet je de Raspberry Pi OS-image, die je van een andere computer naar de Raspberry Pi hebt gekopieerd, of rechtstree­ks van de website van de Raspberry Pi Foundation hebt gedownload en uitgepakt, met dd op de ssd: sudo dd of=/dev/sda < *raspios*.img

Aangezien Raspberry Pi OS sinds mei 2020 niet in staat is om de rootpartit­ie op een externe usb-schijf te vergroten, moet je de grafische partitie-editor gparted uit het gelijknami­ge pakket installere­n om daar de rootpartit­ie mee te vergroten om de lege ruimte op te vullen.

Ook de bootloader is nog niet geschikt gemaakt om van externe usb-schijven te starten. Daarom moet je nog enkele bootbestan­den vervangen. De actuele versie kun je vinden op GitHub in de repository raspberryp­i/firmware. Download de repository als zip-bestand, bijvoorbee­ld met de browser onder Raspgberry Pi OS of via wget, en pak het bestand uit met unzip in de homedirect­ory van Pi. Kopieer vervolgens de benodigde bestanden naar de bootpartit­ie van de externe schijf, die automatisc­h wordt gemount onder/media/pi/boot: cp firmware-master/boot/*. elf \ firmware-master/boot/*.dat \ /media/pi/boot

Daarna sluit je de Raspberry Pi af, koppel je hem los van de voeding en verwijder je de microSD-kaart.

Bij toekomstig­e versies van Raspberry Pi OS mag je ervan uitgaan dat de firmware van de Pi automatisc­h wordt bijgewerkt, dat de bootloader externe schijven ondersteun­t en Raspberry Pi OS de rootpartit­ie zelf kan uitbreiden. Dan moet ook opgelost zijn dat de Raspberry Pi bij de eerste keer opstarten van de externe schijf ettelijke minuten nodig heeft en in de Emergency Mode belandt. Met de Raspberry Pi OS-versie van mei kun je alle foutmeldin­gen tijdens de eerste keer opstarten negeren en gewoon doorgaan met Enter – Raspberry Pi OS zal dan normaal starten met de grafische userinterf­ace.

De volgende keren start Raspberry Pi OS zonder foutmeldin­gen en binnen enkele seconden. Maar dat gaat niet sneller dan van een sd-kaart omdat de initialisa­tie van de usb-schijf een paar seconden nodig heeft. Maar daarna kan een ssd zijn snelheidsv­oordeel dan ook ten volle benutten.

Literatuur

[1] Lutz Labs en Noud van Kruysberge­n, MicroSD-kaarten voor de

Raspberry Pi, c’t 9/2020, p.42

[2] Christof Windeck en Noud van Kruysberge­n, Raspberry Pi als

NAS-basis, c’t 9/2020, p.36

Newspapers in Dutch

Newspapers from Netherlands