Hvordan

På denne måten starter du Raspberry Pi fra USB eller nettverket

Du starter normalt en Raspberry Pi fra et (mikro) SD-kort. Men noen ganger er det ikke veldig praktisk. Nylig har utviklerne av minidatamaskinfamilien lagt til to nye oppstartsmodi: USB og nettverk. Med USB-modus kan du starte Raspberry Pi fra et operativsystem på en USB-pinne eller harddisk du kobler til via USB.

Med nettverksmodus trenger du ikke engang en lokal lagringsenhet: Raspberry Pi laster ned operativsystemet over nettverket fra en annen datamaskin. For eksempel kan du enkelt starte flere Raspberry Pi-er via et operativsystem på en sentral datamaskin. Hvis du oppdaterer det sentrale operativsystemet, kjører alle Raspberry Pis automatisk den nyeste versjonen.

01 Eksperimentelle båtmodi

De nye oppstartsmodusene er eksperimentelle og utviklet for Raspberry Pi 3. Startkoden som kreves for dette er i BCM2837: prosessoren til Raspberry Pi 3. Hvis du har en Raspberry Pi 1, 2 eller Zero, kan du også bruke bruk nye oppstartsmodi, men i en rundkjøringsmåte: formater et sd-kort med fat32, kopier filen bootcode.bin til kortet og start Pi-en din fra dette kortet. Det er kanskje ikke komplett uten et SD-kort, men du kan starte din Pi fra USB eller nettverket.

02 Mulige problemer med usb

Oppstart fra USB fungerer ikke alltid. For eksempel slås noen USB-pinner på for sakte. Eksterne harddisker svarer ikke alltid innen to sekunder, tiden startkoden venter som standard. Du kan øke tidsavbruddet til fem sekunder, men noen stasjoner vil ikke engang være klare. Andre USB-pinner har veldig spesifikke krav til kommunikasjonsprotokollen, som oppstartkoden til Raspberry Pi 3 (begrenset til 32 kB rom) ikke oppfyller. Så du må kanskje prøve noen plater.

03 Fastvareoppgradering

Vi antar at din Raspbian kjører på din Raspberry Pi. Hvis ikke, last ned et bilde og legg det på et SD-kort med Win32DiskImager-programmet og start Pi fra det. Oppdater først alle arkiver med sudo apt-get oppdatering. Hvis du kjører Raspbian Lite (versjonen uten grafisk grensesnitt), kjør først sudo apt-get install rpi-oppdatering fordi den minimale versjonen av Raspbian ikke har rpi-oppdateringspakken. Oppdater deretter fastvaren fra "neste gren med sudo BRANCH = neste RPI-oppdatering.

04 Slå på USB-modus

Åpne oppstartskonfigurasjonsfilen med sudo nano /boot/config.txt og legg til kommandoen program_usb_boot_mode = 1 til slutten. Lagre filen med Ctrl + O og lukk nano med Ctrl + X. Start Pi på nytt med sudo omstart, og etter omstart, sjekk om USB-modus er på. Du gjør det med oppgaven vcgencmd otp_dump | grep 17:, som skal returnere et tall som slutter med 0x3020000a. Åpne deretter oppstartskonfigurasjonsfilen igjen og slett kommandoen program_usb_boot_mode = 1slik at du ikke ved et uhell aktiverer USB-oppstartsmodus på en annen Pi, setter du inn dette SD-kortet i.

05 Partisjonere USB-lagring

Koble nå USB-lagringsenheten til Pi-en. Del denne enheten med sudo skiltes / dev / sda. Opprett en ny partisjonstabell med mktable msdos og bekreft med Ja at du vil ødelegge all data på stasjonen. Opprett deretter en 100 megabyte fat32-partisjon med mkpart primærfett32 0% 100M og en ext4-partisjon som tar opp resten av disken med mkpart primær ext4 100M 100%. Se endringene med utskrift og lukk skilles med slutte. Opprett deretter oppstartsfilsystemet med sudo mkfs.vfat -n BOOT -F 32 / dev / sda1 og rotfilsystemet med sudo mkfs.ext4 / dev / sda2.

06 Raspbian-kopi

Installer programmet rsync med sudo apt-get install rsync. Opprett deretter en ny katalog med sudo mkdir / mnt / usb og monter ext4-filsystemet til USB-lagringen på det med sudo mount / dev / sda2 / mnt / usb /. Opprett deretter en oppstartkatalog med sudo mkdir / mnt / usb / boot og monter oppstartsfilsystemet på det med sudo mount / dev / sda1 / mnt / usb / boot /. Kopier nå Raspbian-systemet som du kjører fra SD-kortet til filsystemet på USB-lagringen. Du gjør det med oppgaven sudo rsync -ax --progress / / boot / mnt / usb. Vær tålmodig da det kan ta en stund.

07 Chroot

USB-lagringen inneholder nå en kopi av din kjørende Raspbian, men ikke alt kan være identisk. For eksempel trenger det nye systemet forskjellige ssh-nøkler. Gå derfor til USB-lagring med cd / mnt / usb og montere noen spesielle filsystemer med sudo mount --bind / dev dev, sudo mount --bind / sys sys og sudo mount --bind / proc proc. Skriv deretter inn en chroot (endre rot) med sudo chroot .. Alle kommandoer du nå utfører, blir utført i systemet på USB-lagringen, ikke lenger i systemet på SD-kortet.

08 Nye ssh-nøkler

Du er nå rotbrukeren i chroot. Slett først de eksisterende ssh-tastene, da det er de vi kopierte fra systemet fra sd-kortet. Du gjør det med rm / etc / ssh / ssh_host *. Generer deretter nye ssh-nøkler ved å konfigurere OpenSSH-serveren på nytt med dpkg konfigurerer openssh-server på nytt. Etter det, avslutt chroot med exit. Alle kommandoer som du nå utfører, kjøres igjen i systemet på SD-kortet. Koble deretter de spesielle filsystemene med sudo umount dev, sudo umount sys og sudo umount proc.

09 Tilpasse rotfilsystemet

Forsikre deg om at Pi bruker rotfilsystemet på USB-lagringen i stedet for det på SD-kortet. For det justerer du filen /boot / cmdline.txt å med sudo sed -i "s, root = / dev / mmcblk0p2, root = / dev / sda2,"/mnt/usb/boot/cmdline.txt. Gjør det samme i filen / etc / fstab: sudo sed -i "s, / dev / mmcblk0p, / dev / sda," / mnt / usb / etc / fstab. Deretter går du til hjemmekatalogen din med cd, og demonter filsystemene fra USB-lagring med sudo umount / mnt / usb / boot og sudo umount / mnt / usb og slå av Pi med sudo poweroff. Koble fra strømkabelen, ta ut SD-kortet og koble strømkabelen til igjen. Hvis alt går bra, vil Pi nå starte fra USB-lagringen.

$config[zx-auto] not found$config[zx-overlay] not found