Raspberry Pi är ett fantastiskt, mångsidigt kit, som kan projektera lika olika som att driva ett mediecenter för att använda som sändningsradio. Men den har en uppenbar brist: oförmågan att starta från USB.
Tja, tills nu, det vill säga.
Om du använder en Raspberry Pi 3 är det nu möjligt att avstå från att starta från microSD och istället starta datorn från en USB -enhet. Det här kan vara en flash -stick, en SSD med en USB -adapter eller till och med en USB -hårddisk i full storlek. Detta är en betydande utveckling, så låt oss ta en titt på hur du kan konfigurera din Raspberry Pi 3 för att starta från USB.
Kom igång: Installera Raspbian och lägg till nya filer
Det är bäst att starta detta projekt med en ny kopia av Raspbian, så ladda ner senaste versionen (vi använder Raspbian Jessie ) och installera det på vanligt sätt . Så snart detta är gjort, ta bort kortet säkert från din dator, sätt in det i den avstängda Raspberry Pi och starta, fjärranslutning via SSH så fort det laddas upp.
Logga in (om du inte har ändrat standarduppgifterna) kör sedan följande kommandon som ersätter standard
start.elf
och
bootcode.bin
filer med nyligen nedladdade alternativ:
sudo apt-get update
sudo BRANCH=next rpi-update
Denna uppdatering levererar de två filerna till
/boot
katalog. Med filerna nedladdade, fortsätt för att aktivera USB -startläget med:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
Detta kommando lägger till
program_usb_boot_mode=1
instruktion till slutet av
config.txt
fil.
Du måste starta om Pi när detta är gjort.
Nästa steg är att kontrollera att OTP-en gång programmerbart minne-har ändrats. Kontrollera detta med:
vcgencmd otp_dump | grep 17:
Om resultatet är representativt för adressen
0x3020000a
(Till exempel
17:3020000a
) då är allt bra hittills. I det här skedet, om du vill ta bort
program_usb_boot_mode=1
rad från
config.txt
Detta görs enkelt genom att redigera
config.txt
i nano:
sudo nano /boot/config.txt
Radera eller kommentera motsvarande rad (med ett föregående #).
Förbered din USB -startenhet
Anslut sedan ett formaterat (eller redo att raderas) USB-minne i en reservport på din Raspberry Pi 3. Med detta insatt fortsätter vi att kopiera operativsystemet över.
Börja med att identifiera ditt USB -minne med
lsblk
kommando.
I det här exemplet är SD -kortet
mmcblk0
medan USB -minnet är
sda
(den är formaterad partition
sda1
). Om du har andra USB -lagringsenheter anslutna kan USB -minnet vara sdb, sdc, etc. Med namnet på ditt USB -minne etablerat, avmontera disken och använd det delade verktyget för att skapa en 100 MB partition (FAT32) och en Linux -partition:
sudo umount /dev/sda
sudo parted /dev/sda
Vid prompten (delad) anger du:
mktable msdos
Du kan bli informerad om att disken annars är kopplad. Välj i så fall Ignorera , notera sedan varningen som instruerar dig om att data på disken kommer att förstöras. Som förklarats tidigare bör detta vara en disk som du gärna tar bort eller formaterar, så gå med på detta.
Om du stöter på några problem här kan du behöva byta till skrivbordet (antingen manuellt, eller över VNC ) och bekräfta att disken är avmonterad innan du anger kommandot mktable msdos på en kommandorad med fönster.
Fortsätt i delad med följande:
mkpart primary fat32 0% 100M
mkpart primary ext4 100M 100%
print
Detta kommer att mata ut lite information om disk och de nya partitionerna. Fortsätt att avsluta med Ctrl + C innan du startar startfilsystemet och rotfilsystemet:
sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
sudo mkfs.ext4 /dev/sda2
Du måste sedan montera målfilsystemen innan du kopierar ditt nuvarande Raspbian -operativsystem till USB -enheten.
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
Det sista är det sista kommandot som kopierar allt och det kommer att ta ett tag att slutföra. Dags att fika!
Därefter måste du uppdatera SSH -värdnycklarna för att upprätthålla anslutningen till den omkonfigurerade Raspberry Pi efter en överhängande omstart:
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
Observera att efter sudo chroot (det femte kommandot ovan) byter du till root, så att användaren kommer att ändra från pi@raspberrypi till root@raspberrypi tills du går in på avfart på rad 8.
Förbered dig för omstart från USB!
Bara några saker att reda ut innan din Raspberry Pi är redo att starta från USB. Vi måste redigera
cmdline.txt
igen från kommandoraden med:
sudo sed -i 's,root=/dev/mmcblk0p2,root=/dev/sda2,' /mnt/target/boot/cmdline.txt
På samma sätt måste följande ändring göras på fstab:
sudo sed -i 's,/dev/mmcblk0p,/dev/sda,' /mnt/target/etc/fstab
Du är sedan redo att avmontera filsystemen innan du stänger av Pi:
cd ~
sudo umount /mnt/target/boot
sudo umount /mnt/target
sudo poweroff
Observera att detta använder det nya
poweroff
kommando som ett alternativ till
shutdown
.
När Pi har stängts av, koppla bort strömförsörjningen innan du tar bort SD -kortet. Anslut därefter strömförsörjningen igen - din Raspberry Pi ska nu starta från USB -enheten! Och för mer hjälp med din Pi, kolla in hur man konfigurerar Wi-Fi och Bluetooth på Raspberry Pi 3 .
hur mycket stiger din snap -poäng
Redo att prova Raspberry Pi 4 ? Kolla in dess funktioner och specifikationer.
Dela med sig Dela med sig Tweet E-post Hur du rengör din Windows -dator med kommandotolkenOm din Windows -dator har slut på lagringsutrymme, rensa bort skräpet med dessa snabba kommandotolken.
Läs Nästa Relaterade ämnen- DIY
- USB
- Raspberry Pi
Biträdande redaktör för säkerhet, Linux, DIY, programmering och teknik förklarad, och verkligen användbar podcastproducent, med stor erfarenhet av skrivbords- och programvarusupport. Christian är en bidragsgivare till tidningen Linux Format och är en Raspberry Pi -tinkerer, Lego -älskare och retrospelfläkt.
Mer från Christian CawleyPrenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!
Klicka här för att prenumerera