Auf mehrfachen Wunsch hier nochmal die Anleitung, wie die einzelnen Komponenten des AV7 CustomRoms entpackt, verändert und wieder zusammengesetzt werden. Je mehr Leute sich an Custom Roms beteiligen, desto interessanter werden die Geräte 🙂
Die 4 wichtigsten Files:
- system.img.lzo (das ist der /system Ordner des Sytems… sprich das eigentliche Android System)
- interessant: /apps und /xbin fürs root
- interessant: /etc/install-recovery.sh zum starten von cron und co
- interessant: /media für Bootanimation
- boot.img (regulärer Kernel samt Ramdisk… also der / Basisordner)
- besonders interessant: init.rc und default.prop
- uramdisk.img (wie boot.img aber wird beim Flashen / Updaten ausgeführt)
- recovery.img (wie boot.img aber wird ausgeführt wenn ins Recovery gebootet wird)
Anbei die einzelnen Befehle – die jeweiligen Bytewerte beim splitten sind auf Basis von StockUpdate 5 berechnet. Wer das manuell berechnen will:
- beim Output von mkimage -l die Filegrössen der beiden Images notieren
- erstes dd startet bei skip=76 wegen des Headers/Offsets und counted nach der Dateigröße
- zweites dd startet bei Dateigröße der ersten Datei plus 76 Header und counted nach der Dateigröße 2
- Spungpunkte 40a08000 beim verpacken nicht vergessen!
Befehle:
# Filesizes auf Stand StockUpdate 5! #------------------------------------------------------------------------------------ system.img.lzo: /system Partition #------------------------------------------------------------------------------------ #SYSTEM ENTPACKEN cp ../update/images/system.img.lzo . lzop -d system.img.lzo sudo mount system.img /mnt/test/ gksu thunar #SYSTEM PACKEN chmod 644 system.img rm system.img.lzo lzop -o system.img.lzo system.img chmod 766 system.img.lzo md5sum system.img.lzo #------------------------------------------------------------------------------------ boot.img: Kernel und Ramdisk des normalen Betriebes #------------------------------------------------------------------------------------ #ENTPACKEN boot.img mkimage -l ../update/images/boot.img dd if=../update/images/boot.img of=boot.image1 bs=1 skip=76 count=8159620 dd if=../update/images/boot.img of=boot.image2 bs=1 skip=8159696 count=174314 cd inhalt-boot/ gunzip -c ../boot.image2 | cpio -i #PACKEN boot.img cd inhalt-boot/ find . | cpio -o -H newc | gzip > ../boot.image2.changed cd ../ mkimage -A arm -T multi -C none -n 'MStar-linux' -a 40a08000 -e 40a08000 -d boot.image1:boot.image2.changed boot.img #------------------------------------------------------------------------------------ uramdisk.img: Kernel und Ramdisk des UPDATE-Modus #------------------------------------------------------------------------------------ #ENTPACKEN Uramdisk.img mkimage -l ../update/bin/uramdisk.img dd if=../update/bin/uramdisk.img of=uramdisk.image1 bs=1 skip=76 count=8159620 dd if=../update/bin/uramdisk.img of=uramdisk.image2 bs=1 skip=8159696 count=2618276 cd inhalt-uramdisk/ gunzip -c ../uramdisk.image2 | cpio -i #PACKEN uramdisk.img cd inhalt-uramdisk/ find . | cpio -o -H newc | gzip > ../uramdisk.image2.changed cd ../ mkimage -A arm -T multi -C none -n 'Cardroid-linux' -a 40a08000 -e 40a08000 -d uramdisk.image1:uramdisk.image2.changed uramdisk.img #------------------------------------------------------------------------------------ recovery.img: Kernel und Ramdisk des Recoverymodus #------------------------------------------------------------------------------------ #ENTPACKEN recovery.img mkimage -l ../update/images/recovery.img dd if=../update/images/recovery.img of=recovery.image1 bs=1 skip=76 count=8159620 dd if=../update/images/recovery.img of=recovery.image2 bs=1 skip=8159696 count=1900911 cd inhalt-recovery/ gunzip -c ../recovery.image2 | cpio -i #PACKEN recovery.img cd inhalt-recovery/ find . | cpio -o -H newc | gzip > ../recovery.image2.changed cd ../ mkimage -A arm -T multi -C none -n 'Cardroid-linux' -a 40a08000 -e 40a08000 -d recovery.image1:recovery.image2.changed recovery.img ö
Apps verändern
Die eigentlichen Apps können mittels einfacher Reverse Engineering Methoden verändert werden – hier gabs schon einmal ein paar Infos dazu: https://www.cardroid.org/2015/01/07/themes-in-android/
Partitionen verändern
Das wurde bereits hier dokumentiert: https://forum.cardroid.org/viewtopic.php?f=9&t=62
Fragen?
Diskussion bitte im Forum: https://forum.cardroid.org