Raspberry Pi 4 booten van usb-ssd

Noud van Kruysbergen
1

Inhoudsopgave

MicroSD-kaarten met veel opslagruimte zijn duur, leven vaak niet lang en de kaartlezer van de Pi is niet erg snel. Als je toch een externe ssd of usb- schijf aansluit voor dataopslag, kun je daarop Raspberry Pi OS  installeren 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 fabrikanten vraagt, raden zij hun bijzonder robuuste high-endurance kaarten voor de Raspberry Pi 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. Datasnelheden van meer dan 300 MB/s zijn mogelijk – geen vergelijking 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.

Firmware-update

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

De firmware die usb-boot ondersteunt heeft op het moment van het schrijven van dit artikel de status stable – standaard worden alleen critical-updates geïnstalleerd. Voor Raspberry Pi OS vanaf mei 2020 moet je daarom eerst het configuratiebestand voor de eeprom-update omzetten naar stable en vervolgens de update installeren:
sudo sed -ie s/critical/stable/ \
/etc/default/rpi-eeprom-update
sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-06-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.


Blijf op de hoogte!

Schrijf je in voor de c't nieuwsbrief en ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.

Migratie

Vóór het installeren van Raspberry Pi OS op de usb-schijf 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 onderstaande 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 rechtstreeks 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 rootpartitie op een externe usb-schijf te vergroten, moet je de grafische partitie-editor gparted uit het gelijknamige pakket installeren om daar de rootpartitie 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 bootbestanden vervangen.

De actuele versie kun je vinden op GitHub in de repository raspberrypi/firmware. Download de reposi­tory als zip-bestand, bijvoorbeeld met de browser onder Raspberry Pi OS of via wget, en pak het bestand uit met unzip in de homedirectory van Pi. Kopieer vervolgens de benodigde bestanden naar de boot­partitie van de externe schijf, die automatisch 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 toekomstige versies van Raspberry Pi OS mag je ervan uitgaan dat de firmware van de Pi auto­matisch wordt bijgewerkt, dat de bootloader externe schijven ondersteunt en Raspberry Pi OS de rootpartitie 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 foutmeldingen tijdens de eerste keer opstarten negeren en gewoon doorgaan met Enter – Raspberry Pi OS zal dan normaal starten met de grafische userinterface.

De volgende keren start Raspberry Pi OS zonder foutmeldingen en binnen enkele seconden. Maar dat gaat niet sneller dan van een sd-kaart omdat de initialisatie van de usb-schijf een paar seconden nodig heeft. Maar daarna kan een ssd zijn snelheidsvoordeel dan ook ten volle benutten.

Deel dit artikel

Noud van Kruysbergen
Noud van KruysbergenNoud heeft de 'American Dream' doorlopen van jongste bediende tot hoofdredacteur van c't, waar hij zo veel mogelijk de diepgang, betrouwbaarheid en diversiteit wil bewaken.

Lees ook

Externe ssd met usb-aansluiting: zes modellen getest

Een externe ssd met usb-aansluiting is handiger dan een usb-stick als je flink wat bestanden wilt meenemen. We hebben verschillende externe ssd's gete...

MicroSD geheugenkaart: modellen van 32 en 128 GB getest

Een geheugenkaart in het microSD-formaat is heel handig om de opslag van je smartphone of actioncam uit te breiden. Onze test maakt duidelijk welke va...

1 Praat mee
avatar
  Abonneer  
nieuwsteoudste
Laat het mij weten wanneer er
Gait
Lezer
Gait

Mooie uitleg,
Hou er wel rekening mee dat grotere usb hhd schijven te veel vermogen vragen van de usb 3.0 poort van de raspberry pi , en dat niet elke usb ssd zomaar goed werkt, zeker als de ssd niet volledig voldoet aan het UAS protocol.

https://forums.raspberrypi.com/viewtopic.php?f=28&t=245931