查看update.img的文件头,发现是rk的。搜索找到
https://github.com/naobsd/rkutils
https://github.com/lamegopinto/rk2918tools
在cygwin下编译,前一个需要自己一个个gcc -o *** ***.c,后者运行make自动全部编译。
试了下,前者的rkunpack和后者的afptool -unpack能成功解包update.img。后者的rkunpack有问题,没看源码,反正能用了。
google rk2918,在bqpascallitec.blogspot.com上找到以下
cd ~
git clone git://github.com/lamegopinto/rk2918tools
# Check the rk2918tools/README for build requirements
cd ~/rk2918tools && make
cd ~/tmp
~/rk2918tools/img-manager.py dump boot
~/rk2918tools/img-manager.py dump kernel
cp -a boot.img boot.img.orig
~/rk2918tools/split_bootimg.pl boot.img
mkdir -p ramdisk && cd ramdisk
gunzip -c ../boot.img-ramdisk.gz | sudo cpio -i
# Change the ramdisk as desired
sudo find . ! -name "."|sort|sudo cpio -oa -H newc|gzip -n >../newinitrd.gz
cd ..
# Repackage
~/rk2918tools/rkcrc boot.img-kernel kernel.img.new
~/rk2918tools/img-manager.py write kernel kernel.img.new
~/rk2918tools/rkcrc -k newinitrd.gz boot.img.new
~/rk2918tools/img-manager.py write boot boot.img.new
# Reboot device
~/rk2918tools/rkflashtool b
在gunzip -c ../boot.img-ramdisk.gz | sudo cpio -i这步就能把ramdisk上的目录文件全部解包出来。system.img用windows的yaffs2浏览器即可提取出ext3镜像下所有文件。
然后可以更改init.rc,增删相关包,定制自己的ROM了。原道等都是用rk的。
运行“file system.img”就会发现是ext3文件系统,在linux下mount该镜像到某个目录,即可进行增删。
详见此链接
有些ROM的system.img镜像是yaffs2、有些是cramfs,有些是ext3或ext4。35pad的是ext3。