利用imx-android-r10.1版本的包;
在虚拟机上装好LINUX的系统(我用的是ubuntu10.10),并配置好相应的环境;
按下面步骤解压好相应的安装包:
$ cd/opt (or any other directory you like)
$ tar xzvfimx-android-r10.1.tar.gz
$ cd imx-android-r10.1/code
$ tar xzvfr10.1.tar.gz
1、 利用已有的一些编译好的文件来刷写系统到开发板上
在这里得我们得先下载bootloader、内核、ramdisk和根文件系统到我们的开发板的主存储器里面,可以是SD卡,也可以通过NFS来实现;
参考以前写的文档把相关的文件写的SD卡中,同时把相应的区分好;
按照要求对SD卡这个盘进行分区:
分区结果如下:
root@glose-10:/home/glose#cat /proc/partitions
majorminor #blocks name
8 0 20971520 sda
8 1 20051968 sda1
8 2 1 sda2
8 5 916480 sda5
8 16 1997312 sdb
8 17 412083 sdb1
8 18 412083 sdb2
8 19 1 sdb3
8 20 644490 sdb4
8 21 412052 sdb5
8 22 101525 sdb6
2、有如下几种下载镜像的方法:
A) Download Images with MFG Tool
如果要用MFG工具,得设置S1的启动与引用方式,把S0设置为ON,其他的设置成OFF;
如果要从SD卡启动,则把S7和S8设置的ON,其他的都为OFF;
a) 首先把Boot Dip设置成USB serial doenload mode,即S0设置成ON,其他为OFF;
b) 找到对应开发板的的Mfgtools包并解压,在tool目录下(我的是:F:\Android\i.mx51\imx-android-r10.1\tool)
c) 把自带的android相关的镜像文件copy到相应的目录下,具体可以参考文件1
B) Download Images with dd utility
用Linux下的dd命令来实现,通过dd命令把相应的镜像文件copy到SD卡上,不过在用这个命令之前我们得把分区分好,就是我们前面所做的工作。
a) root@glose-10:/home/glose# ddif=/opt/imx-android-r10.1/image/imx51_bbg/u-boot.bin of=/dev/sdb bs=1K skip=1seek=1;sync
记录了167+1 的读入
记录了167+1 的写出
171588字节(172 kB)已复制,2.49956 秒,68.6 kB/秒
b) root@glose-10:/home/glose# dd if=/opt/imx-android-r10.1/image/imx51_bbg/uof=/dev/sdb bs=1M seek=1;sync
u-boot.bin u-boot-no-padding.bin uImage
root@glose-10:/home/glose#dd if=/opt/imx-android-r10.1/image/imx51_bbg/uImage of=/dev/sdb bs=1Mseek=1;sync
记录了3+1 的读入
记录了3+1 的写出
3152860字节(3.2 MB)已复制,2.73483 秒,1.2 MB/秒
c) root@glose-10:/home/glose# ddif=/opt/imx-android-r10.1/image/imx51_bbg/SD/uramdisk.img of=/dev/sdb bs=1Mseek=6;sync
记录了0+1 的读入
记录了0+1 的写出
181611字节(182 kB)已复制,0.340819 秒,533 kB/秒
d) root@glose-10:/home/glose# ddif=/opt/imx-android-r10.1/image/imx51_bbg/SD/system.img of=/dev/sdb2;sync
e) root@glose-10:/home/glose# ddif=/opt/imx-android-r10.1/image/imx51_bbg/SD/recevery.img of=/dev/sdb4;sync
这个写入的速度有点慢,等好一个多小时还没有好。。。。。
C)Download Images withfastboot
2、 从SD卡启动时,配置相关UBOOT的参数相关问题
U-Boot >setenv ethaddr 00:04:9f:00:ea:d3 [setup the MAC address]
U-Boot >setenv fec_addr 00:04:9f:00:ea:d3 [setup the MAC address]
U-Boot >setenv loadaddr <kernel load addr> [0x90800000 for i.MX51, 0x70800000for i.MX50/3]
U-Boot >setenv rd_loadaddr <ramdisk load addr> [0x90D00000 for i.MX51, 0x70D00000 for i.MX50/3]
U-Boot >setenv bootcmd 'run bootcmd_SD; bootm ${loadaddr} ${rd_loadaddr}'
U-Boot >setenv bootcmd_SD 'mmc read 0 ${loadaddr} 0x800 0x2000; mmc read 0${rd_loadaddr} 0x3000 0x300;' [load kernel andramdisk from MMC/SD or eMMC]
[About the eMMC boot, please use the "mmc read 1"replace the "mmc read 0"]
U-Boot >setenv bootargs console=ttymxc0 init=/initandroidboot.console=ttymxc0di0_primary video=mxcdi0fb:RGB24,1024x768M@60 gpu_memory=16M
U-Boot >saveenv [Save theenvironments]
重启后,系统运行Android。
插入USB鼠标时会出现:
# usb 2-1.1: USB disconnect, address 4
usb 2-1.2: new low speed USB device usingfsl-ehci and address 5
input: HID 04b3:3107 as/devices/platform/fsl-ehci.1/usb2/2-1/2-1.2/2-1.2:1.0/input/input4
generic-usb 0003:04B3:3107.0002: input: USBHID v11.10 Mouse [HID 04b3:3107] on usb-fsl-ehci.1-1.2/input0
在默认情况下,系统很快就会锁屏,没有触摸屏操作很不方便,通过在setting里面,设置永不睡眠。
参考手册:
1、i.MX Android R10.1 User Guide
2、MX51_EVK_Linux_BSP_UserGuide
3、uboot_mx5x