Reducerea mărimii imaginii pentru clasa de zmeură pi, robotică

Reducerea mărimii imaginii pentru clasa de zmeură pi, robotică
De multe ori se întâmplă că atunci când copiați imaginea unei cartele SD la alta, există o eroare privind lipsa spațiului. Se pare că imaginea este scoasă de pe cardul de 8 GB și îl copiem pe cartela exact aceeași dimensiune, dar încă nu există suficient spațiu. Ce sa întâmplat?







Motivul pentru această problemă constă în faptul că mărimea indicată pe orice transportator electronic este doar orientativă. Aproape întotdeauna purtătorii diferiților producători și chiar modele diferite ale aceleiași mărci au o dimensiune diferită. Aceste diferențe nu pot depăși câteva megabytes sau chiar sute de kilobyte, dar pentru a copia o imagine devine critică.

Pentru a rezolva problema, trebuie să scurtăm oarecum imaginea originală. Ca o regulă, cardul este rar blocat la globurile oculare, astfel că muscatura de pe gigabytele suplimentare ale imaginii va fi un pas destul de inofensiv. Asta o să facem.

1) Primul lucru pe care trebuie să-l facem este să creați o imagine nouă a cardului SD. Dimensiunea imaginii va fi identică cu dimensiunea cardului cu care a fost preluată. Pentru a salva această imagine undeva, avem nevoie de un transportator mai mare. De exemplu, dacă imaginea are o dimensiune de 8 GB, puteți utiliza o unitate flash USB obișnuită pe 16 GB sau 32 GB pentru ao crea.

2) Lipim unitatea flash USB în portul USB și găsim numele dat de sistemul de operare. Facem acest lucru folosind utilitarul fdisk:

Reducerea mărimii imaginii pentru clasa de zmeură pi, robotică






Judecând după ce am văzut, unitatea flash a primit numele / dev / sda1 și sistemul de fișiere NTFS pe acesta. De asemenea, vedem că principalul card SD este împărțit în două secțiuni: mmcblk0p1 și mmcblk0p2. În concluzie, cardul însuși se numește / dev / mmcblk0. acest lucru va fi util.

3) Acum montați unitatea flash USB folosind comanda mount, creând mai întâi un folder pentru el:

După executarea acestei comenzi, conținutul unității flash va apărea în directorul / mnt / usbf.

4) Creați o imagine a unui card SD pe o unitate flash USB:

În această comandă, bs este dimensiunea blocului. Cu cât este mai mică, cu atât procesul de creație va dura mai mult. De obicei, au pus 4M, iar dacă ceva nu merge bine, puteți încerca bs = 1M. Pentru o dimensiune a imaginii de 16 GB, procedura poate dura aproximativ o oră.

5) După crearea imaginii, continuați să îndepărtați spațiul gol din acesta. Pentru aceasta operatie folosim scriptul bash de la sirlagz. ușor modificat pentru a tăia din imagine doar 90% din spațiul gol.

Creați un fișier gol în dosarul de domiciliu și îl puteți folosi:

6) Pentru ca scriptul să funcționeze, trebuie să instalați pachetul bc:

Spunem da la toate intrebarile pe care instalatorul le va intreba.

7) Ei bine, totul, acum suntem pregătiți pentru procedură. Rulați scriptul, specificând imaginea creată anterior ca parametru:

Așteptăm terminarea muncii sale.

Asta e tot. După rularea scenariului, dimensiunea imaginii my_raspbian.img va deveni mult mai mică decât imaginea originală și acum poate fi scrisă pe orice hartă cu dimensiunea corespunzătoare.

Mulțumesc pentru descriere ... dar nu sunt un programator ... Sunt pe puncte ... nu a funcționat ...
întrebare:
1. Trebuie să fac totul sub utilizatorul rădăcină?
2.Să descrieți: (1) Primul lucru pe care trebuie să-l facem este să creați o imagine proaspătă a cardului SD) este necesar să încărcați o imagine sau să descrieți că pur și simplu aveți nevoie de o unitate flash USB ... goală?
3. descrieți în ultimul paragraf: (Așteptăm sfârșitul lucrării sale.) Ce anume? imaginea apare pe unitatea flash ...

Despre rădăcină. Și în ce loc este această procedură defalcată? Poate problema este oarecum diferită. Dar puteți încerca să rădăcini, nu va fi mai rău.

La sfârșitul procedurii, imaginea specificată ca parametru de script va deveni mai mică. După aceea, va trebui să fie scris pe cardul SD.

Trebuie adăugat că, dacă imaginea este mai mare de 4 GB, unitatea flash trebuie să fie formatată în sistemul de fișiere corespunzător (de exemplu, NTFS).
Din moment ce Raspbian "out of the box" NTFS nu suportă, este necesar să se efectueze:
sudo apt-get update
sudo apt-get instala ntfs-3g
După aceasta, devine disponibilă o intrare pe suport NTFS.







Trimiteți-le prietenilor: