使用前準備:
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 ,在這裏再次感謝@Vishal 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!