Jak

Tímto způsobem spustíte Raspberry Pi z USB nebo ze sítě

Normálně spustíte Raspberry Pi z (mikro) SD karty. Ale někdy to není příliš výhodné. Nedávno vývojáři rodiny minipočítačů přidali dva nové režimy spouštění: usb a síť. V režimu USB můžete Raspberry Pi spustit z operačního systému na USB flash disku nebo pevném disku, který připojíte přes USB.

V síťovém režimu nepotřebujete ani lokální úložné zařízení: Raspberry Pi stáhne svůj operační systém přes síť z jiného počítače. Například můžete snadno spustit více Raspberry Pi prostřednictvím operačního systému na centrálním počítači. Pokud aktualizujete tento centrální operační systém, všechny vaše Raspberry Pis automaticky spustí nejnovější verzi.

01 Experimentální režimy lodi

Nové režimy zavádění jsou experimentální a byly vyvinuty pro Raspberry Pi 3. Potřebný spouštěcí kód je v BCM2837: procesor Raspberry Pi 3. Pokud máte Raspberry Pi 1, 2 nebo Zero, můžete také použít použijte nové režimy zavádění, ale oklikou: naformátujte SD kartu pomocí Fat32, zkopírujte soubor bootcode.bin na kartu a spusťte z této karty své Pi. To nemusí být úplné bez SD karty, ale můžete své Pi spustit z USB nebo ze sítě.

02 Možné problémy s USB

Zavádění z USB nemusí vždy fungovat. Například některé USB klíče se zapínají příliš pomalu. Také externí pevné disky ne vždy reagují do dvou sekund, což je čas, který ve výchozím nastavení čeká spouštěcí kód. Tuto prodlevu můžete prodloužit na pět sekund, ale některé disky ani nebudou připraveny. Ostatní USB flash disky mají velmi specifické požadavky na komunikační protokol, které bootovací kód Raspberry Pi 3 (omezený na 32 kB) nesplňuje. Možná budete muset některé disky vyzkoušet.

03 Aktualizace firmwaru

Předpokládáme, že váš Raspbian běží na vašem Raspberry Pi. Pokud ne, stáhněte obrázek a vložte jej na SD kartu pomocí programu Win32DiskImager a z něj spusťte Pi. Nejprve obnovte všechna úložiště pomocí sudo apt-get aktualizace. Pokud používáte Raspbian Lite (verze bez grafického rozhraní), spusťte jako první sudo apt-get install rpi update protože tato minimální verze Raspbian nemá balíček rpi-update. Poté aktualizujte firmware z „next branch with sudo BRANCH = next rpi update.

04 Zapnutí režimu USB

Otevřete spouštěcí konfigurační soubor pomocí sudo nano /boot/config.txt a přidejte příkaz program_usb_boot_mode = 1 do konce. Uložte soubor pomocí Ctrl + O a zavřete nano pomocí Ctrl + X. Restartujte Pi pomocí sudo restarta po restartu zkontrolujte, zda je zapnutý režim USB. To uděláte s úkolem vcgencmd otp_dump | grep 17:, který by měl vrátit číslo končící na 0x3020000a. Poté znovu otevřete spouštěcí konfigurační soubor a příkaz smažte program_usb_boot_mode = 1takže omylem neaktivujete režim bootování z USB na jiném Pi, do kterého vložíte tuto SD kartu.

05 Rozdělení úložiště USB

Nyní připojte své usb úložné zařízení k vašemu Pi. Rozdělte toto zařízení na sudo parted / dev / sda. Vytvořte novou tabulku oddílů pomocí mskt tabulky mktable a potvrďte pomocí Ano že chcete zničit všechna data na disku. Pak vytvořte 100megabajtový oddíl fat32 pomocí mkpart primární tuk32 0% 100M a oddíl ext4, který zabírá zbytek disku mkpart primární ext4 100M 100%. Zobrazit změny s tiskem a zavřít rozdělené s přestat. Poté vytvořte zaváděcí souborový systém pomocí sudo mkfs.vfat -n BOOT -F 32 / dev / sda1 a kořenový souborový systém s sudo mkfs.ext4 / dev / sda2.

06 Raspbian kopie

Nainstalujte program rsync pomocí sudo apt-get install rsync. Poté vytvořte nový adresář pomocí sudo mkdir / mnt / usb a připojte na něj souborový systém ext4 úložiště USB pomocí sudo mount / dev / sda2 / mnt / usb /. Poté vytvořte spouštěcí adresář pomocí sudo mkdir / mnt / usb / boot a připojte k němu zaváděcí souborový systém pomocí sudo mount / dev / sda1 / mnt / usb / boot /. Nyní zkopírujte systém Raspbian, který používáte z karty SD, do systému souborů ve vašem úložišti USB. To uděláte s úkolem sudo rsync -ax --progress / / boot / mnt / usb. Buďte prosím trpěliví, protože to může chvíli trvat.

07 Chroot

Úložiště USB nyní obsahuje kopii běžícího Raspbian, ale ne všechno může být totožné. Například nový systém potřebuje různé klíče ssh. Proto přejděte do úložiště USB pomocí cd / mnt / usb a připojit některé speciální souborové systémy s sudo mount --bind / dev dev, sudo mount --bind / sys sys a sudo mount --bind / proc proc. Poté zadejte a chroot (změnit kořen) pomocí sudo chroot .. Všechny příkazy, které nyní provedete, budou provedeny v systému na úložišti USB, již v systému na SD kartě.

08 Nové klíče ssh

Nyní jste v kořenovém adresáři uživatele root. Nejprve odstraňte stávající klíče ssh, protože to jsou ty, které jsme zkopírovali ze systému ze sd karty. Děláte to s rm / etc / ssh / ssh_host *. Poté vygenerujte nové klíče ssh rekonfigurací serveru OpenSSH pomocí dpkg překonfigurovat openssh server. Poté opusťte chroot pomocí výstup. Všechny příkazy, které nyní provedete, budou provedeny znovu v systému na SD kartě. Poté odpojte speciální souborové systémy pomocí sudo umount dev, sudo umount sys a sudo umount proc.

09 Přizpůsobení kořenového souborového systému

Nyní se ujistěte, že Pi používá kořenový souborový systém na úložišti USB namísto systému na SD kartě. K tomu upravíte soubor /boot / cmdline.txt s sudo sed -i "s, root = / dev / mmcblk0p2, root = / dev / sda2,"/mnt/usb/boot/cmdline.txt. Totéž proveďte v souboru / etc / fstab: sudo sed -i "s, / dev / mmcblk0p, / dev / sda," / mnt / usb / etc / fstab. Poté přejděte do domovského adresáře s cd, odpojte souborové systémy z úložiště USB pomocí sudo umount / mnt / usb / boot a sudo umount / mnt / usb a vypněte Pi pomocí sudo vypnutí. Odpojte napájecí kabel, vyjměte kartu SD a znovu připojte napájecí kabel. Pokud vše půjde dobře, vaše Pi se nyní spustí z vašeho úložiště USB.