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.
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
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
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.
Ja hoor dat is mogelijk check onderstaande link om de RPI over te nemen met behulp van je mac: https://raspberrytips.nl/raspberry-pi-overnemen-remote-desktop/
Hé Richard,
Volgens mij staan de bestanden waar je naar verwijst niet meer op de juiste plek. (https://github.com/raspberrypi/documentation/raw/master/hardware/raspberrypi/bootmodes/start.elf)