2024. április 24., szerda

Gyorskeresés

Útvonal

Cikkek » Telefónia rovat

Android magyarítás guide

"Fordítsuk le a rendszert, közelebb jutunk egy saját ROM-hoz!" - így kezdődött minden...

[ ÚJ TESZT ]

A lemezképek feldolgozása

Ha már vért izzadva végre eljutottunk oda, hogy leszedtük a (majdnem) gyári rendszerünk, most már éppen ideje lenne vele valamit kezdeni is!

Alternatív megoldás, hogy nekilátunk kézzel boncolgatni. Nos, itt ahány fájlrendszer, annyi megoldás létezik. Lássuk a két leggyakoribbat:

A Yaffs.img

Szerencsére kezd kipusztulni, de még azért látni belőle, így megér egy említést a szétbontása. A Yaffs tipikusan a 2.1, esetleg a 2.2-es rendszerek fájlrendszere volt. Létezik hozzá egy unyaffs2 nevű tool valamint a párja, ami már csak Linux alatt szokott menni, vagy éppen itt sem. Bővebben a használatukról és az elérhetőségeikről ITT olvashattok. Szerencsére, szinte csak kibontani szoktunk vele, de nem árt azért egyszer látni legalább.

Az ext4

Az ext-sorozat a Linux alapvető fájlrendszere. Erre állt át az Android is a 2.3 óta, kivételek persze vannak, hogy erősítsük a szabályt. (Pl. van aki az UBIFS-re esküszik, de jobb, ha attól távol tartjátok magatok...). Mindenesetre az ext, de főként az ext4-es fájlrendszer elég gyakori a Linux alatt, így az Android is megörökölte. Többnyire a system is ezen tanyázik, így vessük rá egy pillantást közelebbről is!

Ott tartottunk, hogy van nekünk egy img kiterjesztésű lemezképünk. Na, de mi van benne?! A válasz, már csak azért sem egyszerű, mert a kiterjesztés nyugodtan elhagyható: ugyan ez a recovery kiterjesztése is vagy a boot binárist is boot.img-re keresztelték, mégis teljesen más tartalommal bírnak. Az ext4-es lemezkép, az úgynevezett simg (nem meglepő: system.img-ből rövidült a név.). Ezt még nem igazán tudjuk piszkálni semmivel, mert a Linux így nem mountolja fel...

Lássuk, mihez kezdhetünk vele!

Először is szükségünk lesz pár tool-ra (nem tollra a hátunkra, azt majd máskor. :D ). ITT megtaláljuk őket.

A parancsok a következők és kizárólag a PC-s Linux Terminal alatt működnek, a Windows felhasználók máris ismerkedhetnek a Cygwin névvel... :

$ mkdir mysys
$ ./simg2img system.img sys.raw
$ sudo mount -t ext4 -o loop sys.raw mysys/

Értelemszerűen elsőre egy "könyvtárat" hozunk létre, majd ezt fogjuk mountpoint-ként használni. Az simg2img kibontja a system.img fájlunk egyetlen adatfolyamba. (Stream, ha valakinek az jobban tetszik.)

Az utolsó parancs pedig elvileg felcsatolja nekünk a "partíciónk". Gyakorlatilag lehetnek meglepetések, ha pl. ez két partíció egyben van...

Ilyenkor használhatjuk a parted nevű toolt, hogy felderítsük, mi is van a stream alatt. Pl. a következőképp:

$ parted sys.raw
GNU Parted 2.3
Using /home/keeperv85/system
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) unit
Unit? [compact]? B
(parted) print
Model: (file)
Disk /home/zation/amazonec2/vm1/image: 10737418240B
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number Start End Size File system Flags
2 0B 300B 300B ext4
2 300B 10737418239B 10737418210B ext4

(parted) quit

Mint látjuk, a képzeletbeli partíció, nem egy, hanem valójában kettő. Persze a fenti példa korántsem életszerű, de arra jó, hogy lássuk, hogy ennek a második fele pl. a következő mount paranccsal érhető el:

$ sudo mount -rw loop,offset=300 -t ext4 sys.raw mysys/

Miután elvesztünk a lehetőségekben, illetve elvégeztük a végre felcsatolt rendszerünkön a majdani beavatkozásokat, akár vissza is csomagolhatjuk végre a lemezképbe őket, avagy készíthetünk zip fájlt belőle.

A visszacsomagolás a következőképp történik, már ami az ex4-es fájlrendszert illeti:

$ sudo ./make_ext4fs -s -l 512M -a system new.img mysys/
sudo umount mysys
rm -fr mysys

Az első sorban akkora méretet adjunk meg, amekkora az eredeti fájl volt!

Mivel ez így elég macerás és léteznek automatizált megoldások az átalakításra is, így erősen ajánlott elolvasni szoke12 leírását az Android Kitchen-ről!

No, de hát mire megyünk mindezzel, ha nem tudjuk, mit kéne fordítani és alapvetően az volt a cél?!

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.