Esiste un modo per eseguire l'avvio da un disco rigido esterno collegato al dispositivo tramite la porta USB (anziché l'avvio dalla scheda SD)?
Esiste un modo per eseguire l'avvio da un disco rigido esterno collegato al dispositivo tramite la porta USB (anziché l'avvio dalla scheda SD)?
Risposte:
Ora, quasi cinque anni dopo che l'autore ha posto questa domanda,
Raspberry Pi supporta ufficialmente l'avvio da un dispositivo di archiviazione di massa USB .
Tuttavia, questo è supportato solo per Raspberry Pi 3 . Ecco perché:
Sarà possibile avviare un Pi 1 o Pi 2 usando MSD?
Sfortunatamente no. Il codice di avvio è memorizzato solo nel dispositivo BCM2837, quindi Pi 1, Pi 2 e Pi Zero richiedono tutti schede SD.
Non è possibile avviare RPi da USB direttamente nel vero senso della parola. Tuttavia non c'è nulla che impedisca a qualcuno di creare una mini-distro che contenga / boot e una sorta di boot manager. Questo potrebbe quindi implementare l'avvio da USB o anche un ambiente in stile PXE. Questo potrebbe stare su una piccola scheda SD: le schede da 64 MB sono ora disponibili per pochi centesimi. Mi aspetto che qualcuno lanci una distribuzione per questo, ma non ne ho trovato uno fino ad oggi.
Nel frattempo puoi spostare la tua partizione di root sul disco rigido per ottenere tempi di avvio più rapidi, ma è un po 'complicato poiché dovrai ottenere un kernel che supporti l'archiviazione USB. Buone istruzioni su come eseguire questa operazione sono disponibili all'indirizzo: http://mitchtech.net/raspberry-pi-root-fs-on-usb-drive/
Dalle domande frequenti su Raspberry Pi :
Devi eseguire l'avvio da SD ma un USB HD può "prendere il controllo" dopo l'avvio iniziale. Non è possibile avviare senza una scheda SD.
Infatti, se puoi vivere solo con la partizione SD MS-DOS (/ boot) in cui risiede il kernel, puoi avere / root e tutto il resto su un dispositivo esterno. La scheda di memoria USB o un disco rigido fisico vanno bene come unità secondaria. La cosa buona è che a meno che tu non abbia "spostato" nella posizione sbagliata, questa è una procedura non distruttiva: una modifica e torni all'originale,
Configurare questa configurazione è abbastanza semplice. Configurare l'installazione come al solito e spostare / copiare la partizione EXT4 sul disco esterno.
Usando ' fdisk
' partiziona l'unità secondaria selezionata, crea una partizione della stessa dimensione o più grande dell'attuale mmcblk0p2 (o mmcblk0p5). Salva la nuova configurazione.
Trova il nome della partizione, in questo esempio, '/ dev / sda5', tuttavia questa partizione dipenderà dalla tua configurazione.
Copia la partizione in esecuzione (nota: non è consigliabile copiare una partizione in esecuzione, alcuni file sono in 'instabile' o in stato aperto, tuttavia, funzionano bene):
dd if=/dev/mmcblk0p2 of=/dev/sda5 bs=10M
ora, modifica la seguente riga nel file /boot/cmdline.txt e modifica la posizione 'root':
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
A questa nuova linea.
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda5 rootfstype=ext4 elevator=deadline rootwait
Nota che la partizione di avvio è MS-DOS, quindi se devi riparare puoi montare la SD altrove e modificarla. Se l'avvio non riesce, il caricatore mostrerà sullo schermo (HDMI) i punti di montaggio disponibili.
Questa configurazione è subordinata all'ordine di montaggio. Il numero di partizione può cambiare se il dispositivo è montato su un altro slot; puoi rendere indipendente questa posizione come segue.
Trova il dispositivo "UUID"
blkid /dev/sda5
/dev/sda5: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4"
o crearne uno nuovo
tune2fs -U random /dev/sda5
e ottieni il nome appena assegnato
blkid /dev/sda5
/dev/sda5: UUID="25b6aa72-ddc4-485e-8044-900ac24d662b" TYPE="ext4"
quindi modifica il cmdline.txt precedentemente modificato cambiando la posizione principale in:
root=UUID=25b6aa72-ddc4-485e-8044-900ac24d662b
Dopo aver avviato la nuova configurazione, modifica fstab, rimuovi la vecchia / mmcblk0p2 nota: questo è un file sul 'nuovo' / dispositivo root
Sostituisci / dev / mmcblk0p% (% è la partizione Linux)
nano /etc/fstab
UUID=25b6aa72-ddc4-485e-8044-900ac24d662b ...
In raspbian, basta cambiare la root
bandiera /boot/cmdline.txt
a root=/dev/sdaX
dove X
è il numero della partizione appropriata.
Per i dettagli su come ottenere raspbian su USB, ecc., È possibile consultare qui http://blog.krastanov.org/2014/01/30/booting-pi-reliably-from-usb/
Ho invece usato Windows per il 100% della creazione.
Ho usato il "gestore di partizioni MiniTool" gratuito e ho appena trasferito l'avvio sulla mia scheda SD più piccola, che può essere espansa automaticamente con il gestore delle partizioni. Apri cmdline.txt
e cambia in root=/dev/sda5
.
Lo stesso gestore delle partizioni mi ha permesso di copiare ext4 sul mio portatile da 1 TB (FYI rimuove prima tutte le partizioni dalle unità in modo da avere spazio non partizionato prima del trasferimento). Vala - avviato. Sto notando con l'HDD standard che i tempi di accesso sono un po 'carenti anche se hanno velocità R / W molto elevate rispetto alla maggior parte delle schede SD.
L'unico problema che sto riscontrando ora è l'espansione della partizione ext4 (root) dai 32 GB originali (della mia scheda SD originale). Quindi al momento ho solo 32 GB di 1 TB. Hmm. Sono solo un principiante con il terminale e i suoi comandi, quindi il partizionamento in Linux è un po 'confuso, ma questa guida ha aiutato MOLTO bene.