Hur man gör Raspberry Pi 3 -start från USB

Hur man gör Raspberry Pi 3 -start från USB

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 kommandotolken

Om 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
Om författaren Christian Cawley(1510 artiklar publicerade)

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 Cawley

Prenumerera 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