i.mx51开发板利用已有的镜像文件(SD卡启动)刷写Android

来源:互联网 发布:linux 运行sh脚本 编辑:程序博客网 时间:2024/04/28 21:19

 

利用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