ROM Androud: Manipulasi boot.img

From OnnoWiki
Jump to navigation Jump to search

Menggunakan unpack-MT.pl

Download dari

https://github.com/bgcngm/mtk-tools/

Caranya

cd ~/Downloads
wget https://github.com/bgcngm/mtk-tools/archive/master.zip
mv master.zip MTK-tools.zip

Buka

unzip MTK-tools.zip

unpack boot.img dari upgrade ROM MTK

cd ~/lokasi-upgrade-ROM-MTK/
~/Downloads/mtk-tools-master/unpack-MTK.pl boot.img

Menggunakan split_bootimg.pl

The Android boot.img file contains a kernel and a ramdisk. While researching Android, I've needed to manipulate the ramdisk of a phone. I created the split_bootimg.pl script to parse the boot.img file format and extract the parts.

split_bootimg.pl
http://www.enck.org/tools/split_bootimg_pl.txt

The following example uses the boot.img from the full TC4-RC28 update:

% ./split_bootimg.pl boot.img 
Page size: 2048 (0x00000800)
Kernel size: 1388548 (0x00153004)
Ramdisk size: 141518 (0x000228ce)
Second size: 0 (0x00000000)
Board name: 
Command line: no_console_suspend=1
Writing boot.img-kernel ... complete.
Writing boot.img-ramdisk.gz ... complete.

Extract the ramdisk.

% mkdir ramdisk
% cd ramdisk
% gzip -dc ../boot.img-ramdisk.gz | cpio -i
% cd ..


Cara ini tampaknya tidak berlaku untuk boot.img upgrade ROM untuk MTK.

Make any changes necessary (e.g., set ro.secure=0 in default.prop).

Recreate the cpio archive using the mkbootfs binary produced from building the Android source code (The cpio utility in OS X does not recognize the newc format, therefore mkbootfs is the best option for OS X users).

% mkbootfs ./ramdisk | gzip > ramdisk-new.gz

Recreate the image file using the mkbootimg binary produced from building the Android source code.

% mkbootimg --cmdline 'no_console_suspend=1 console=null' \
   	    --kernel boot.img-kernel \ 
	    --ramdisk ramdisk-new.gz \
            -o boot-new.img

Additional Notes:

   For Nexus One: Add --base 0x20000000 to mkbootimg command-line.
   The console=null command line option was introduced in the TC4-RC30 boot images to remove the root shell
   Do not use a boot.img image extracted directly from /dev/mtd/mtd2. This image may become corrupted during the read process.


Referensi