Ce este sistemul de ajutor squashfs puppyrus linux

Acest HOWTO descrie utilizarea SquashFS, un sistem de fișiere foarte comprimat, destinat citirii numai pentru Linux, care este destinat utilizării în sisteme foarte mici și embedded în care ar fi de dorit să se utilizeze un sistem de fișiere comprimat. Cu acest document, veți învăța cum să pregătească Linux kernel-pentru SquashFS, a crea un sistem de fișiere comprimat și să-l utilizați cu succes.







Atunci când se creează sisteme mici și încorporate Linux, fiecare octet al dispozitivului de stocare (floppy disk, card flash etc.) este foarte important, astfel încât compresia să fie utilizată ori de câte ori este posibil. De asemenea, sistemele de fișiere comprimate sunt adesea folosite în scopuri de arhivare. Pentru arhivele uriașe comune, precum și pentru arhivele mass-media personale, acest lucru este urgent necesar.

ShquashFS aduce totul la nivelul următor. Acest sistem de fișiere este read-only, care vă permite să comprimați sisteme de fișiere întregi sau directoare unice, le scrie pentru alte dispozitive / partiții sau fișiere obișnuite, și apoi instalați-le în mod direct (în cazul în care dispozitivul) sau cu ajutorul unui dispozitiv de buclă locală (în dosarul cauzei) . Designul modular, compact al sistemului SquashFS este genial. În scopul arhivării, SquashFS vă oferă mult mai multă flexibilitate și viteză de execuție decât arhivele .tar.gz.

În lansarea SquashFS, codul sursă pentru kernel-ul Linux (care face posibilă citirea Squash pe kernelul dvs.), precum și programul helper mksquashfs, care creează sisteme de fișiere comprimate (într-un fișier sau într-un dispozitiv bloc).

Ultimul arbore al lansării SquashFS 2.x, cel precedent a fost 1.x. Acest document descrie ambele probleme cu notațiile corespunzătoare. De exemplu, dacă o proprietate sau un parametru este diferit în aceste versiuni, acesta va fi notat ca: o valoare nouă (2.x) sau o valoare veche (1.x).

Datele, nodurile de conectare și directoarele sunt comprimate.

Squashfs salvează complet ID-urile utilizatorului / grupului (uin / gids) (32 de biți) și timpul în care a fost creat fișierul.

Se acceptă fișiere de până la 2 32 de octeți. Sistemele de fișiere pot fi de până la 2 32 octeți.

Squashfs poate utiliza blocuri cu dimensiunea de până la 64 KB (dimensiunea implicită este de 64 KB). Folosind blocuri de 64 kilobyte, puteți obține un raport de compresie mai mare decât dimensiunea obișnuită a blocurilor de 4 kilobyte.

SquashFS introduce conceptul de blocuri fragmentate: abilitatea de a combina mai multe fișiere, mai mici decât un bloc, într-un bloc separat, atingând rapoarte de compresie mari.

Copii ale fișierelor sunt detectate și șterse.

Arhitecturile acceptate sunt atât endian-uri mari, cât și puțin endianice.

SquashFS poate compila sisteme de fișiere create pe mașini cu o secvență diferită de octeți.

Acum, asigurați-vă că discuțiile ulterioare vor fi mai ușor de înțeles. Procedura de pornire a SquashFS, în general, constă în următorii pași:

Patch și recompilați kernel-ul Linux pentru capacitatea de a suporta SquashFS

Crearea unui sistem de fișiere comprimat cu mksquashfs

Verificare: setarea squashfs la o destinație temporară

Modificarea scripturilor de pornire / etc / fstab ale sistemului dvs. țintă Linux pentru a stabili un nou sistem de fișiere comprimat când este necesar

Pagina principală SquashFS conține știri despre cea mai recentă versiune și un jurnal al modificărilor, precum și informații generale despre SquashFS. Puteți obține cea mai recentă versiune pe pagina de proiect SquashFS SourceForge.

Cu sursa kernel-ului și prezența unui plasture adecvat tot ce trebuie să faceți este (vom presupune că ai sursa kernel-ului Linux în / usr / src / linux și xnj și codul sursă SquashFS în / usr / src / SquashFS):

Efectuați modificări în directorul sursă SquashFS și copiați patch-ul kernel-ului (presupunem că se numește squashfs-patch) în / usr / src / linux.

Mergem la directorul sursă Linux / usr / src / linux:







Atenție: rețineți că nu vom lăsa acest director în timpul tuturor procedurilor ulterioare legate de kernel și că toate piesele vor fi date în raport cu / usr / src / linux.

Acum "lipim" codul sursă cu patch-ul SquashFS:

curățați și pregătiți nucleul programului:

Selectați configurația kernel-ului utilizând metoda preferată (config / menuconfig / xconfig / gconfig):

