1目的
实现uboot引导启动android 5.0.2系统。
2 现有环境
友善之臂tiny 4412开发板,superboot引导启动android5.0.2系统,内核版本为linux3.0.8。
3 搭建方案
3.1 技术上两种主流方案
1. 利用uboot生成bin文件,连同系统镜像文件烧写到SD卡,通过SD卡来引导开发板启动uboot,再启动android环境。
2. 利用uboot生成bin文件,烧写至SD卡,引导开发板uboot,用OTG数据线连接PC和开发板,再通过DNW程序,将镜像文件烧写到开发板的emmc 中,实现android环境启动。
3.2 方案比较
方案一对SD卡要求比较高(质量和速度),且中间过程出错后得重头开始,深刻教训!方案二循序渐进,不足之处是操作繁琐,但是比较稳定可靠,中间出错可及时修正。
经过了多次操作,我个人建议选择方案二。
4 实施步骤
本文档选择以方案二来介绍。
4.1 前提准备
4.1.1 linux环境准备
1.arm-linux-gcc-4.5.1 交叉编译器
2. linux-3.0.8-tiny4412 linux内核 → 编译出zImage镜像
3. android 5.0.2源码 编译android镜像文件
4. uboot源码 生成启动引导文件
5. 安装minicom 串口程序
6. 安装dnw 数据传输程序
7. 安装fastboot
8. SD卡(容量4G至32G之间)、串口线、OTG线
4.1.2 几点说明
1. gcc环境变量设置,极易出错,两种方式:(1)终端命令export PATH=$PATH:xxxxxxxxxxxxxxxxxxxxxxxx;(2)修改bashrc文件。
2. uboot 源码不能用友善之臂光盘里的源码,比较旧了,生成的bin文件不能引导新生产出来的开发板启动。
3. 生成linux内核镜像和android镜像,编译特别耗时间,尤其是android镜像,对环境要求极高,务必提前准备好环境!
4.2 生成4个bin文件
一共是4个bin文件,E4412_N.bl1.bin、 bl2.bin、uboot.bin和E44