【北京迅為】iTOP-i.MX6開發(fā)板使用手冊第四部分固件編譯第十四章非設備樹Android4.4系統(tǒng)編譯
可根據(jù)用戶需求更換,百變定制,高端產品無憂!
迅為IMX6Q兼容四核商業(yè)級 、雙核商業(yè)級、四核工業(yè)級 、更可提供i.MX6Q家族PLUS版本核心板。
核心板采用十層PCB沉金盲埋設計,更能保證電磁兼容與系統(tǒng)穩(wěn)定。
公眾號:迅為電子
-----------------------------------------
第十四章 非設備樹Android4.4系統(tǒng)編譯
設備樹簡單理解就是描述設備信息(資源)的一棵樹,如下圖所示。那么本章節(jié)編譯的Android4.4描述設備信息不是采用設備樹的形式,而是采用傳統(tǒng)的方式描述設備。
Android4.4 源碼在網(wǎng)盤目錄“iTOP-i.MX6Q 開發(fā)板\IMX6Q 非設備樹內核光盤資料(刻盤)\V2.6 底板\20200703(最新日期)\imx6q android4.4 光盤資料\04 源碼_android 4.4 文件系統(tǒng)”下。
本章節(jié)是在迅為提供的“搭建好的 Ubuntu12.04 環(huán)境?!被A上進行編譯的,如果您使用的 Ubuntu 編譯環(huán)境不是迅為提供的,請參考第十三章節(jié)進行搭建或者自行百度。
14.1整體編譯Android4.4
本節(jié)介紹如何將 Android 4.4 源碼整體編譯,即將 uboot,kernel,Android 鏡像一次性全部編譯出來。
注意的問題編譯 Android 系統(tǒng)必須保證給 Ubuntu系統(tǒng)提供 4G 以上內存。這里“提供 4G 以上內存”的意思,不僅僅是指在 VMware Workstations 虛擬機中設置分配 4G 內存。例如,用戶在編譯的時候,PC 機的內存一共是 6G,在虛擬機中設置分配 4G 內存,但是在 Windows 系統(tǒng)下,開著 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下占用的內存就快 2G 了,那么虛擬機會自動調整到只占用 2G,甚至不到 2G 的內存,這樣就有可能沒法編譯通過。
正確的分配內存方法是,首先給虛擬機分配 4G 以上內存,然后在 Windows 下關掉盡量多的不必要的應用,關掉盡量多應用的后臺程序。
1輸入以下命令查看java的版本,如果顯示版本是1.6版本則設置jdk版本成功,如果設置失敗請參考第十 三章13.2.3章節(jié)安裝jdk,java -version
2 Android4.4 壓縮包要先在 windows 下解壓,解壓之后得到單獨的壓縮包
iTOP-iMX6_android4.4.2_20200703.tar.gz,如下圖所示:
3 將賬戶切換為 root 用戶,將“iTOP-iMX6_android4.4.2_20200703.tar.gz”壓縮包(使用最新日期的 壓縮包即可)解壓到 Ubuntu 下,作者放在了 Ubuntu 的/home/topeet/imx6 目錄下,
4 使用以下命令解壓源碼,如下圖所示:
tar -vxf iTOP-iMX6_android4.4.2_20200703.tar.gz
5 解壓之后得到“iTOP-iMX6_android4.4.2”文件夾,
6 如下圖所示,使用 ls 命令,可以看到編譯腳本“create.sh”。
create.sh_imx6q是編譯ITOP-IMX6Q(工業(yè)級1G+8G)和TOP-IMX6Q(商業(yè)級2G+16G)的腳本,
create.sh_imx6dl是編譯ITOP-IMX6D(商業(yè)級1G+8G)的腳本。
我們在編譯之前要根據(jù)自己手里核心板的型號選擇對應的編譯腳本,然后覆蓋掉編譯腳本 create.sh,如下表所示:
7 ITOP-IMX6Q(商業(yè)級2G+16G)整體編譯 Android4.4
8ITOP-IMX6D(商業(yè)級1G+8G)整體編譯 Android4.4
9ITOP-IMX6Q(工業(yè)級1G+8G)整體編譯 Android4.4
10編譯完成之后,
11 輸入以下命令進入鏡像目錄,使用 ls 命令,可以看到生成了“u-boot.bin”,“boot.img”,“system.img”, “recovery.img”等鏡像文件,cd out/target/product/topeet_6dq
ls
14.2單獨編譯uboot
1 進入源碼解壓得到的“/iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx/”目錄下,如下圖所示,可以看到腳本“build_uboot.sh”。
2 請大家工具自己手里的核心板型號,輸入編譯命令,如下表所示,一種顏色的代碼代表一條命令:
3ITOP-IMX6Q(商業(yè)級2G+16G)單獨編譯uboot,
4ITOP-IMX6D(商業(yè)級1G+8G)單獨編譯uboot,
5 ITOP-IMX6Q(工業(yè)級1G+8G)單獨編譯uboot,
6 編譯完成,如下圖所示,生成了“u-boot.bin”文件,就是 uboot 的鏡像。
14.3單獨編譯Android4.4內核
1 如果我們只需要單獨編譯Android4.4kernel,則進入源碼解壓的 iTOP-iMX6_android4.4.2/kernel_imx
目錄下,
2 不區(qū)分核心板的型號,全部使用以下命令開始編譯內核 。
./build_android_kernel.sh
3 如下圖所示,開始編譯。
4 如下圖所示,編譯完成。
5 如下圖所示,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目錄下生成 uImage,即是內核鏡像。
6 但是 iMX6 的內核燒寫文件比較特殊,需要再次經過打包壓縮,所以還需要重新運行整體編譯 android 4.4的腳本,才能生成“boot.img”,android 編譯一次之后,后面編譯就非??炝恕Uw編譯 android 4.4
請參考 14.1 章節(jié)整體編譯 Android4.4。
14.4單獨編譯Linux內核
編譯出來的 Linux 內核鏡像適用于 QT,最小文件系統(tǒng),
Ubuntu12.04,Debian,Yocto 系統(tǒng),和 Android4.4
公用一套源碼。
1 如果我們需要單獨編譯 Linux 系統(tǒng)用的內核鏡像,則進入源碼“iTOP-iMX6_android4.4.2/kernel_imx”
目錄下,
2 使用以下命令,開始編譯內核,如下圖所示:
./build_qt_kernel.sh
3 開始編譯,
4 編譯完成,
5 如下圖所示,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目錄下生成 uImage,即是內核鏡像。
-
Android
+關注
關注
12文章
3935瀏覽量
127335 -
開發(fā)板
+關注
關注
25文章
5032瀏覽量
97371 -
設備樹
+關注
關注
0文章
38瀏覽量
3116
發(fā)布評論請先 登錄
相關推薦
評論