În «sisteme de fișiere» (sisteme «fișiere"), subsecțiunea «Diverse sisteme de fișiere (diferite)» activează opțiunea «sistemul de fișiere strivită» ca modul sau asociat cu kernel-ul. SquashFS necesare pentru a compila numai în interiorul nucleului, în cazul în care intenționați să utilizați „strivită“ virtuale discuri inițiale (initrd).

Pentru a utiliza un disc virtual inițial comprimat, activați "Suportul inițial de disc RAM" din secțiunea "Drivere de dispozitiv" din secțiunea "Blocați dispozitive".

Pentru a putea instala un sistem de fișiere comprimat după ce dispozitivul este în buclă, activați opțiunea "Suport pentru dispozitivul de tip Loopback" și secțiunea "Drivere dispozitiv" din secțiunea "Blocați dispozitive".

Acum puteți compila kernelul și modulele:

În secțiunea "Sisteme de fișiere", activați opțiunea "Sisteme de fișiere tridimensionate" ca un modul sau ca o opțiune legată de kernel. Este obligatoriu să compilați SquashFS în interiorul kernel-ului doar dacă intenționați să utilizați discurile virtuale inițiale "înclinate" (initrd).

Dacă doriți să utilizați discurile inițiale "Wyer", activați "Suportul inițial de disc RAM" în secțiunea "Blocați dispozitivele".

Pentru a putea monta sistemul de fișiere strivita prin intermediul unui dispozitiv de buclă locală, trebuie să activați opțiunea «dispozitivul Loopback» ( «Sprijin pentru loopback") și în «driverele de dispozitiv» ( «Drivers»), «dispozitive Block» secțiune ( «Block dispozitive»).

Acum puteți compila kernelul și modulele:

Acum este momentul să vă instalați noul kernel cu capacitatea de a lucra SquashFS. Instrucțiunile de mai jos sunt pentru instalarea și inițializarea kernel-ului de pe aparatul gazdă.

Presupunem că nucleul a fost compilat pe o arhitectură x86 și că imaginea de kernel comprimată este în subdirectorul arh / i386 / boot / din arborele kernel-ului. Acum copiați kernel-ul în directorul / boot (și apelați comoditate bzImage-sqsh):

Nu uitați să instalați modulele kernel-ului, dacă le aveți:

Modificați configurația fișierului bootloader astfel încât să includă acum noul nostru kernel și să instalați (actualizați) bootloader-ul. Acum puteți reporni cu un nou kernel. Când începe, vom verifica dacă totul a mers bine:

Sau, dacă ați instalat suportul SquashFS ca un kernel modular:

Dacă vedem șirul squashfs peste alte sisteme de fișiere, înseamnă că SquashFS a fost implementat cu succes în kernel.

Acum trebuie să compilam mksquashfs - un instrument pentru crearea de sisteme de fișiere comprimate

Compilam și instalăm mksquashfs:

Dacă totul a mers bine, tastați mksquash în linia promptă, care va da un mesaj despre cum să îl utilizați.

mksquashfs este un instrument pentru crearea de noi sisteme de fișiere "scoase" și pentru adăugarea de date noi sistemelor de fișiere deja excluse. Linia principală de comandă pentru mksquashfs:

Source1, source2, și așa mai departe. d. fișierele și directoarele pe care ar trebui să fie adăugate în cele din urmă la sistemul de fișiere rezultat la căile relative și / sau absolute destinație obișnuită fișier (fișierul de imagine sistem de fișiere) sau un dispozitiv de bloc (cum ar fi / dev / fd0 sau / dev / hda3), unde dorim să punem sistemul nostru de fișiere comprimat.

Note despre funcționarea mksquashfs în mod implicit:

Atunci când fișierele noi sunt adăugate la noul sistem de fișiere, sau alăturați-vă unul deja existent, mksquashfs va redenumi automat fișiere cu același nume: în cazul în care două sau mai multe fișiere cu textul din titlu va apărea în același director care rezultă, al doilea fișier va fi redenumit text_1. al treilea în text_2 și așa mai departe.

Fișierele identice vor fi șterse, astfel încât va rămâne doar o instanță fizică (SquashFS 2.x anulează căutarea / ștergerea copiilor cu opțiunea --no-duplicate).

Dacă destinația are deja implicit un SquashFS existent, vor fi adăugate elemente noi în ramura de directoare existentă. Trebuie să verificați lista de opțiuni de mai jos, pentru a face mksquash rescrie destinația în întregime și / sau modificați-l astfel încât să adauge noi elemente la textul original. Vă rugăm să rețineți că este imposibil să se atașeze înregistrarea la un sistem de fișiere care a fost creat prin utilizarea mksquashfs2.x mksquashfs1.x. Pentru a face acest lucru, trebuie să instalați sistemul de fișiere SqyashFS-1.x și să copiați fișierele undeva și apoi să le atașați la alte fișiere dorite pentru a crea sistemul de fișiere SquashFS-2.x.

Dacă li se dă un fișier sau un director dintr-o singură sursă, ele devin o ramură în noul sistem de fișiere creat. Dacă sunt furnizate două sau mai multe fișiere sursă și / sau director, toate acestea vor deveni sub-elemente în noua ramură de sistem de fișiere.

Sistemul de fișiere rezultat va fi ambalat în mai multe pachete de 4 KB: acest lucru este necesar pentru sistemele de fișiere utilizate în dispozitivele bloc. Dacă sunteți absolut sigur (ă) că nu veți avea nevoie de acest lucru, utilizați opțiunea --nopadoption pentru a anula această operație.

Consultați secțiunea următoare pentru o descriere mai detaliată a tuturor opțiunilor posibile.

Toate opțiunile posibile pentru mksquashfs sunt prezentate în tabelul de mai jos.

Tabelul 1. Opțiuni de linie de comandă mksquashfs







Articole similare

Trimiteți-le prietenilor: