多语言展示
当前在线:574今日阅读:97今日分享:45

飞凌i.MX6开发板 Android 系统编译

飞凌嵌入式i.MX6 Quad 的大部分软件都向用户开源,用网盘链接获取软件和硬件的文档及源码,Android4.4 的操作系统源码由于文件太大,存放于飞凌i.MX6 Quad 用户光盘(B)
工具/原料

推荐电脑配置处理器:Core(TM) i7 内存:4G 以上

方法/步骤
1

安装编译Android4.4 系统所需要的库1. 安装编译Android 必要的包# apt-get -y install git gnupg flex bison gperf build-essential zip\curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 \libreadline6-dev:i386 libgl1-mesa-dri:i386 libgl1-mesa-dev g++-multilib \mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 \dpkg-dev libswitch-perl2. 安装额外的一些包# apt-get install uuid uuid-dev# apt-get install zlib1g-dev liblz-dev# apt-get install liblzo2-2 liblzo2-dev# apt-get install git-core curl3. 安装JAVA 环境:#mkdir /usr/local/jdk拷贝jdk-6u45-linux-x64.bin 到/usr/local/jdk 目录下执行./jdk-6u45-linux-x64.bin相关的环境变量已在源码根目录下的env.sh 中定义,如用户将jdk 放在其他目录下请自行配置该文件。4. 额外的工作复制i.MX6 光盘资料(A)\Tools\ mkimage 到PC ubuntu12.04 /work/下# ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so#cd /work/# chmod u+x mkimage# cp mkimage /usr/sbin/mkimage

2

Android 4.4.2 系统的源码包android_kk4.4.2_1.0.0.tar.bz2 位于src/Android4.4.2 目录下,将它拷贝到ubuntu 文件夹/work/forlinx 下;注:防止编译出现不必要的错误,请您也把代码解压到上面提到的目录下。 解压Android 源码解压命令如下:#cd /work/forlinx#tar -xvjf android_kk4.4.2_1.0.0.tar.bz2注:解压之后的文件夹android_kk4.4.2_1.0.0 中包括文件系统、kernel,ubootKernel 位置android_kk4.4.2_1.0.0/kernel_imxUboot 位置android_kk4.4.2_1.0.0/bootable/bootloader/uboot-imx

3

Android 系统的编译1.编译Android编译android4.4 过程依赖于三个脚本文件,这些脚本文件包含在源码解压之后生成的目录下,进入该目录,执行以下命令:#cd /work/forlinx/android_kk4.4.2_1.0.0# source env.sh# source build/envsetup.sh#lunch sabresd_6dq-eng#make -j8 2>&1 | tee build.log注: 1.Android 的编译过程需要耗费几个小时的时间,时间长短视电脑配置而定。2.编译生成的镜像全部在android_kk4.4.2_1.0.0/out/target/product/sabresd_6dq 下生成,分别是boot.img、recovery.img、system.img、u-boot-6q.bin2.单独编译kernel使用以下命令配置内核:#./mk.sh kernel menuconfig使用如下命令来编译boot.img#./mk.sh kernel boot.img使用以下命令来清除kernel 编译中间文件#./mk.sh kernel distclean注: 1.Android 内核以boot.img 为单个文件进行烧写,所以要更新kernel,需要编译boot.img,boot.img 由ramdisk.img,uImage 以及kernel 启动参数组成,上面的命令会先检查是否有ramdisk.img,如果没有会先编译ramdisk.img,然后编译kernel,如已存在,那么会直接编译kernel。3.单独编译uboot使用以下命令来编译uboot#./mk.sh uboot android使用以下命令来清除uboot 编译中间文件#./mk.sh uboot distclean

推荐信息