Kako

Na ta način zaženete Raspberry Pi iz USB-ja ali omrežja

Raspberry Pi običajno zaženete s (mikro) kartice SD. Toda včasih to ni zelo priročno. V zadnjem času so razvijalci družine miniračunalnikov dodali dva nova načina zagona: usb in omrežje. V načinu USB lahko Raspberry Pi zaženete iz operacijskega sistema na ključku USB ali trdem disku, ki ga povežete prek USB-ja.

V omrežnem načinu ne potrebujete niti lokalne naprave za shranjevanje: Raspberry Pi prenese svoj operacijski sistem prek omrežja iz drugega računalnika. Tako lahko na primer enostavno zaženete več Raspberry Pi prek operacijskega sistema v osrednjem računalniku. Če posodobite ta centralni operacijski sistem, bo vsa vaša Raspberry Pis samodejno zagnala najnovejšo različico.

01 Eksperimentalni načini čolna

Novi načini zagona so eksperimentalni in razviti za Raspberry Pi 3. Za to potrebna zagonska koda je v BCM2837: procesorju Raspberry Pi 3. Če imate Raspberry Pi 1, 2 ali Zero, lahko uporabite tudi uporabite nove načine zagona, vendar na zaokrožen način: formatirajte sd kartico z fat32, kopirajte datoteko bootcode.bin na kartico in s te kartice zaženite Pi. To morda ne bo popolno brez kartice SD, vendar lahko Pi zaženete z USB-ja ali omrežja.

02 Možne težave z usb

Zagon z USB-ja ne deluje vedno. Na primer, nekatere ključke USB se vklopijo prepočasi. Tudi zunanji trdi diski se ne odzovejo vedno v dveh sekundah, čas, ki ga privzeto čaka zagonska koda. Časovno omejitev lahko povečate na pet sekund, vendar nekateri pogoni niti ne bodo pripravljeni. Drugi USB ključki imajo zelo specifične zahteve za komunikacijski protokol, česar zagonska koda Raspberry Pi 3 (omejena na 32 kB rom) ne izpolnjuje. Torej boste morda morali preizkusiti nekaj diskov.

03 Nadgradnja vdelane programske opreme

Predvidevamo, da vaš Raspbian deluje na vašem Raspberry Pi. V nasprotnem primeru prenesite sliko in jo položite na SD kartico s programom Win32DiskImager in z nje zaženite Pi. Najprej osvežite vsa skladišča z posodobitev sudo apt-get. Če uporabljate Raspbian Lite (različica brez grafičnega vmesnika), zaženite najprej sudo apt-get install rpi update ker ta minimalna različica Raspbiana nima paketa rpi-update. Nato posodobite vdelano programsko opremo iznaslednja veja s sudo BRANCH = naslednja posodobitev rpi.

04 Vklop načina USB

Odprite zagonsko konfiguracijsko datoteko z sudo nano /boot/config.txt in dodajte ukaz program_usb_boot_mode = 1 do konca. Datoteko shranite s Ctrl + O in zaprite nano s Ctrl + X. Znova zaženite Pi z sudo ponovni zagonin po ponovnem zagonu preverite, ali je vklopljen način USB. To naredite z nalogo vcgencmd otp_dump | grep 17:, ki naj vrne številko, ki se konča z 0x3020000a. Nato znova odprite zagonsko konfiguracijsko datoteko in izbrišite ukaz program_usb_boot_mode = 1tako nenamerno ne omogočite zagonskega načina USB na drugem Pi-ju, v katerega vstavite to kartico SD.

05 Razdeljevanje pomnilnika USB

Zdaj povežite svojo pomnilniško napravo USB s svojim Pi. Razdeli to napravo na sudo ločil / dev / sda. Ustvari novo particijsko tabelo z mktable msdos in potrdite z Da da želite uničiti vse podatke na pogonu. Nato ustvarite particijo fat32 s 100 megabajti mkpart primarna maščoba32 0% 100M in particijo ext4, ki zavzame preostali del diska mkpart primarni ext4 100M 100%. Oglejte si spremembe s tiskanjem in zaprite ločitev z prenehati. Nato ustvarite zagonski datotečni sistem z sudo mkfs.vfat -n BOOT -F 32 / dev / sda1 in korenski datotečni sistem z sudo mkfs.ext4 / dev / sda2.

06 Raspbian kopija

Namestite program rsync z sudo apt-get namestite rsync. Nato ustvarite nov imenik z sudo mkdir / mnt / usb in nanj namestite datotečni sistem ext4 shrambe usb sudo mount / dev / sda2 / mnt / usb /. Nato ustvarite zagonski imenik z sudo mkdir / mnt / usb / boot in nanj namestite zagonski datotečni sistem z sudo mount / dev / sda1 / mnt / usb / boot /. Zdaj kopirajte Raspbian sistem, ki ga zaženete s kartice SD, v datotečni sistem v pomnilniku USB. To naredite z nalogo sudo rsync -ax --progress / / boot / mnt / usb. Bodite potrpežljivi, saj lahko traja nekaj časa.

07 Chroot

Shramba USB zdaj vsebuje kopijo vašega nameščenega Raspbian, vendar ne more biti vse enako. Na primer, novi sistem potrebuje različne ssh tipke. Zato pojdite na pomnilnik USB z cd / mnt / usb in namestite nekaj posebnih datotečnih sistemov z sudo mount --bind / dev dev, sudo mount --bind / sys sys in sudo mount --bind / proc proc. Nato vnesite a chroot (spremeni koren) s sudo chroot .. Vsi ukazi, ki jih zdaj izvedete, se bodo izvajali v sistemu na pomnilniku USB, ne več v sistemu na kartici SD.

08 Nove ssh tipke

Zdaj ste korenski uporabnik v chrootu. Najprej izbrišite obstoječe ssh tipke, saj so tiste, ki smo jih kopirali iz sistema s sd kartice. To narediš z rm / etc / ssh / ssh_host *. Nato ustvarite nove ssh ključe, tako da znova konfigurirate strežnik OpenSSH z dpkg prekonfiguriraj strežnik openssh. Po tem zapustite chroot s izhod. Vsi ukazi, ki jih zdaj izvajate, se bodo znova izvajali v sistemu na sd kartici. Nato odklopite posebne datotečne sisteme z sudo umount dev, sudo umount sys in sudo umount proc.

09 Prilagajanje korenskega datotečnega sistema

Zdaj se prepričajte, da Pi uporablja korenski datotečni sistem na USB-pomnilniku namesto na SD-kartici. Za to prilagodite datoteko /boot / cmdline.txt do s sudo sed -i "s, root = / dev / mmcblk0p2, root = / dev / sda2,"/mnt/usb/boot/cmdline.txt. Naredite enako v datoteki / etc / fstab: sudo sed -i "s, / dev / mmcblk0p, / dev / sda," / mnt / usb / etc / fstab. Po tem pojdite v domači imenik s CD-jem, s tem odklopite datotečne sisteme iz USB-pomnilnika sudo umount / mnt / usb / boot in sudo umount / mnt / usb in izklopite Pi s sudo poweroff. Odklopite napajalni kabel, odstranite kartico SD in ponovno priključite napajalni kabel. Če bo vse v redu, se bo Pi zdaj zagnal iz pomnilnika USB.

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