提供一个定制量产 nand 固件的方式,可以全面定制系统:
1.解包官方的 nand image
1)下载解压镜像的工具 imgRePacker_204
2)解压 imgrepacker 工具包到本地 image 所在目录 $ unzip imgRePacker_204.zip
3)解压官方的镜像文件 ct-debian-chird-v2
$./imgrepacker debian-chird-desktop-nand.img
得到的文件如下:
drwxrwxr-x 5 aaron
drwxrwxr-x 3 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
drwxrwxr-x 2 aaron
drwxrwxr-x 2 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
-rw-rw-r-- 1 aaron
drwxrwxr-x 3 aaron
aaron
4096 Mar 2 15:14 ./
aaron
4096 Mar 2 15:13 ../
aaron
24576 Mar 2 15:13 boot0_nand.bin
aaron
24576 Mar 2 15:13 boot0_sdcard.fex
aaron
425984 Mar 2 15:13 boot1_nand.fex
aaron
294912 Mar 2 15:13 boot1_sdcard.fex
aaron 11305984 Mar 2 15:13 bootloader.fex
aaron
16384 Mar 2 15:13 dlinfo.fex
aaron
4907 Mar 2 15:13 image.cfg
aaron
4096 Mar 2 15:14 _img.files/
aaron
4096 Mar 2 15:14 _iso/
aaron 1970274304 Mar 2 15:14 rootfs.fex
aaron
512 Mar 2 15:13 split_xxxx.fex
aaron
65536 Mar 2 15:13 sunxi_mbr.fex
aaron
54869 Mar 2 15:13 sys_config.fex
aaron
301 Mar 2 15:13 sys_partition.fex
aaron
4 Mar 2 15:13 Vbootloader.fex
aaron
4 Mar 2 15:14 Vrootfs.fex
aaron
4096 Mar 2 15:13 work/
2.备份当前系统的根文件系统修改
$ sudo mount /dev/nandb /mnt
$ tar -cvp * |gzip > /xxx.tar.gz
rootfs.tar.gz 就是当前运行的文件系统
3.修改其他系统关键的配置文件:script.bin,uImage, uEnv.txt 等
$ sudo mount -t vfat debian-chird-desktop-nand.img.dump/_iso/bootloader.fex.iso /mnt
$ sudo umount /mnt
注意 2 点:
1)请不要直接在/mnt 目录里面修改 uEnv.txt,请在其他地方修改后拷贝替换原来的 uEnv.txt
2)如果您修改了 script.bin(使用 sunxi-tool 转换,见附件移植准备)和这个文件对应的
sys_config.fex 也要修改
3)修改 uImage 需要在本地编译内核,请使用 ubuntu12.04 64 位系统,并使用正确的工具链,请参考附
件“内核移植”
4.把 rootfs.tar.gz 下载到主机 ubuntu 上运行如下命令重新打包 img
sudo ./mk_ext4_rootfs.sh debian-chird.tar.gz rootfs.fex
cp rootfs.fex debian-chird-desktop-nand.img.dump/_iso/rootfs.fex.iso
cp rootfs.fex debian-chird-desktop-nand.img.dump/rootfs.fex
rm rootfs.fex -f
./imgrepacker debian-chird-desktop-nand.img.dump
|