Il Raspberry Pi è un ottimo kit versatile, capace di progetti diversi come la gestione di un media center da utilizzare come radio di trasmissione. Ma ha un difetto lampante: l'impossibilità di avviare da USB.
Bene, fino ad ora, quello è.
Se stai usando un Raspberry Pi 3 The Raspberry Pi 3: Più veloce, migliore, con Wi-Fi e Bluetooth Raspberry Pi 3: Più veloce, migliore, con Wi-Fi e Bluetooth Oggi, la fondazione Raspberry Pi ha annunciato il rilascio del Raspberry Pi 3. È l'aggiornamento più significativo della popolare linea di computer a basso costo. Per saperne di più, è ora possibile rinunciare all'avvio da microSD e avviare il computer da un dispositivo USB. Potrebbe trattarsi di una penna flash, un SSD con un adattatore USB o persino un disco rigido USB di dimensioni standard. Questo è uno sviluppo significativo, quindi diamo un'occhiata a come è possibile impostare il tuo Raspberry Pi 3 per l'avvio da USB.
Inizia: installa Raspbian e aggiungi nuovi file
È meglio iniziare questo progetto con una nuova copia di Raspbian, quindi scaricare l'ultima versione (stiamo usando Raspbian Jessie 5 modi nuovi Raspbian Jessie rende il Raspberry Pi ancora più semplice da usare 5 modi Nuovo Raspbian Jessie rende il Raspberry Pi ancora più facile da usare in seguito il rilascio di Debian Jessie a luglio, la comunità Raspberry Pi è stata benedetta con una nuova versione della variante Raspbian, basata sulla distro "madre" Leggi di più) e installarlo nel solito modo Come installare un sistema operativo sul tuo Raspberry Pi Come installare un sistema operativo sul tuo Raspberry Pi Ecco come ottenere un nuovo sistema operativo installato e funzionante sul tuo Pi - e come clonare la tua configurazione perfetta per un rapido disaster recovery. Leggi di più . Appena fatto, rimuovi la scheda dal PC in modo sicuro, inseriscila nel Raspberry Pi inattivo e avvia la connessione remota tramite SSH Configurazione del tuo Raspberry Pi per l'uso senza testa Con SSH Configura il tuo Raspberry Pi per l'uso senza testa Con SSH Il Raspberry Pi può accettare comandi SSH quando è connesso a una rete locale (tramite Ethernet o Wi-Fi), consentendo di configurarlo facilmente. I vantaggi di SSH vanno oltre a sconvolgere lo screening quotidiano ... Leggi di più non appena si carica.
Accedi (a meno che tu non abbia cambiato le tue credenziali predefinite Proteggendo il tuo Raspberry Pi: dalle password ai firewall Proteggendo il tuo Raspberry Pi: dalle password ai firewall Tutti possono usare Google per trovare il nome utente e la password predefiniti del tuo Raspberry Pi. Non intruders questa possibilità! Leggi altro) quindi esegui i seguenti comandi, che sostituiranno i file start.elf
e bootcode.bin
predefiniti con le alternative appena scaricate:
sudo apt-get update sudo BRANCH=next rpi-update
Questo aggiornamento consegna i due file nella directory /boot
. Con i file scaricati, procedere per abilitare la modalità di avvio USB con:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
Questo comando aggiunge l'istruzione program_usb_boot_mode=1
alla fine del file config.txt
.
Avrai bisogno di riavviare il Pi una volta fatto.
Il passo successivo è verificare che l'OTP - una memoria programmabile una sola volta - sia stata cambiata. Controlla questo con:
vcgencmd otp_dump | grep 17:
Se il risultato è rappresentativo dell'indirizzo 0x3020000a
(ad esempio 17:3020000a
), tutto è buono finora. In questa fase, se desideri rimuovere la riga program_usb_boot_mode=1
dal file config.txt
, puoi farlo. Il Pi ora è abilitato per l'avvio USB, e potresti voler usare la stessa scheda microSD in un altro Raspberry Pi 3, con la stessa immagine, quindi rimuovere la linea è una buona idea.
Questo è fatto facilmente modificando config.txt
in nano:
sudo nano /boot/config.txt
Elimina o commenta la riga corrispondente (con un # precedente).
Preparare il dispositivo di avvio USB
Quindi, collega una chiavetta USB formattata (o pronta per essere eliminata) in una porta di riserva sul tuo Raspberry Pi 3. Con questo inserito, procederemo a copiare il sistema operativo.
Inizia identificando la tua chiavetta USB, con il comando lsblk
.
In questo esempio, la scheda SD è mmcblk0
mentre la chiavetta USB è sda
(la partizione formattata è sda1
). Se sono collegati altri dispositivi di archiviazione USB, la chiavetta USB potrebbe essere sdb, sdc, ecc. Dopo aver stabilito il nome della chiavetta USB, smontare il disco e utilizzare lo strumento parted per creare una partizione da 100 MB (FAT32) e una partizione Linux:
sudo umount /dev/sda sudo parted /dev/sda
Al prompt (parted), inserire:
mktable msdos
Potresti essere informato che il disco è impegnato in altro modo. In tal caso, seleziona Ignora, quindi annota l'avviso che ti informa che i dati sul disco saranno distrutti. Come spiegato in precedenza, questo dovrebbe essere un disco che sei felice di eliminare o formattare, quindi accetta questo.
Se si incontrano problemi qui, potrebbe essere necessario passare al desktop (manualmente o tramite VNC Come eseguire un desktop remoto su Raspberry Pi con VNC Come eseguire un desktop remoto su Raspberry Pi con VNC Cosa fare se è necessario accedere al desktop Raspberry Pi dal tuo PC o laptop, senza dover collegare una tastiera, un mouse e un monitor? Ecco dove entra VNC. Leggi altro) e conferma che il disco è smontato, prima di entrare nel comando mdtable msdos in un comando con finestra linea.
Procedi in separazione con quanto segue:
mkpart primary fat32 0% 100M mkpart primary ext4 100M 100% print
Questo produrrà alcune informazioni riguardanti il disco e le nuove partizioni. Procedere all'uscita parted con Ctrl + C, prima di creare il file system di avvio e il filesystem di root:
sudo mkfs.vfat -n BOOT -F 32 /dev/sda1 sudo mkfs.ext4 /dev/sda2
È quindi necessario montare i filesystem di destinazione, prima di copiare il sistema operativo Raspbian corrente sul dispositivo USB.
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
Quest'ultimo è l'ultimo comando che copia tutto, e quindi ci vorrà un po 'per completare. È ora di fare un caffè!
Successivamente, è necessario aggiornare le chiavi dell'host SSH, per mantenere la connessione con il Raspberry Pi riconfigurato dopo un imminente riavvio:
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
Si noti che dopo sudo chroot (il quinto comando sopra) si passa a root, quindi l'utente passerà da pi @ raspberrypi a root @ raspberrypi finché non si entra exit on line 8.
Preparati per il riavvio da USB!
Ancora un paio di cose da risolvere prima che il tuo Raspberry Pi sia pronto per l'avvio da USB. Dobbiamo modificare nuovamente cmdline.txt
dalla riga di comando con:
sudo sed -i "s, root=/dev/mmcblk0p2, root=/dev/sda2, " /mnt/target/boot/cmdline.txt
Allo stesso modo, è necessario apportare le seguenti modifiche a fstab:
sudo sed -i "s, /dev/mmcblk0p, /dev/sda, " /mnt/target/etc/fstab
Sei pronto per smontare i filesystem prima di spegnere il Pi:
cd ~ sudo umount /mnt/target/boot sudo umount /mnt/target sudo poweroff
Si noti che questo utilizza il nuovo comando poweroff
come alternativa shutdown
.
Quando il Pi si è spento, scollegare l'alimentazione prima di rimuovere la scheda SD. Quindi, ricollega l'alimentatore: il tuo Raspberry Pi dovrebbe ora essere avviato dal dispositivo USB!
Hai provato questo? Incuriosito dalle possibilità di un avvio USB piuttosto che dalla scheda SD? Stai pianificando di provarlo? Diteci nei commenti!