Știu că puteți copia și lipi fișierele NOOBS și funcționează, dar în afară de asta, pentru a instala alte sisteme de operare pe un raspberry pi sau un alt dispozitiv similar, cum ar fi odroid, etc, mi s-a recomandat să folosesc aplicația terminalului „dd”, care durează foarte mult să-și facă treaba.
Presupun că această operațiune este mai „implicată” decât doar copiere și lipire? De ce nu pot doar să copiez și să lipesc imaginea?
– aș putea monta imaginea Linux pe computerul meu, apoi să copiez și să lipesc conținutul acesteia în microsd, mai degrabă decât să trebuiască să folosesc instrumentul dd sau o altă aplicație „flash”?
EDIT: Tocmai am găsit un răspuns excelent la această întrebare aici , dar mă gândesc Ar trebui să mențin această întrebare aici, deoarece este o întrebare atât de clasică, care merită să fie răspunsă pe acest forum. Dacă cineva are mai multe detalii despre acest răspuns, care se referă direct la procesul de boot al raspberry pi (și cum funcționează acel lucru NOOBS ??), vă rugăm să răspundeți
Comentarii
- Rularea NOOBS pe un nou card SD durează mai mult de 15 minute pentru configurarea partițiilor.
Răspuns
Pentru a răspunde complet la această întrebare este nevoie de tot felul de informații de fundal. Cred că voi începe cu câteva lucruri pe care cred că le-ați înțeles greșit.
Cardul SD (sau un stick USB mic ) se numește unitate „Flash” deoarece acesta este numele memorie de tip „Flash” pe care o are. Când copiați un fișier pe un card SD , circuitele din interiorul acestuia se deplasează în jurul chip-ului într-un mod care va persista atunci când îl deconectați. (Cipurile de memorie obișnuite „ RAM dinamică ” dintr-un computer pierd totul rapid de îndată ce se oprește.) Memoria flash este foarte lentă la scriere și lentă (dar n la fel de lent) de citit (comparativ cu RAM dinamică). De asemenea, memoria flash flash „se uzează”, așa că, după mii de cicluri de citire / scriere, părți din ea au renunțat la funcționare.
Din fericire pentru dvs., cea mai mare parte a acestora este invizibilă în practică, astfel încât puteți pretinde că un card SD sau un stick USB Flash este foarte asemănător cu un mic hard disk sau dischetă. Dar ambele sunt destul de diferite de „arderea” unui CD sau DVD.
Așadar, încercați să uitați de „intermiterea” informațiilor pe cardul SD. Ceea ce faceți nu este exact comparabil cu „intermitentul” unei plăci de bază a computerului sau a unei alte piese electronice, deoarece nu trebuie să depuneți eforturi speciale pentru a schimba datele din memoria cardului SD. În adâncul cipurilor ar putea fi exact similar, dar procesul pe care îl folosiți scrie pe un card SD sau pe un stick USB este destul de diferit.
Raspberry Pi a fost conceput pentru a căuta pe cardul SD un boot partiție utilizând un sistem de fișiere FAT. În funcție de modul în care utilizați Pi, ar putea fi singura partiție de pe cardul SD, dar un sistem de operare sofisticat precum Raspbian nu poate rula pe un sistem de fișiere FAT, deci aveți nevoie de cel puțin o partiție suplimentară (sau o unitate separată) care poate gestiona fișiere Linux, cum ar fi formatul ext4.
Când rulați Linux sau Windows sau un Mac și „copiați” un fișier dintr-un sistem de fișiere „montat” în altul, sistemul de operare are grijă să creeze , ștergerea și indicarea fișierelor pe măsură ce sunt plasate pe hard disk, unitate flash sau orice altceva. Fișierele sunt stocate în interiorul fiecărei partiții folosind regulile specifice sistemului de fișiere, fie că este vorba de FAT, ext4, Mac HFS + sau orice altceva.
Când începeți cu un fișier imagine (adesea identificat ca .iso pentru linux sau .dmg pe un Mac), fișierul conține TOT, inclusiv toate piesele care identifică partițiile și bucățile de date din partiții.
Când utilizați comanda dd în linux pentru a copia un fișier , scoate biții din (sau în) un .iso EXACT pe măsură ce sunt stocate pe un disc sau pe un card SD, ignorând complet partițiile, sistemele de fișiere, fișierele și directoarele de care aveți nevoie și tu și sistemul de operare pentru a da sens datelor. Este o operație de copiere complet diferită. Dacă pur și simplu trageți acel .iso pe cardul SD, nu numai că îl veți umple inutil, Pi nu știe cum să caute „în interiorul” fișierului .iso pentru a obține ceea ce are nevoie.
A copierea dd durează mult, deoarece cardurile SD sunt lente și copiați bucăți mari de date la un moment dat. Totuși, atunci când totul este contabilizat, ar putea fi mai rapid decât copierea fișierelor individuale.
Și la răspundeți la întrebare, da, ați putea monta imaginea și copiați fișierele în diferite partiții, dar aproape întotdeauna vor exista mai multe partiții și va trebui să puneți fișierele în locurile potrivite. Este cel mai ușor în multe cazuri. pentru a folosi doar dd pentru a copia din fișierele imagine pe cardul SD.
Răspuns
Utilizarea de către dvs. a termenului „flash” este nepotrivită dacă este menită să se refere la un contrast; deși cardurile SD se bazează pe memorie flash , copierea pe ele este întotdeauna aceeași la acel nivel, indiferent de ce instrument utilizați, ce fel cu alte date, etc. Cu alte cuvinte, dacă vă referiți la copierea datelor pe un card SD ca „intermitent”, atunci acest lucru se aplică la fel de bine, indiferent de ce. Dacă doriți să o numiți „copiere”, aceeași logică – ambele proceduri la care vă referiți implicând copierea datelor prin „intermitent” de memorie flash. Aceasta este natura cardurilor SD; utilizarea cut n „paste vs. dd
nu modifică caracteristicile fizice ale hardware-ului. Dar toate acestea sunt tangențiale la întrebarea dvs. principală.
Modul în care NOOBS instalarea funcționează este formatarea cardului, creând o partiție vfat în care puteți copia apoi fișiere obișnuite din fișierul zip.
Modul în care funcționează instalarea bazată pe imagine este nivelul redus, copiați un bloc cu versiunea bloc a mai multe partiții direct pe card. Acesta este motivul pentru care nu este nevoie să îl formatați mai întâi; acea imagine conține partițiile formatate, dintre care prima (partiția de boot) are exact același scop (și conține unele din aceleași fișiere, cum ar fi codul critic de încărcare) ca partiția pe care ați creat-o pentru NOOBS.
Dacă descărcați și instalați versiunea „lite” a NOOBS, acesta are doar 20 MB – dar apoi după aceea, trebuie să descărcați un sistem de operare complet, ca parte a procesului de instalare. Dacă descărcați versiunea „completă”, acesta are peste 700 MB și va dura mult mai mult timp pentru a copia pe card.
Dacă descărcați o imagine raspbiană autonomă, aceasta este de ~ 2,0 GB imagine și va dura în mod corespunzător mai mult timp pentru copiere pe card. În plus, dd
este un instrument manual, de nivel scăzut, independent de sistemul de fișiere. Există mai multe consecințe:
-
Nu face presupuneri sau presupuneri cu privire la modul de a face lucrurile în mod optim. De exemplu, se presupune că o dimensiune de bloc de 4 MB (
bs=4M
) va face o mare diferență în ceea ce privește viteza pe cardurile SD, dar aceasta nu este valoarea implicită și dd nu va încerca să descopere acest lucru. Tăiați și lipiți printr-un instrument de nivel superior probabil, parțial pe baza informațiilor obținute examinând sistemul de fișiere > ați creat deja formatând cardul. Cu toate acestea,dd
poate face lucruri pe care aceste instrumente nu le pot în general (cum ar fi scrierea blocurilor brute pe un dispozitiv, motiv pentru care este necesar cu imaginea s). -
Sistemul de operare poate face ca funcționarea instrumentelor superioare să pară mai simplificată prin cache, lucru pe care îl poate face cu sistemele de fișiere montate. Acesta este motivul pentru care uneori trebuie să așteptați un timp dacă faceți o copie mare și apoi mergeți să demontați un stick; copia nu a fost de fapt completă, iar sistemul de operare nu a lansat-o până nu a fost terminată (de asemenea, ar trebui să așteptați întotdeauna până când sistemul de operare spune că este în regulă).
dd
to a dispozitivul nu implică nicio cache de acest fel. Se face cu adevărat atunci când este terminat.
Răspuns
După cum probabil știu deja din alte răspunsuri, formatul conform căruia un card SD pentru un RPI ar trebui să fie setat la FAT32, altfel nu va funcționa. Dezavantajul formatului FAT32 este că are o limită de copiere de 4 GB, ceea ce vă limitează foarte mult posibilitățile de instalare a sistemului de operare pe care le veți putea instala cu ușurință pe cardul SD. Cu toate acestea, există o modalitate de a „ocoli” această limită și este folosind un program precum 7zip pentru a comprima fișierul .img în ceva sub 4 GB, apoi extrageți-l la rădăcina cardului SD.