Lucram cu ramdisk (pentru kernels cu initrd).
Ramdisk-ul în sine este un fișier gz în interiorul căruia este conținut un fișier cpio localizat într-un mod media mkimage. Să privim mai atent imaginea.
Vom avea nevoie de aceste informații mai târziu atunci când creați propriul ramdisk.
/ Droid / instalator $ grep -P -a -b -m 1 --only-potrivire '\ x1F \ x8B \ X08' ramdisk.img | tăiat -f 1 -d:
64
Acum, având în poziția gzip start-și scoate-l din imagine (a se citi 64 de blocuri de octeți, primul bloc porpustiv - bs = 64 sări peste = 1).
/ droid / installer $ dd dacă = ramdisk.img bs = 64 skip = 1 din = ramdisk.cpio.gz
23211 + 1 înregistrări citite
23211 + 1 înregistrare scrisă
copiat 1485551 octeți (1,5 MB), 0,0738819 sec, 20,1 MB / s
În plus, cu fișierul primit ramdisk.cpio.gz este posibil să lucrăm ca și cu o arhivă obișnuită, însă trebuie să salvăm toate drepturile de acces la fișierele extrase din această arhivă. De exemplu, puteți despacheta:
/ droid / instalator $ gzip -dc ramdisk.cpio.gz | cpio-id
6963 blocuri
Acum despre ambalarea ramdisk. Am despachetat ramdisk. Dacă am făcut modificările necesare, atunci trebuie să fie corect asamblate. Pentru a face acest lucru, ștergeți vechiul ramdisk și arhivați ramdisk.cpio.gz din acest dosar.
/ droid / instalator $ rm -f ramdisk.cpio.gz ramdisk.img
Apoi, creați arhiva cpio.
/ droid / installer $ find ./ | cpio -H newc -o>. /ramdisk.cpio
6963 blocuri
Și zharhiviruem în gzip.
/ droid / instalator $ cd.
barsuk @ droidtest:
/ droid $ gzip ramdisk.cpio
/ droid $ mv ramdisk.cpio.gz ramdisk.img
barsuk @ droidtest:
/ Droid $ mkimage -T ramdisk -A 'ARM' -C nimic -N 'hRamdisk' -a 0x41000000 -e 0x41000000 -d ramdisk.img newramdisk.img
barsuk @ droidtest:
/ droid $ mv newramdisk.img ramdisk.img
Acum, plasarea ramdisk.img primit în folderul Android de pe cardul firmware sau folosind burntool, îl putem bloca în dispozitiv.