Raspberry Pi 3: Raspbian verplaatsen naar een USB device

De meeste Raspberry Pi gebruikers maken gebruik van een SD kaart met daarop de Raspbian systeembestanden. Het is echter ook mogelijk om Raspbian te verplaatsen naar een USB device. In dit stappenplan leggen we uit hoe je een Raspberry Pi 3 kunt booten vanaf een aangesloten USB stick of drive.

Let op! Probeer de onderstaande stappen eerst uit op een schone installatie, sommige USB devices kunnen namelijk problemen geven. Dit stappenplan is alleen geschikt voor de Raspberry Pi 3.

USB Boot Mode en aangepaste boot bestanden

Om te kunnen booten vanaf een USB device moet een speciale configuratie optie worden geactiveerd. Daarnaast moet er gebruik worden gemaakt van een aangepast start.elf en bootcode.bin bestand. Plaats op een SD kaart de laatste versie van Raspian en start de Raspberry Pi 3.

In de /boot map gaan we allereest de aangepaste start.elf en bootcode.bin bestanden aanpassen:

cd /boot
sudo rm start.elf bootcode.bin start_* fixup*
sudo wget https://github.com/raspberrypi/documentation/raw/master/hardware/raspberrypi/bootmodes/start.elf 
sudo wget https://github.com/raspberrypi/documentation/raw/master/hardware/raspberrypi/bootmodes/bootcode.bin
sudo sync

Activeer de USB boot mode:

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

De parameter program_usb_boot_mode=1 wordt toegevoegd aan het bestand /boot/config.txt. Herstart hierna de Raspberry Pi met sudo reboot en controleer of de boot mode is aangepast:

$ vcgencmd otp_dump | grep 17:

Als output moet nu 0x3020000a verschijnen.

USB device voorbereiden

De Raspberry Pi 3 is nu geschikt om te kunnen booten vanaf een USB apparaat, verbind de USB stick of harddisk met de Raspberry Pi. Alle systeembestanden gaan we hierna vanaf de SD kaart /dev/mmcblk0 kopiëren naar het USB device /dev/sda. Let op sluit op dit moment geen andere USB devices aan.

Als eerste maken we een 100MB fat32 partitie aan gevold door een Linux ext4 partitie die overige diskruimte in beslag zal nemen. Volg hiervoor het onderstaande voorbeeld:

sudo umount /dev/sda
sudo parted /dev/sda

(parted) mktable msdos
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes
(parted) mkpart primary fat32 0% 100M
(parted) mkpart primary ext4 100M 100%
(parted) print
Model: SanDisk Ultra (scsi)
Disk /dev/sda: 30.8GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  99.6MB  98.6MB  primary  fat32        lba
 2      99.6MB  30.8GB  30.7GB  primary  ext4         lba

Boot en systeembestanden kopiëren

Nu de partities zijn aangemaakt kunnen we de boot en systeembestanden gaan overzetten:

sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
sudo mkfs.ext4 /dev/sda2

Mount de nieuwe partities en kopieer de bestanden:

sudo mkdir /mnt/target
sudo mount /dev/sda2 /mnt/target/
sudo mkdir /mnt/target/boot
sudo mount /dev/sda1 /mnt/target/boot/
sudo rsync -ax --progress / /boot /mnt/target

In /boot/cmdline.txt geven we aan dat een USB device moet worden gebruikt in plaats van de SD kaart.

sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2," /mnt/target/boot/cmdline.txt

Dit zelfde moet ook gebeuren in fstab:

sudo sed -i "s,/dev/mmcblk0p,/dev/sda," /mnt/target/etc/fstab

Als laatste stappen moeten de partities op het USB device worden unmount en de Raspberry Pi afgesloten worden:

sudo umount /mnt/target/boot 
sudo umount /mnt/target
sudo poweroff 

Verwijder de stroom van de Rapsberry Pi en verwijder de SD kaart uit het slot. Sluit de Raspberry Pi opnieuw aan op de voeding, als alles goed is gegaan zal deze binnen enkele opstarten.

Bron: Github

5 gedachten over “Raspberry Pi 3: Raspbian verplaatsen naar een USB device”

  1. leuke artikelen.
    Eigenlijk twee vragen, wat is het voordeel om raspian op een USB te plaatsen ipv op de sd-card?
    en kan dit alleen met een rpi3?

    • Bedankt! Sommige USB devices zijn aanmerkelijk sneller dan een SD kaart. De boot bestanden zijn speciaal gecompiled voor de RPI3

  2. Is het mogelijk om dit ook te doen met Apple Imac?
    En is het scherm van de Pi ook over te nemen op een Imac, door hem rechtstreeks aan te sluiten of nog beter via wifi?
    Ik heb een Raspberry Pi 3 Model B.

    Bedankt op voorhand voor het antwoord.

Een reactie plaatsen

%d bloggers liken dit: