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

Raspberry Pi är ett mångsidigt kit som kan användas för ett brett utbud av uppgifter. Men det har en skarp fel: oförmågan att starta från USB. Hittills är det det.

Raspberry Pi är ett mångsidigt kit som kan användas för ett brett utbud av uppgifter.  Men det har en skarp fel: oförmågan att starta från USB.  Hittills är det det.
Annons

Raspberry Pi är en stor, mångsidig bit av kit, som är kapabel att göra projekt så olika som att driva ett mediecenter som kan användas som broadcast radio. Men det har en skarp fel: oförmågan att starta från USB.

Tja, förrän nu är det.

Raspberry Pi 3 Shot av MakeUseOf

Om du använder en Raspberry Pi 3 Raspberry Pi 3: Snabbare, bättre, med Wi-Fi och Bluetooth Raspberry Pi 3: Snabbare, bättre, med Wi-Fi och Bluetooth Idag meddelade Raspberry Pi-stiftelsen frisläppandet av Raspberry Pi 3. Det är den viktigaste uppdateringen till den populära linjen med billiga datorer än. Läs mer, det är nu möjligt att undvika uppstart från microSD och istället starta datorn från en USB-enhet. Det här kan vara en blixtsticka, en SSD med en USB-adapter, eller till och med en USB-hårddisk med full storlek. Detta är en väsentlig utveckling, så låt oss ta en titt på hur du kan installera 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 den senaste versionen (vi använder Raspbian Jessie 5 sätt. Nya Raspbian Jessie gör Raspberry Pi ännu enklare att använda 5 sätt. Nya Raspbian Jessie gör Raspberry Pi ännu enklare att använda efter utgivandet av Debian Jessie i juli, har Raspberry Pi-gemenskapen blivit välsignad med en ny version av Raspbian-varianten, baserat på "förälder" distro. Läs mer) och installera det på vanligt sätt. Så här installerar du ett operativsystem till din Raspberry Pi Så här installerar du ett operativsystem till din Raspberry Pi Så här får du ett nytt OS installerat och kört på din Pi - och hur man klonar din perfekta inställning för snabb katastrofåterställning. Läs mer . Så fort det här är klart, ta bort kortet på din dator, sätt det in i den nedsläckta Raspberry Pi och starta, fjärrkontakten över SSH Ställa in din Raspberry Pi för huvudlös användning med SSH Ställa in din Raspberry Pi för huvudlös användning med SSH Raspberry Pi kan acceptera SSH-kommandon när den är ansluten till ett lokalt nätverk (antingen via Ethernet eller Wi-Fi), så att du enkelt kan konfigurera det. Fördelarna med SSH går utöver att störa den dagliga skärningen ... Läs mer så fort det laddas upp.

Logga in (om du inte har ändrat din standardbeteckning Säkerställ din Raspberry Pi: Från lösenord till brandväggar Säkra din Raspberry Pi: Från lösenord till brandväggar Vem som helst kan använda Google för att hitta standard användarnamnet och lösenordet till din Raspberry Pi. Ge inte inkräktare den chansen! Läs mer) kör sedan följande kommandon, som kommer att ersätta standard start.elf och bootcode.bin filer med färskt nedladdade alternativ:

 sudo apt-get update sudo BRANCH=next rpi-update 

Den här uppdateringen levererar de två filerna till /boot katalogen. Med de nedladdade filerna fortsätter du 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 instruktionen till slutet av config.txt filen.

Linux Terminal Boot Raspberry Pi 3 Med USB

Du måste starta om Pi när det är klart.

Nästa steg är att kontrollera att OTP - en gångs programmerbart minne - har ändrats. Kontrollera detta med:

 vcgencmd otp_dump | grep 17: 

Om resultatet är representativt för adressen 0x3020000a (till exempel 17:3020000a ) är allt hittills bra. I det här skedet, om du vill ta bort program_usb_boot_mode=1 raden från config.txt filen, kan du. Pi är nu USB-boot-aktiverat, och du kanske vill använda samma microSD-kort i en annan Raspberry Pi 3, med samma bild, så att ta bort linjen är en bra idé.

Linux Terminal Boot Raspberry Pi 3 Med USB Nano Edit

Detta görs enkelt genom att redigera config.txt i nano:

 sudo nano /boot/config.txt 

Ta bort eller kommentera den motsvarande raden (med en föregående #).

Förbered din USB Boot Device

Anslut sedan en formaterad USB-pinne till en extra port på din Raspberry Pi 3. Med det här införs fortsätter vi att kopiera operativsystemet över.

Börja med att identifiera din USB-minne, med kommandot lsblk .

Linux Terminal Boot Raspberry Pi 3 Med USB LSBLK Command

I det här exemplet är SD-kortet mmcblk0 medan USB-pinnen är sda (den formaterade partitionen är sda1 ). Om du har andra USB-lagringsenheter anslutna kan USB-pinnen vara sdb, sdc osv. När namnet på din USB-minne är upprättat, demontera disken och använd det separerade verktyget för att skapa en 100 MB-partition (FAT32) och en Linux-partition:

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

Vid prompten (avskild) anger du:

 mktable msdos 

Du kan bli informerad om att skivan är annorlunda involverad. I så fall väljer du Ignorera och notera varningen som instruerar dig att data på skivan kommer att förstöras. Som förklarat tidigare bör detta vara en skiva som du är glad att radera eller formatera, så acceptera det här.

Om du stöter på några problem här kan du behöva byta till skrivbordet (antingen manuellt eller över VNC Hur man kör ett fjärrskrivbord på Raspberry Pi med VNC Hur man kör ett fjärrskrivbord på Raspberry Pi med VNC Vad händer om du behöver åtkomst till Raspberry Pi-skrivbordet från din dator eller laptop, utan att behöva ansluta ett tangentbord, en mus och en bildskärm? Här kommer VNC in. Läs mer) och bekräfta att disken är ommonterad innan du kommit in i kommandot mktable msdos i ett fönsterfönster linje.

Fortsätt delad med följande:

 mkpart primary fat32 0% 100M mkpart primary ext4 100M 100% print 

Detta kommer att ge lite information om disken och de nya partitionerna. Fortsätt att avsluta delad med Ctrl + C innan du skapar 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 OS 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 

Den sista är det sista kommandot som kopierar allt över, så det tar ett tag att slutföra. Tiden att göra en kaffe!

Linux Terminal Boot Raspberry Pi 3 Med USB-kopiering

Därefter måste du uppdatera SSH-värdnycklarna för att upprätthålla anslutningen med 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 

Linux Terminal Boot Raspberry Pi 3 Med USB SSH

Observera att efter sudo chroot (det femte kommandot ovan) växlar du till root, så användaren ändras från pi @ raspberrypi till root @ raspberrypi tills du anger exit på rad 8.

Förbered dig för att återuppta från USB!

Bara några fler saker att sortera 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 förändring göras till fstab:

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

Du är då redo att avmontera filsystem 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 kommandot som ett alternativ till shutdown .

När Pi-enheten är avstängd, koppla ur strömförsörjningen innan du tar bort SD-kortet. Anslut sedan strömförsörjningen igen - din Raspberry Pi ska nu startas från USB-enheten!

Har du provat det här? Intrigued av möjligheterna till en USB-boot istället för från SD-kort? Planerar att ge det en go? Berätta för oss i kommentarerna!

In this article