在已得到Android的烧录映像后,操作如下:DNW中设置加载uboot地址:0x57e00000,先将CFG3跳线配置到第三向左第四向右,从NOR FLASH启动。
1,u-boot
开机上电,烧录一次UBOOT后,按键盘进入命令状态,输入dnw,第二次烧入u-boot文件,因为要烧入NAND中。
执行nand erase 0 40000;nand write c0000000 0 40000
2,kernel
输入dnw,烧录后,执行nand erase 600000 300000;nand write c0000000 600000 300000
3.ram-disk
输入dnw,烧录后,执行nand erase 900000 100000;nand write c0000000 900000 100000
4,android image - system.img
输入dnw,烧录后,执行nand erase a00000 4300000;nand write.yaffs c0000000 a00000 3057000,注意:size大小依实际而定。
5,android user data - userdata.img
输入dnw,烧录后,执行nand erase 5a00000 2600000;nand write.yaffs c0000000 5a00000 840
6,boot command
setenv bootcmd 'nand read 50008000 600000 300000;nand read 50800000 900000 100000;bootm 50008000 50800000'
saveenv
7,断电,重新将CF3跳线配置到第三右第四左从NAND启动,上电即可。
================================MTK平台IMG解包和打包==========
针对MTK的安卓平台,现在很多工具都可以直接修改IMG来达到内置不同壁纸/APK/开机LOGO等内容,这是如何完成的呢?一个基本的操作是需要对已有的IMG内容进行解压,修改后在打包。下面学习解压和打包的过程。
MTK的CODE中已内置解压和打包工具,在alps/mediatek/build/tools/images/,目录下的工具可以整体拷贝到一个目录下,然后编辑~/.bashrc文件把tool_dir添加到$PATH环境变量中,然后source ~/.bashrc使设置生效;这样在任何目录下都可以解压打包。
(1)image解包,使用的是diff.pyc
格式是diff.pyc -o
- 是自己定义将要解包的目录,可以是绝对路径或相对路径。
- 是被解包的image,name并不限定于boot.img/recovery.img/system.img/userdata.img,这里不会检查image name,而是会自动判断image的类型;如果解包的是boot.img和recovery.img,额外在的同级目录下还会生成kernel image,命名方法是-kernel。如下,boot.img解压后得到两个,一个ramdisk根文件系统,另一个是ramdisk-kernel,是真正的内核。
diff.pyc也可以同时对sparse(透过build flow编译生成)和raw ext4(透过flash tool从手机readback)格式的image进行解包操作。
(2)image打包,使用的是pack.pyc。打包命令格式分两种,分别针对boot.img/recovery.img和system.img/userdata.img
A,针对第一种,格式是pack.pyc
- 是kernel image文件
- 包含ramdisk rootfs的目录
- 可以是任意一个15个字符的字符串,可以只填入0.
- 表示生成的是boot image还是recovery image,只选其一。
- 执行命令后会在同级目录下生成.img文件,这就是生成的boot.img或recovery.img。如下,把刚解压的重新打包成ramdisk.img,烧写时需要重命名成boot.img或recovery.img.
B,针对第二种,格式是pack.pyc -
- -表示要生成的image分区的size,比如-600就表示600MB。具体分区的size,请参考download时使用的scatter file(MT65XX_Android_scatter.txt),查看其中ANDROID,USRDATA, CACHE分区的大小;
- 目录的名字只能是system, data, cache其中一个,目前不接受其他的目录名,生成的image分别对应的是system.img, userdata.img和cache.img
例如pack.pyc -600 system, 把当前目录下的system目录中的内容打包成partition size为600MB的system.img
参考原文:http://blog.csdn.net/knock/archive/2009/12/03/4931781.aspx
================================安卓平台boot/recovery img解包打包================
参见网盘工具包mkbootimg_tools-master(boot recovery解包压包).zip使用