itop4412開發板Android4.4舊源碼編譯
注意:本小節,介紹的舊源碼指的是“20170803”之前的源碼。
在網盤目錄中“iTOP4412 開發板資料匯總(不含光盤內容)\iTOP-4412 開發板系統源
碼及鏡像(其他)\android_4.4.4 源碼以及對應 Kernel 源碼”中下載 Android4.4.4 的 文件
系統,并通過 github 下載 uboot(Android4.4 的 uboot 源碼和 Android4.0.3 完全一樣)
和 kernel 的源碼(參考附錄六)。
5.4.2.1 uboot 的編譯
Android4.4.4 對應 uboot 的源碼,編譯器,參數配置,編譯腳本以及編譯參數和
Android4.0.3 的 uboot 全部一模一樣。
5.4.2.2 Linux 內核的編譯
源碼目錄
網盤下載 Android4.4.4 對應的源碼。在網盤“iTOP-4412 開發板系統源碼及鏡像(其
他)”→“android_4.4.4 源碼及鏡像”目錄下。
編譯器
Android4.4.4 對應內核的編譯器和 Android4.0.3 的內核編譯器一模一樣。
參數配置
內核的編譯是組合式配置文件,基本的配置文件名是“config_for_android_YY”,YY 表
示用下表所示的參數替代。
如上表所示,如果需要 Android4.4.4 支持 WiFi,則需要配置對應的參數。
編譯生成內核鏡像舉例
和 Android4.0.3 內核一樣,如果需要編譯對應核心板的內核,首先使用 cp 命令將對應
的配置文件覆蓋掉”.config”,然后在執行編譯命令“make zImage”。
生成內核鏡像的目錄也是“arch”-->“arm”-->“boot”。
5.4.2.3 Android4.4.4 的編譯
Android4.4.4 源碼在網盤“iTOP-4412 開發板系統源碼及鏡像(其他)\android_4.4.4
源碼以及對應 Kernel 源碼”目錄中下載,編譯器和參數配置和 Android4.0.3 一模一樣。
更新環境 javap
編譯 Android4.4.4,還缺少一個“javap”命令,使用命令:
“update-alternatives --install "/usr/bin/javap" "javap"
"/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1”
更新一下,如下圖所示。
源碼下載
內核的源碼也可以在 github 上下載,具體參考使用手冊附錄 6.2,附錄中有迅為
Android4.4 對應內核源碼 github 下載地址。
使用手冊附錄中有介紹 repo 下載 Android4.4 源碼的方法,但是從今年(2016)開始,
repo 經常性的無法下載和使用。所以最好到迅為百度網盤中下載源碼(目錄參考使用手冊編
譯章節),選取日期最近的目錄下載即可。
網盤中源碼包一般是 gz 后綴、7z 或者 rar 后綴。gz 后綴可以直接在 Ubuntu 下解壓;
7z 和 rar 后綴都是需要先在 windows 下解壓出 gz 后綴壓縮包,然后再在 Ubuntu 下解壓。
內核以及 Android 源碼路徑
編譯 Android4.4 源碼的時候,一定要注意內核源碼的目錄。在和 Android 源碼目錄
“ iTop4412_KK4.4_git ”的同一級目錄下,新建一個 kernel 目錄,然后將內核源碼放到
kernel 目錄下,要使用迅為默認的文件名“iTop4412_Kernel_3.0”。
例如:在 Android4.4 的源碼目錄下,使用命令
“ls ../kernel/iTop4412_Kernel_3.0/”,如下圖所示,內核的目錄才是正確的。
另外在編譯 Android4.4 之前,必須成功編譯 Android4.4 對應的內核。
然后進入 Android4.4.4 源碼解壓后得到文件夾“iTop4412_KK4.4”中,使用命令
“./build_android.sh”,運行一鍵編譯腳本,開始編譯 Android4.4.4。注意:編譯
Android4.4.4 必須保證給 Ubuntu 系統提供 3G 以上內存。這里“提供 3G 以上內存”的意
思,不僅僅是指在 VMware Workstations 虛擬機中設置分配 3G 內存。例如,用戶在編譯的
時候,PC 機的內存一共是 4G,在虛擬機中設置分配 3G 內存,但是在 Windows 系統下,開
著 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下占用的內存就快 2G 了,
那么虛擬機會自動調整到只占用 2G,甚至不到 2G 的內存,這樣是沒法編譯通過的。
正確的分配內存方法是,首先給虛擬機分配 3G 以上內存,然后在 Windows 下關掉盡量
多的不必要的應用,關掉盡量多應用的后臺程序。
當然,如果用戶的 PC 是 8G 或者 16G 內存,隨意就成。
如下圖所示,編譯完成。在文件夾
“iTop4412_KK4.4/out/target/product/smdk4x12”中,生成鏡像“system.img”和
“ramdisk-uboot.img”。
這里還需要注意的是,Android4.4.4 源碼需要占用較大的空間,用戶需要確認有足夠的
空間才能夠成功編譯。Android4.0.3 編譯完成后總共大約占用 18G 的空間,Android4.4.4 編
譯完成后總共占用大約 36G 的空間,如下圖。
用戶完全按照步驟編譯錯誤,可以使用“df -l”查看一下盤符剩余空間還剩下多少,如下
圖所示,如果是已使用 100%,則是空間不足。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。