正常情况下我们只要将system中的内容按需求更改后重新编译即可。最近需要修改"rk3288"的system,只有一个别人提供的固件和一份没编译过的android源码,因为编译android需要的时间太长,于是就打起了解包的主意。在 rk3288 的 linux-update/rockdev目录下查看了 unpack.sh:
./rkImageMaker -unpack update.img output || pause
./afptool -unpack output/firmware.img output || pause
固件是update_xxx.img,所以按照要求改成 update.img,然后在当前目录下(linux-update/rockdev/)执行下面两句:
cp update_xxx.img update.img
./unpack.sh update.img
执行完后可以发现多了一个output目录,进入output下的Image目录可以发现刚刚解包的文件,包括Andorid编译生成的各种img文件,然后将其中的system.img文件拷贝到根目录,执行以下几句:
cp system.img /
cd /
mkdir newdir
这样我们在根目录创建了一个newdir,同时也将system.img拷贝到了根目录('/'),执行下面的命令:
mount -t ext4 -o loop system.img newdir
该命令是将 system.img 挂载在刚刚创建的 ne