De Raspberry Pi is een geweldig, veelzijdig stuk kit, geschikt voor projecten die zo divers zijn als het runnen van een mediacentrum om als uitzendradio te gebruiken. Maar het heeft één flagrante fout: het onvermogen om op te starten vanaf USB.
Nou ja, tot nu toe.
Als je een Raspberry Pi 3 gebruikt, is het nu mogelijk om af te zien van opstarten vanaf microSD en in plaats daarvan de computer op te starten vanaf een USB-apparaat. Dit kan een flash-stick zijn, een SSD met een USB-adapter of zelfs een USB-harde schijf van volledige grootte. Dit is een belangrijke ontwikkeling, dus laten we eens kijken hoe je je Raspberry Pi 3 kunt instellen om vanaf USB op te starten.
Aan de slag: Raspbian installeren en nieuwe bestanden toevoegen
Het is het beste om dit project te starten met een nieuwe kopie van Raspbian, dus download de laatste versie (we gebruiken Raspbische Jessie ) en installeer het op de gebruikelijke manier . Zodra dit is gebeurd, verwijdert u de kaart veilig uit uw pc, plaatst u deze in de uitgeschakelde Raspberry Pi en start u op, verbinding op afstand via SSH zodra het is opgeladen.
Meld u aan (tenzij u uw standaardreferenties hebt gewijzigd) en voer vervolgens de volgende opdrachten uit, die de standaard zullen vervangen:
start.elf
en
bootcode.bin
bestanden met vers gedownloade alternatieven:
sudo apt-get update
sudo BRANCH=next rpi-update
Deze update levert de twee bestanden in de
/boot
map. Ga met de gedownloade bestanden verder om de USB-opstartmodus in te schakelen met:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
Dit commando voegt de
program_usb_boot_mode=1
instructie tot het einde van de
config.txt
het dossier.
U moet de Pi opnieuw opstarten zodra dit is gebeurd.
De volgende stap is om te controleren of de OTP - eenmalig programmeerbaar geheugen - is gewijzigd. Controleer dit met:
vcgencmd otp_dump | grep 17:
Als het resultaat representatief is voor het adres
0x3020000a
(zoals
17:3020000a
) dan is alles goed tot nu toe. Mocht u in dit stadium de
program_usb_boot_mode=1
lijn van de
config.txt
Dit is eenvoudig te doen door te bewerken
config.txt
in nano:
sudo nano /boot/config.txt
Verwijder of becommentarieer de corresponderende regel (met een voorafgaand #).
Bereid uw USB-opstartapparaat voor
Sluit vervolgens een geformatteerde (of kant-en-klare) USB-stick aan op een vrije poort op uw Raspberry Pi 3. Als deze is geplaatst, gaan we verder met het kopiëren van het besturingssysteem.
Begin met het identificeren van uw USB-stick, met de
lsblk
opdracht.
In dit voorbeeld is de SD-kaart
mmcblk0
terwijl de USB-stick is
sda
(de geformatteerde partitie is
sda1
). Als je andere USB-opslagapparaten hebt aangesloten, kan de USB-stick sdb, sdc, enz. zijn. Met de naam van je USB-stick vastgesteld, ontkoppel je de schijf en gebruik je de parted tool om een 100 MB partitie (FAT32) en een Linux-partitie te maken:
sudo umount /dev/sda
sudo parted /dev/sda
Voer bij de (gescheiden) prompt in:
mktable msdos
Mogelijk wordt u geïnformeerd dat de schijf anderszins is ingeschakeld. Zo ja, selecteer Negeren en let dan op de waarschuwing dat de gegevens op de schijf worden vernietigd. Zoals eerder uitgelegd, zou dit een schijf moeten zijn die je graag wilt verwijderen of formatteren, dus ga hiermee akkoord.
Als u hier problemen ondervindt, moet u mogelijk overschakelen naar het bureaublad (handmatig, of via VNC ) en bevestig dat de schijf is ontkoppeld, voordat u de opdracht mktable msdos invoert in een vensteropdrachtregel.
Ga verder met het volgende:
mkpart primary fat32 0% 100M
mkpart primary ext4 100M 100%
print
Dit zal enige informatie over de schijf en de nieuwe partities weergeven. Ga verder om af te sluiten met Ctrl + C, voordat u het opstartbestandssysteem en het rootbestandssysteem maakt:
sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
sudo mkfs.ext4 /dev/sda2
U moet dan de doelbestandssystemen aankoppelen voordat u uw huidige Raspbian-besturingssysteem naar het USB-apparaat kopieert.
sudo mkdir /mnt/target
sudo mount /dev/sda2 /mnt/target/
sudo mkdir /mnt/target/boot
sudo mount /dev/sda1 /mnt/target/boot/
sudo apt-get update; sudo apt-get install rsync
sudo rsync -ax --progress / /boot /mnt/target
Die laatste is de laatste opdracht die alles kopieert, en het zal dus even duren om te voltooien. Tijd om koffie te zetten!
Vervolgens moet je de SSH-hostsleutels vernieuwen om de verbinding met de opnieuw geconfigureerde Raspberry Pi te behouden na een dreigende herstart:
cd /mnt/target
sudo mount --bind /dev dev
sudo mount --bind /sys sys
sudo mount --bind /proc proc
sudo chroot /mnt/target
rm /etc/ssh/ssh_host*
dpkg-reconfigure openssh-server
exit
sudo umount dev
sudo umount sys
sudo umount proc
Merk op dat na sudo chroot (het vijfde commando hierboven) je overschakelt naar root, dus de gebruiker zal veranderen van pi@raspberrypi tot root@raspberrypi totdat u uitgang op lijn 8 invoert.
Bereid je voor op opnieuw opstarten vanaf USB!
Nog een paar dingen om uit te zoeken voordat je Raspberry Pi klaar is om vanaf USB op te starten. We moeten bewerken
cmdline.txt
opnieuw vanaf de opdrachtregel met:
sudo sed -i 's,root=/dev/mmcblk0p2,root=/dev/sda2,' /mnt/target/boot/cmdline.txt
Evenzo moet de volgende wijziging worden aangebracht in fstab:
sudo sed -i 's,/dev/mmcblk0p,/dev/sda,' /mnt/target/etc/fstab
Je bent dan klaar om de bestandssystemen te ontkoppelen voordat je de Pi afsluit:
cd ~
sudo umount /mnt/target/boot
sudo umount /mnt/target
sudo poweroff
Merk op dat dit de nieuwe
poweroff
commando als alternatief voor
shutdown
.
Wanneer de Pi is uitgeschakeld, koppelt u de voeding los voordat u de SD-kaart verwijdert. Sluit vervolgens de voeding opnieuw aan - uw Raspberry Pi zou nu moeten opstarten vanaf het USB-apparaat! En voor meer hulp met je Pi, kijk op hoe wifi en Bluetooth in te stellen op Raspberry Pi 3 .
extern bureaublad kan de computer niet vinden
Klaar om probeer Raspberry Pi 4 eens ? Bekijk de functies en specificaties.
Deel Deel Tweeten E-mail Uw Windows-pc opschonen met de opdrachtpromptAls uw Windows-pc weinig opslagruimte heeft, ruimt u de rommel op met deze snelle opdrachtprompthulpprogramma's.
Lees volgende Gerelateerde onderwerpen- doe-het-zelf
- USB
- Raspberry Pi
Plaatsvervangend redacteur voor beveiliging, Linux, doe-het-zelf, programmeren en techniek uitgelegd, en echt nuttige podcast-producent, met uitgebreide ervaring in desktop- en softwareondersteuning. Christian levert een bijdrage aan het tijdschrift Linux Format en is een Raspberry Pi-knutselaar, Lego-liefhebber en retro-gamingfan.
Meer van Christian CawleyAbonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren