Hvordan lage Raspberry Pi 3 -oppstart fra USB

Hvordan lage Raspberry Pi 3 -oppstart fra USB

Raspberry Pi er et flott, allsidig sett som er i stand til så forskjellige prosjekter som å drive et mediesenter som kan brukes som kringkastingsradio. Men den har en tydelig feil: manglende evne til å starte opp fra USB.





Vel, til nå, det vil si.





Hvis du bruker en Raspberry Pi 3, er det nå mulig å avstå fra oppstart fra microSD og i stedet starte datamaskinen fra en USB -enhet. Dette kan være en flash -pinne, en SSD med en USB -adapter eller til og med en USB -harddisk i full størrelse. Dette er en betydelig utvikling, så la oss ta en titt på hvordan du kan konfigurere Raspberry Pi 3 til å starte opp fra USB.





Kom i gang: Installer Raspbian og legg til nye filer

Det er best å starte dette prosjektet med en ny kopi av Raspbian, så last ned siste versjon (vi bruker Raspbian Jessie ) og installer den på vanlig måte . Så snart dette er gjort, fjern kortet trygt fra PCen, sett det inn i Raspberry Pi som er slått av og start opp, ekstern tilkobling over SSH så snart den laster opp.

Logg på (med mindre du har endret standardlegitimasjonen) og kjør deretter følgende kommandoer, som erstatter standarden



start.elf

og

bootcode.bin

filer med nylig nedlastede alternativer:





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

Denne oppdateringen leverer de to filene til

/boot

katalog. Når filene er lastet ned, fortsetter du med å aktivere USB -oppstartsmodus med:





echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

Denne kommandoen legger til

program_usb_boot_mode=1

instruksjon til slutten av

config.txt

fil.

Du må starte Pi på nytt når dette er gjort.

Neste trinn er å kontrollere at OTP-en gang programmerbart minne-er endret. Sjekk dette med:

vcgencmd otp_dump | grep 17:

Hvis resultatet er representativt for adressen

0x3020000a

(som for eksempel

17:3020000a

) så er alt bra så langt. På dette stadiet, hvis du ønsker å fjerne

program_usb_boot_mode=1

linje fra

config.txt

Dette gjøres enkelt ved å redigere

config.txt

i nano:

sudo nano /boot/config.txt

Slett eller kommenter den tilsvarende linjen (med et #før).

Klargjør USB -oppstartsenheten

Deretter kobler du en formatert (eller klar til å bli slettet) USB-pinne til en ekstra port på Raspberry Pi 3. Når dette er satt inn, fortsetter vi med å kopiere operativsystemet.

Begynn med å identifisere USB -minnepinnen din med

lsblk

kommando.

I dette eksemplet er SD -kortet

mmcblk0

mens USB -pinnen er

sda

(den er formatert partisjon

sda1

). Hvis du har andre USB -lagringsenheter tilkoblet, kan USB -pinnen være sdb, sdc, etc. Med navnet på USB -pinnen din etablert, må du demontere disken og bruke det delte verktøyet til å lage en 100 MB partisjon (FAT32) og en Linux -partisjon:

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

Skriv inn ved ledeteksten (delt):

mktable msdos

Du kan bli informert om at disken ellers er koblet til. Velg i så fall Overse , merk deretter advarselen som instruerer deg om at dataene på disken vil bli ødelagt. Som forklart tidligere, bør dette være en disk du er glad for å slette eller formatere, så godta dette.

Hvis du får problemer her, må du kanskje bytte til skrivebordet (enten manuelt, eller over VNC ) og bekreft at disken ikke er montert før du går inn i mktable msdos -kommandoen i en kommandolinje med vinduer.

Fortsett delt med følgende:

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

Dette gir litt informasjon om disken og de nye partisjonene. Fortsett å avslutte med Ctrl + C, før du oppretter oppstartsfilsystemet og rotfilsystemet:

sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
sudo mkfs.ext4 /dev/sda2

Du må deretter montere målfilsystemene før du kopierer ditt nåværende Raspbian OS til 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 siste er den siste kommandoen som kopierer alt, og det vil derfor ta en stund å fullføre. På tide å lage en kaffe!

Deretter må du oppdatere SSH -vertsnøklene for å opprettholde forbindelsen til den omkonfigurerte Raspberry Pi etter en forestå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

Vær oppmerksom på at etter sudo chroot (den femte kommandoen ovenfor) bytter du til root, så brukeren vil bytte fra pi@raspberrypi til root@raspberrypi til du går inn på avkjørsel på linje 8.

Forbered deg på omstart fra USB!

Bare noen få ting til å ordne opp før Raspberry Pi er klar til å starte opp fra USB. Vi må redigere

cmdline.txt

igjen fra kommandolinjen med:

sudo sed -i 's,root=/dev/mmcblk0p2,root=/dev/sda2,' /mnt/target/boot/cmdline.txt

På samme måte må følgende endring gjøres på fstab:

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

Du er da klar til å demontere filsystemene før du slår av Pi:

cd ~
sudo umount /mnt/target/boot
sudo umount /mnt/target
sudo poweroff

Vær oppmerksom på at dette bruker det nye

poweroff

kommando som et alternativ til

shutdown

.

Når Pi har slått av, må du koble fra strømforsyningen før du fjerner SD -kortet. Deretter kobler du til strømforsyningen igjen - Raspberry Pi skal nå starte opp fra USB -enheten! Og for mer hjelp med din Pi, sjekk ut hvordan du konfigurerer Wi-Fi og Bluetooth på Raspberry Pi 3 .

hvordan tilbakestille Windows 10 til fabrikkstandard uten innstillinger

Klar til prøv Raspberry Pi 4 ? Sjekk funksjonene og spesifikasjonene.

Dele Dele kvitring E -post Slik rengjør du Windows -PC -en med kommandoprompt

Hvis det er lite lagringsplass på Windows -PC -en, kan du rydde opp i søppelet med disse raske kommandoprompt -verktøyene.

Les neste
Relaterte temaer
  • DIY
  • USB
  • Bringebær Pi
Om forfatteren Christian Cawley(1510 artikler publisert)

Nestlederedaktør for sikkerhet, Linux, gjør -det -selv, programmering og teknologi forklart, og virkelig nyttig podcast -produsent, med lang erfaring innen desktop og programvarestøtte. Christian er en bidragsyter til bladet Linux Format, og er en Raspberry Pi -tinkerer, en lego -elsker og en retro spillfan.

Mer fra Christian Cawley

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere