..
QT210 Android4.0源码编译和烧录

开发环境说明:

  • Ubuntu 12.04 LTS 32bit

源码文件目录:

编译过程说明

编译uboot (qt210_ics_uboot.bz2)

交叉编译环境:

tar jxf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /usr/local/arm

注:必须解压到/usr/local/arm目录下,因为Android源码Makefile当中,包含了arm-linux-gcc的绝对路径。

然后进入到交叉编译压缩包的目录执行:

cd ./qt210_ics_uboot
make smdkv210single_config
make (编译)

完成后qt210_ics_uboot 目录下就有了u-boot.bin 文件, qt210_ics_uboot/tools 目录中有了mkimage 文件(这个用来make uImage 的) 把mkimage所在的目录加入到环境变量中或者是把mkimage复制到/usr/bin目录中。

编译Kernel (qt210_ics_kernel.bz2)

cd qt210_ics_kernel3.0.8/	
cp config_capacity .config	
make -j2 uImage #–j4 也行,数字指参与编译的线程数

编译完成之后,在目录qt210_ics_kernel3.0.8/arch/arm/boot 中应该有uImage文件。

编译android(android_qt210.bz2)

在编译Android源码之前,一定要将开发环境搭建完成。比如:安装java6,gcc4.5等

运行 qt210中包含的shell脚本:

./installtools.sh

如果出现如下错误,将出错的项目从installtools.sh中去掉。再安装!

leo@teacher-A:~/qt210$ sh source/installtools.sh
get host tools now
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
E: 未发现软件包 libc6-dev-i386
E: 未发现软件包 ia32-libs
E: 未发现软件包 lib32z-dev
E: 未发现软件包 lib32ncurses5-dev

尽量的保证installtools.sh当中的软件都安装完成

解压android源码:

tar jxf android_qt210.tar.bz2

运行qt210当中的shell脚本:

./compilesrc.sh #compilesrc.sh和解压后的android源码放在同一级目录

如果在编译过程当中出现缺少库的情况,那么缺什么库就安装什么库。

编译
compilesrc.sh中的内容也比较简单,就是编译android源码的三个步骤:

source build/envsetup.sh
lunch full_smdkv210-eng
make -j4

烧写过程说明

制作TF启动,也就是把UBOOT烧到TF卡中
将读卡器插入到电脑上在ubuntu虚拟机下,找到已经编译好的uboot所在文件夹。

cd qt210_ics_uboot/sd_fusing
sudo ./sd_fusing_uboot.sh /dev/sdb #将编译好的uboot烧录到tf卡当中

将TF卡插入开发板,选择TF卡启动
进入bootloader模式,然后敲:

fdisk -c 0 #格式化sd卡
fastboot #启动fastboot工具,使用fastboot需要连接USB OTG线

在windows当中,建立文件夹将编译好的
u-boot.bin、uImage、ramdisk-uboot.img、system.img放入其中将fastboot.exe和leo_android.bat拷贝到目录当中leo_android.bat内容如下:

fastboot.exe flash bootloader u-boot.bin 
fastboot.exe flash kernel uImage 
fastboot.exe flash system system.img
fastboot.exe flash ramdisk ramdisk-uboot.img 
fastboot.exe -w

双击运行leo_android.bat,现在就通过fastboot协议烧录android系统
烧录完成后将tf卡取出插入电脑在ubuntu下,清除第三分区

sudo mkfs.ext4 /dev/sdb3

插入开发板重启启动即可!

注意

  • 由于开发板android4.0.4移植的不够完善,有时候会出现电容屏不好使,或者无法解锁,所以,设置–developer options–>Stay awake
  • 还有屏保时间设置最长为30min