Convert read-only cramfs system.img to writable ext3

Dump all imgs from your current ROM
./dump_imgs.py stock_imgs

cp -a stock_imgs new_imgs

Rebuild boot.img
./rkunpack new_imgs/boot.img
mkdir -p new_imgs/boot && cd new_imgs/boot
gunzip < ../boot.img-raw | sudo cpio -i --preserve-modification-time --make-directories
# Edit init.rc 
# Replace "mount cramfs mtd@system /system" with "mount ext3 mtd@system /system noatime nodiratime"
sudo find . ! -name "."|sort|sudo cpio -oa -H newc|gzip -n >../newinitrd.gz
cd ../..
./rkcrc -k new_imgs/newinitrd.gz new_imgs/boot.img

Rebuild system.img with ext3 and root
cd new_imgs
sudo cramfsck -x system system.img
# Add the su binary from http://androidsu.com/superuser/
wget http://downloads.androidsu.com/superuser/su-bin-3.0.3.2-efghi-signed.zip
sudo unzip su-bin-3.0.3.2-efghi-signed.zip system/bin/su
sudo chmod 6755 system/bin/su
sudo vi system/build.prop # Adjust ro.build.display.id to identify the ROM version
dd if=/dev/zero of=/tmp/system.img bs=1024 count=250000
mkfs.ext3 /tmp/system.img
tune2fs -i 0 system.img
mkdir -p /tmp/system
sudo mount -t ext3 -o loop /tmp/system.img /tmp/system
sudo rsync -av --delete system/ /tmp/system/
sudo umount /tmp/system/
cd ..

Write images
./img-manager.py write boot new_imgs/boot.img
./img-manager.py write system new_imgs/system.img

Reboot the device 
./rkflashtool b
Comments