使用前准备:
export MANIFEST_REPO=git://android.git.linaro.org/platform/manifest.gitexport MANIFEST_BRANCH=linaro_android_4.4.2#arndale-octa.xml source-manifest.xmlexport MANIFEST_FILENAME=arndale-octa.xmlrepo init -u ${MANIFEST_REPO} -b ${MANIFEST_BRANCH} -m ${MANIFEST_FILENAME} -g "common,arndale_octa"
1.系统顶层文件夹结构
名称 | 说明 |
Abi | Application binary interface(ABI) |
Art | 4.4中引入的ART虚拟机 |
Bionic | 系统C库,标准C系统库(libc)的BSD衍生版,调整为基于嵌入式Linux设备 |
bootable | 启动Linux内核相关的引导代码 |
Build | 存放系统编译规则,基本都是一些shell脚本和.mk文件 |
Cts | Android兼容性测试套件标准 |
Dalvik | dalvik虚拟机,其执行javac编译完成的.class文件 |
Developers |
|
Development | 高层的开发和调试工具,即和应用程序开发相关 |
Device | 一些设备模块 |
Docs | Source files for the source.android.com site. |
External | Android使用的一些从外面取得的开源组件 |
Frameworks | 核心框架,使用java和c++语言编写 |
Hardware | 部分厂家开源的HAL代码 |
Kernel | Android内核源码 |
Libcore | 编译后会生成一些代码库 |
Libnativehelper | 本地帮助库 |
Ndk | Ndk工具建造器 |
Packages | 应用程序包,包括闹钟,日历,相机,电话等。 |
Pdk |
|
prebuilts | X86和arm架构下CPU与编译的一些资源 |
Sdk | 编译后得到SDK包和模拟器 |
System | 用C语言写的文件系统库,应用和组件 |
Tools |
|
u-boot | Bootloader |
out | 编译链接后生成的模块,包括system.img,userdata.img和diskram.img等 |
配置和编译方法
1. 进入系统顶层目录下,设置环境
$ . build/envsetup.sh或者 sourcebuild/envsetup.sh
2. 运行我自己写的脚本
exportUSE_CCACHE=1
exportCCACHE_DIR=./.ccache
prebuilts/misc/linux-x86/ccache/ccache-M 30G
makeclobber
echo “clearthe results”
sourcebuild/envsetup.sh
echo “setthe environment”
makeTARGET_PRODUCT=full_arndale_octaTARGET_TOOLS_PREFIX=prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9-linaro/bin/arm-linux-androideabi-boottarball systemtarball userdatatarball -j16
3. 等待编译完成,取决于电脑配置
4. 完成后,创建了一个out/target/products/arndale_octa文件夹,内容如下:
5. 烧写系统
目前可用的linaro-image-tools可以从git仓库中获取,网址:
git://git.linaro.org/infrastructure/linaro-image-tools.git ,[email protected] Bhoj给予的帮助。
成功后使用导出到环境变量中,然后进入out/target/product/arndale_octa目录下,
首先禁用ubuntu的设备自动挂载和自动挂载打开功能,http://blog.csdn.net/jefbai/article/details/20734575
第二步,烧录到micro sd卡中。命令:
linaro-android-media-create--dev arndale_octa --mmc /dev/sdx --system system.tar.bz2 --boot boot.tar.bz2--userdata userdata.tar.bz2
/dev/sdx请替换成对应的设备名称,插入或者拔出设备后使用dmeg查看。
完成后umount,插入micro sd卡到开发中,设置启动拨码开关,可以看到serial debug上已经进入系统了,只是LCD屏幕驱动没有移植。
OK!! very good!