Nyheter i Android, Telefoner, Prylar Och Recensioner

Hur man startar Raspberry Pi 3 från USB

Raspberry Pi är ett fantastiskt, mångsidigt kit, som kan utföra så olika projekt som att driva ett mediacenter för att använda som en sändningsradio. Men den har en påfallande brist: oförmågan att starta från USB.

Tja, tills nu, alltså.

Om du använder en Raspberry Pi 3 är det nu möjligt att avstå från uppstart från microSD och istället starta upp datorn från en USB-enhet. Detta kan vara ett flashminne, 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 ställa in 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 det här projektet med en ny kopia av Raspbian, så ladda ner den senaste versionen (vi använder Raspbian Jessie) och installera den på vanligt sätt. Så snart detta är gjort, ta säkert bort kortet från din dator, sätt in det i den avstängda Raspberry Pi och starta, fjärransluta via SSH så snart det laddas upp.

Logga in (om du inte har ändrat dina standarduppgifter) och kör sedan följande kommandon, som kommer att ersätta standardinställningen

start.elf

och

bootcode.bin

filer med nyladdade 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 – engångsprogrammerbart minne – har ändrats. Kolla detta med:

vcgencmd otp_dump | grep 17:

Om resultatet är representativt för adressen

0x3020000a

(Till exempel

17:3020000a

) så är allt bra än så länge. Om du i detta skede vill ta bort

program_usb_boot_mode=1

linje från

config.txt

fil kan du. Pi är nu USB-startaktiverad, 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é.

Relaterad  Hur man läser motståndsfärgkoder - Nyheter i Android, Telefoner, Prylar Och Recensioner

Detta görs enkelt genom att redigera

config.txt

i nano:

sudo nano /boot/config.txt

Ta bort eller kommentera motsvarande rad (med ett föregående #).

Förbered din USB-startenhet

Anslut sedan ett formaterat (eller redo att tas bort) USB-minne till en reservport på din Raspberry Pi 3. Med detta insatt fortsätter vi med 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 formaterade partitionen är

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 (avskilda) prompten anger du:

mktable msdos

Du kan få information om att skivan annars är inkopplad. Välj i så fall Strunta i, notera sedan varningen som instruerar dig 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å godkänn 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 i fönster.

Fortsätt in med följande:

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

Detta kommer att mata ut lite information om disken och de nya partitionerna. Fortsätt för att avsluta 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

Det sista är det sista kommandot som kopierar allt, och det kommer därför att ta ett tag att slutföra. Dags att göra en kaffe!

Relaterad  Så här spårar du din menstruationscykel med din iPhones hälsoapp

Därefter måste du uppdatera SSH-värdnycklarna för att upprätthålla anslutningen med den omkonfigurerade Raspberry Pi efter en förestående 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å användaren kommer att ändra från [email protected] till [email protected] tills du går in i utgången på linje 8.

Förbered dig för omstart från USB!

Bara några fler 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 i 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 den här använder den 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 sedan strömförsörjningen igen – din Raspberry Pi bör nu starta från USB-enheten! Och för mer hjälp med din Pi, kolla in hur du ställer in Wi-Fi och Bluetooth på Raspberry Pi 3.

Är du redo att ge Raspberry Pi 4 ett försök? Kolla in dess funktioner och specifikationer.

Om författaren

Christian Cawley (1562 publicerade artiklar)

Biträdande redaktör för säkerhet, Linux, gör-det-själv, programmering och teknisk förklarad, och riktigt användbar podcastproducent, med lång erfarenhet av skrivbords- och mjukvarustöd. Christian är en bidragsgivare till tidningen Linux Format och är en Raspberry Pi-pyssling, en Lego-älskare och en retrospelfantast.

Relaterad  Android: augmented reality kommer att landa på hundratals miljoner smartphones från 2018

Mer från Christian Cawley

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera

Table of Contents