So che puoi semplicemente copiare e incollare i file NOOBS e funziona, ma a parte questo, per installare altri sistemi operativi su un raspberry pi o qualche altro dispositivo simile come odroid, ecc, mi è stato chiesto di usare lapplicazione terminale “dd” che impiega molto tempo per fare il suo lavoro.
Presumo che questa operazione sia più “coinvolta” che semplicemente copia e incolla? Perché non posso semplicemente copiare e incollare limmagine?
– potrei semplicemente montare limmagine di Linux sul mio computer, quindi copiarne e incollarne il contenuto nel microsd invece di doverla usare lo strumento dd o qualche altra applicazione “flash”?
EDIT: ho appena trovato unottima risposta a questa domanda qui , ma sto pensando Dovrei mantenere questa domanda qui perché è una classica domanda noob che merita di essere risolta su questo forum. Se qualcuno ha più dettagli su questa risposta che si riferiscono direttamente al processo di avvio di raspberry pi (e come funziona quella cosa NOOBS ??), per favore rispondi
Commenti
- Lesecuzione di NOOBS su una nuova scheda SD richiede più di 15 minuti per configurare le partizioni.
Risposta
Per rispondere in modo completo a questa domanda sono necessarie informazioni di base di ogni genere. Penso che inizierò con un paio di cose che penso che potresti aver frainteso.
La scheda SD (o una piccola chiavetta USB ) è chiamata unità “Flash” perché è il nome della memoria di tipo “Flash” che contiene. Quando copi un file su una scheda SD , i circuiti al suo interno spostano le cariche attorno al chip in un modo che persisterà quando lo scolleghi. (I normali chip di memoria “ Dynamic RAM ” in un computer perdono tutto rapidamente non appena lalimentazione si spegne.) La memoria flash è molto lenta da scrivere e lenta (ma n ot come lento) da leggere (rispetto alla RAM dinamica). Anche la Flash RAM “si esaurisce”, quindi dopo migliaia di cicli di lettura / scrittura alcune parti smettono di funzionare.
Fortunatamente per te, la maggior parte di ciò è invisibile in pratica, quindi puoi fingere che una scheda SD o una chiavetta USB Flash sia molto simile a un minuscolo disco rigido o floppy disk. Ma entrambi sono abbastanza diversi dalla “masterizzazione” di un CD o DVD.
Quindi cerca di dimenticare di “far lampeggiare” le informazioni sulla scheda SD. Quello che stai facendo non è esattamente paragonabile al “lampeggiare” della scheda madre di un computer o di qualche altro componente elettronico, perché non devi compiere sforzi particolari per modificare i dati nella memoria della scheda SD. In fondo ai chip potrebbe essere esattamente simile, ma il processo che usi per scrivere su una scheda SD o una chiavetta USB è molto diverso.
Il Raspberry Pi è stato progettato per cercare un avvio sulla scheda SD partizione utilizzando un filesystem FAT. A seconda di come si utilizza il Pi, quella potrebbe essere lunica partizione sulla scheda SD, ma un sistema operativo sofisticato come Raspbian non può essere eseguito su un filesystem FAT, quindi è necessaria almeno una partizione aggiuntiva (o ununità separata) in grado di gestire file Linux, come il formato ext4.
Quando si esegue Linux o Windows o un Mac e si “copia” un file da un file system “montato” a un altro, il sistema operativo si occupa di creare , eliminando e indicando i file quando vengono inseriti sul disco rigido, sullunità flash o altro. I file vengono archiviati allinterno di ogni partizione utilizzando le regole specifiche del filesystem, che si tratti di FAT, ext4, Mac HFS + o altro.
Quando inizi con un file immagine (spesso identificato come .iso per linux o .dmg su un Mac), il file contiene TUTTO, inclusi tutti i pezzi che identificano le partizioni e i blocchi di dati allinterno delle partizioni.
Quando si utilizza il comando dd in Linux per copiare un file , prende i bit da (o in) un .iso ESATTAMENTE poiché sono memorizzati su un disco o una scheda SD, ignorando completamente le partizioni, i filesystem, i file e le directory di cui tu e il sistema operativo avete bisogno per dare un senso ai dati su di esso. È un tipo completamente diverso di operazione di copia. Se trascini semplicemente quel .iso sulla tua scheda SD, non solo lo riempirai inutilmente, ma il Pi non sa come guardare “dentro” il file .iso per ottenere ciò di cui ha bisogno.
A La copia dd richiede molto tempo perché le schede SD sono lente e stai copiando grandi blocchi di dati alla volta. Quando tutto è tenuto in considerazione, tuttavia, potrebbe essere più veloce della copia dei singoli file.
E per rispondi alla domanda, sì, potresti montare limmagine e copiare i file nelle varie partizioni, ma quasi sempre ci sarà più di una partizione e dovrai mettere i file al posto giusto. In molti casi è più semplice per usare semplicemente dd per copiare dai file di immagine sulla scheda SD.
Risposta
Il tuo uso del termine “flash” qui è inappropriato se si intende riferirsi a un contrasto; sebbene le schede SD siano basate su memoria flash , la copia su di esse è sempre la stessa a quel livello indipendentemente dallo strumento che utilizzi, dal tipo di dati è, ecc. In altre parole, se ti riferisci alla copia di dati su una scheda SD come a “lampeggiare”, allora si applica ugualmente bene, non importa quale. Se vuoi chiamarlo “copia”, stessa logica – entrambe le procedure a cui fai riferimento implicano la copia dei dati mediante il “flashing” della memoria flash. Questa è la natura delle schede SD; lutilizzo di cut n “paste vs. dd
non cambia le caratteristiche fisiche dellhardware. Ma tutto questo è tangenziale alla tua domanda principale.
Il modo in cui NOOBS Linstallazione funziona è che formatti la scheda, creando una partizione vfat in cui puoi copiare file regolari dallo zip.
Il modo in cui funzionano le installazioni basate su immagini è che tu copi a basso livello una versione blocco per blocco di diverse partizioni direttamente sulla scheda. Questo è il motivo per cui non è necessario formattarla prima; quellimmagine contiene le partizioni formattate, la prima delle quali (la partizione di avvio) ha esattamente lo stesso scopo (e ne contiene alcune degli stessi file, come il codice critico del bootloader) della partizione creata per NOOBS.
Se scarichi e installi la versione “lite” di NOOBS, è di soli 20 MB, ma poi è necessario scaricare un sistema operativo completo in seguito come parte del processo di installazione. Se scarichi la versione “completa”, sono 700+ MB e la copia sulla scheda richiederà molto più tempo.
Se scarichi unimmagine raspbian autonoma, sarà ~ 2,0 GB immagine, e corrispondentemente richiederà più tempo per essere copiato sulla scheda. Inoltre, dd
è uno strumento manuale, di basso livello, indipendente dal file system. Ci sono diverse conseguenze a questo:
-
Non fa ipotesi o ipotesi su come fare le cose in modo ottimale. Ad esempio, presumibilmente utilizzando una dimensione di blocco di 4 MB (
bs=4M
) farà una grande differenza per quanto riguarda la velocità sulle schede SD, ma questa non è limpostazione predefinita e dd non proverà a capirlo. È probabile che il taglio e incolla tramite uno strumento di livello superiore lo farà, in parte in base alle informazioni ottenute esaminando il filesystem hai già creato formattando la scheda. Tuttavia,dd
può fare cose che questi strumenti generalmente non possono “t (come scrivere blocchi grezzi su un dispositivo, motivo per cui è necessario con limmagine s). -
Il sistema operativo può rendere più snelle le operazioni di strumenti superiori tramite il caching, cosa che può fare con i filesystem montati. Questo è il motivo per cui a volte devi aspettare un po se fai una grande copia e poi vai a smontare un bastone; la copia non era effettivamente completa e il sistema operativo non la rilascerà fino a quando non sarà completata (questo è anche il motivo per cui dovresti sempre aspettare finché il sistema operativo non dice che va bene).
dd
a un il dispositivo non richiede alcuna memorizzazione nella cache di questo tipo. È davvero fatto quando è finito.
Risposta
Come probabilmente già saprai da altre risposte, il formato in cui una scheda SD per un RPI dovrebbe essere impostato su FAT32, altrimenti non funzionerà. Lo svantaggio del formato FAT32 è che ha un limite di copia di 4 GB, che limita notevolmente le tue possibilità di quale sistema operativo sarai in grado di installare facilmente sulla scheda SD. Tuttavia, cè un modo per “aggirare” questo limite ed è usando un programma come 7zip per comprimere il file .img in qualcosa sotto i 4 GB, quindi estraendolo nella directory principale della scheda SD.