迅爲iMX6D/Q/PLUS設備樹 Android7.1.2 系統編譯

1 安裝 JDK
1)Android8.1 系統編譯依賴於 JAVA 8。編譯之前需安裝 OpenJDK。安裝命令如下:
add-apt-repository ppapenjdk-r/ppa
apt-get update
sudo apt-get install openjdk-8-jdk
執行結果,如下圖:

2)如果您之前安裝過其他版本的 JDK,需要進行版本切換。如果沒有安裝過,可以跳過此步驟,查看目前已經安裝在系統裏的 Java 版本,使用以下命令:
update-java-alternatives -l

查看相應的 jdk(java javac 等)是否在 ubuntu 的 jdk 菜單裏,查看切換 jdk 的命令,如下所示:
sudo update-alternatives --config java

輸入 java8 對應的選擇項,按回車進行確認。
2 android7.1.2 整體編譯
本節介紹如何將 Android7.1.2 源碼如何整體編譯,即將 uboot,kernel,Android 鏡像 一次性全部編譯出來。
注意:編譯 Android7.1.2 系統必須保證給 Ubuntu 系統提供 4G 以上內存。這裏“提供 4G 以上內存”的意思,不僅僅是指在 VMware Workstations 虛擬機中設置分配 4G 內存。 例如,用戶在編譯的時候,PC 機的內存一共是 6G,在虛擬機中設置分配 4G 內存,但是在 Windows 系統下,開着 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下佔 用的內存就快 2G 了,那麼虛擬機會自動調整到只佔用 2G,甚至不到 2G 的內存,這樣就有 可能沒法編譯通過。 正確的分配內存方法是,首先給虛擬機分配 4G 以上內存,然後在 Windows 下關掉儘量 多的不必要的應用,關掉儘量多應用的後臺程序。 當然,如果用戶的 PC 是 8G 或者 16G 內存,隨意就成。
Android7.1.2 源碼在網盤目錄“03 系統固件燒寫及編譯篇\05 開發板系統源碼編譯\03-imx6Q 源碼\設備樹 android7.0 源碼”下,壓縮包先在 windows 下解壓,解壓之後得到單獨的壓縮包“iTOPiMX6_android7.1.2_20200708.tar.gz”。 將“iTOP-iMX6_android7.1.2_20200708.tar.gz”壓縮包解壓到 Ubuntu14 下(作者在 /home 目錄下新建了 imx6q 目錄,將源碼拷貝和解壓到 imx6q 目錄下;plus 版本的作者新 建了 iMX6-PLUS 目錄)。注意:這裏的解壓命令,包括後面的解壓命令中,壓縮包的日期可 能有點不一樣,用戶要根據實際情況調整。

使用解壓命令“tar -vxf iTOP-iMX6_android7.1.2_20200708.tar.gz”解壓源碼,解壓之後得到“iTOP-iMX6_android7.1.2”文件夾,如下圖所示。

使用命令“cd iTOP-iMX6_android7.1.2”,進入“iTOP-iMX6_android6.0.1”目錄, 如下圖所示,使用 ls 命令,可以看到編譯腳本“create.sh”,這個文件就是系統整體編譯的 腳本。

1G 核心板和 2G 核心板 uboot 的配置有點不一樣。 如果用戶是 2G 內存,使用默認配置即可。 如果用戶是 1G 內存,進入“bootable/bootloader/uboot- imx/board/freescale/mx6sabresd”,如下圖所示,“mx6qp.cfg”文件中內存配置代碼, “mx6qp.cfg_1G”是 1G 內存配置文件,“ mx6qp.cfg_2G”是2G 配置文件。2G 核心板 用戶需要使用“mx6qp.cfg_1G”文件將“ mx6qp.cfg”覆蓋,使用命令“cp -rmx6qp.cfg_1G mx6qp.cfg”即可。

繼續介紹編譯腳本“create.sh”的用法。 注意:如果想編譯出 iMX6PLUS 版本的 uboot,kernel,以及 Android7.1.2 文件系統,需要在編譯時增加參數“plus”,即:“./create.sh plus”,如下圖所示。

注意:如果想編譯出 iMX6Q 版本的 uboot、kernel、以及 Android7.1.2 文件系統,需要在編譯時增加參數“6q”,即:“./create.sh 6q”,如下圖所示。

注意:如果想編譯出 iMX6D 版本的 uboot、kernel、以及 Android7.1.2 文件系統,需 要在編譯時增加參數“6d”,即:“./create.sh 6d”。 如下圖所示,開始編譯。

編譯完成,如下圖所示,生成的鏡像在“out/target/product/sabresd_6dq”目錄下。

編譯完成之後,使用命令“cd out/target/product/sabresd_6dq”進入鏡像目錄,使用 ls 命令,可以看到生成了“u-boot.imx”、“system.img”、“recovery.img”以及 “boot-topeet_10.1.img ”、“boot-topeet_7.img ”、“boot-topeet_9.7.img ”等鏡 像文件。編譯生成的以上鏡像就是 Android7.1.2全部的鏡像。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章