本文檔介紹itop-4412開(kāi)發(fā)板上移植 Android5.1 的教程,包括:基礎(chǔ)知識(shí)、搭建編譯環(huán)境、編譯、
repo 下載、燒寫(xiě)等內(nèi)容。
需要了解的基礎(chǔ)知識(shí)有 git 和 repo 工具,這兩個(gè)工具是程序員必備要會(huì)使用的工具;搭
建編譯環(huán)境是基于 Ubuntu14,這是由 Android 的版本決定的,另外需要至少 120G 的硬盤(pán)
空間;另外還有使用 repo 下載源碼、編譯、燒寫(xiě)等等。
1 Git 和 repo
Git 是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。
Git 是 Linus Torvalds(和內(nèi)核發(fā)明人是同一個(gè)人)為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)
的一個(gè)開(kāi)放源碼的版本控制軟件,它采用了分布式版本庫(kù)的方式,不必服務(wù)器端軟件支持。
Git 是一個(gè),關(guān)于 Git 的教程,網(wǎng)上非常多,比較好的教程鏈接如下:
www點(diǎn)runoob點(diǎn)com/git/git-tutorial.html
在我們的移植教程中,Git 只需要簡(jiǎn)單了解下,但是這個(gè)工具還是很有用的,用戶(hù)如果有
時(shí)間可以自己好好學(xué)習(xí)下,github 上還有很多有用的開(kāi)源軟件,非常喲用。
repo 只是 google 用 Python 腳本寫(xiě)的調(diào)用 Git 的一個(gè)腳本,主要是用來(lái)下載、管理
Android 項(xiàng)目的軟件倉(cāng)庫(kù)。也就是說(shuō),repo 是調(diào)用 Git 的一個(gè)腳本,運(yùn)行這個(gè)腳本會(huì)將源碼
下載到本地,也有同步和合并的命令。學(xué)習(xí)鏈接如下:
http://blog.csdn.net/wh_19910525/article/details/8164107
2 搭建基礎(chǔ)編譯環(huán)境
2.1 Ubuntu14.04 的安裝
編譯 Android5.1 需要用到 Ubuntu14.04,在網(wǎng)盤(pán)“iTOP4412 開(kāi)發(fā)板資料匯總(不含光
盤(pán)內(nèi)容)\iTOP-4412 開(kāi)發(fā)板搭建編譯環(huán)境所需要的工具包以及補(bǔ)丁包\08-Android5.1 開(kāi)發(fā)
工具包\01-Ubuntu14.04 鏡像”目錄下。安裝方法參考用戶(hù)使用手冊(cè) 3.2 小節(jié),和
Ubuntu12.04 版本安裝方法一樣。
2.2 安裝 ssh 和 vim
虛擬機(jī) Ubuntu14.04 安裝完成之后,首先需要開(kāi)啟 root 用戶(hù)(參考用戶(hù)手冊(cè) 3.3.2 小
節(jié))、聯(lián)網(wǎng)以及更新數(shù)據(jù)源(參考用戶(hù)手冊(cè) 3.3.4 小節(jié))。請(qǐng)注意:編譯 Android5.1.1 之后,
源碼和中間文件有接近 90G,建議用戶(hù)在安裝的 Ubuntu 的時(shí)候,建議提供 150G 以上的空
間,作者剛開(kāi)始測(cè)試分配 100G,發(fā)現(xiàn)會(huì)報(bào)錯(cuò)。
聯(lián)網(wǎng)和更新數(shù)據(jù)源之后,需要安裝 vim 編輯器和 ssh 工具。
vim 工具的安裝使用參考 3.4 小節(jié)。
參考 3.2.5 小節(jié),首先在 Windows 上安裝 ssh 工具(已經(jīng)安裝的就不需要安裝了)。
Ubuntu14.04 上安裝 ssh 工具,使用命令“apt-get install ssh”.
虛擬機(jī) Ubuntu 上的 SSH 軟件安裝之后,還需要設(shè)置一下。
1)首先登陸 root 賬戶(hù),然后使用命令“vim /etc/ssh/sshd_config”打開(kāi)配置文件。
1.png (34.07 KB, 下載次數(shù): 114)
下載附件
2018-3-23 10:32 上傳
2)打開(kāi)之后如下圖所示。
2.png (280.34 KB, 下載次數(shù): 111)
下載附件
2018-3-23 10:32 上傳
3)找到 Authentication 配置部分,將 PermitRootLogin without-password 修改為
PermitRootLogin,如下圖所示。
3.png (226.23 KB, 下載次數(shù): 123)
下載附件
2018-3-23 10:33 上傳
4)然后保存退出,重啟下 Ubuntu,Ubuntu 上的 ssh 就設(shè)置完畢。
3 編譯內(nèi)核
內(nèi)核的編譯使用 arm-2009q3 交叉編譯工具,參考用戶(hù)手冊(cè) 5.2.2 小節(jié)。
1)拷貝網(wǎng)盤(pán)“iTOP4412 開(kāi)發(fā)板資料匯總(不含光盤(pán)內(nèi)容)\iTOP-4412 開(kāi)發(fā)板搭建編譯
環(huán)境所需要的工具包以及補(bǔ)丁包\08-Android5.1 開(kāi)發(fā)工具包\02-Android5.1 內(nèi)核源碼”文件
夾里面的 linux 內(nèi)核源碼 iTop4412_Kernel_3.0_for_android_5.1.1.tar.gz 到 ubuntu 系統(tǒng)
下,如下圖:
5.png (109.68 KB, 下載次數(shù): 105)
下載附件
2018-3-23 10:33 上傳
2)然后輸入命令“tar -xvf iTop4412_Kernel_3.0_for_android_5.1.1.tar.gz”解壓內(nèi)核
源碼,如下圖:
6.png (67.29 KB, 下載次數(shù): 112)
下載附件
2018-3-23 10:33 上傳
3)解壓完生成 iTop4412_Kernel_3.0 文件夾,進(jìn)入到該文件夾,如下圖:
7.png (236.08 KB, 下載次數(shù): 104)
下載附件
2018-3-23 10:33 上傳
4)根據(jù)使用的核心板型號(hào)選擇對(duì)應(yīng)的配置文件
scp 核心板輸入命令:cp config_for_android_scp .config
pop 核心板輸入命令:cp config_for_android_pop .config
(筆者使用的 scp 的核心板),如下圖:
8.png (53.33 KB, 下載次數(shù): 106)
下載附件
2018-3-23 10:33 上傳
5)然后輸入命令 make,編譯內(nèi)核,如下圖:
9.png (106.49 KB, 下載次數(shù): 109)
下載附件
2018-3-23 10:33 上傳
6.編譯完生成 zImage 鏡像,如下圖:
10.png (176.59 KB, 下載次數(shù): 139)
下載附件
2018-3-23 10:33 上傳
4 下載和編譯 Android5.1
在網(wǎng)盤(pán)“iTOP4412 開(kāi)發(fā)板資料匯總(不含光盤(pán)內(nèi)容)\iTOP-4412 開(kāi)發(fā)板搭建編譯環(huán)境
所需要的工具包以及補(bǔ)丁包\08-Android5.1 開(kāi)發(fā)工具包\03-repo 和補(bǔ)丁包”目錄下有
“iTOP-4412-Android5.1-repo 文件.zip”和“itop4412_5.1_path_20180315.tar”兩個(gè)壓
縮包。
1)首先在 ubuntu 系統(tǒng)目錄下建立文件夾“android-5.1.1_r9”,如下圖:
11.png (113.92 KB, 下載次數(shù): 109)
下載附件
2018-3-23 10:33 上傳
2)然后進(jìn)入到“android-5.1.1_r9”文件夾,如下圖:
12.png (158.68 KB, 下載次數(shù): 139)
下載附件
2018-3-23 10:33 上傳
3)解壓網(wǎng)盤(pán)“iTOP4412 開(kāi)發(fā)板資料匯總(不含光盤(pán)內(nèi)容)\iTOP-4412 開(kāi)發(fā)板搭建編譯
環(huán)境所需要的工具包以及補(bǔ)丁包\08-Android5.1 開(kāi)發(fā)工具包\03-repo 和補(bǔ)丁包”目錄下的
“iTOP-4412-Android5.1-repo 文件.zip”壓縮包,得到 repo 文件。
拷貝文件“repo”到 ubuntu 的 android-5.1.1_r9 文件夾下面,如下圖:
13.png (207.66 KB, 下載次數(shù): 127)
下載附件
2018-3-23 10:33 上傳
4)使用 chmod 命令修改 repo 文件的權(quán)限:chmod 777 repo,如下圖:
14.png (81.28 KB, 下載次數(shù): 112)
下載附件
2018-3-23 10:33 上傳
5)然后在當(dāng)前目錄下輸入“./repo init -u
git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-5.1.1_r9”,初始化
android 5.1 的代碼,如下圖:
15.png (59.34 KB, 下載次數(shù): 115)
下載附件
2018-3-23 10:33 上傳
6)然后輸入命令“./repo sync -j4”(注意:-j4 表示系統(tǒng)是 4 核,如果是 8 核則可以
使用命令-j8,加快速度),開(kāi)始同步下載 android 5.1 源碼(確保 ubuntu 系統(tǒng)有足夠的空
間,整個(gè)下載過(guò)程跟網(wǎng)速有關(guān)系,網(wǎng)速慢很可能超過(guò) 1 天),如下圖:
16.png (487.55 KB, 下載次數(shù): 103)
下載附件
2018-3-23 10:33 上傳
7)下載完 android 5.1 的源碼,然后網(wǎng)盤(pán)“iTOP4412 開(kāi)發(fā)板資料匯總(不含光盤(pán)內(nèi)
容)\iTOP-4412 開(kāi)發(fā)板搭建編譯環(huán)境所需要的工具包以及補(bǔ)丁包\08-Android5.1 開(kāi)發(fā)工具
包\03-repo 和補(bǔ)丁包”文件夾里面的“itop4412_5.1_path_2018xxxx.tar.gz”壓縮文件到
ubuntu 上的 android-5.1.1_r9 文件夾下面,如下圖:
17.png (147 KB, 下載次數(shù): 119)
下載附件
2018-3-23 10:33 上傳
8)然后輸入解壓命令“tar -xvf itop4412_5.1_path_20180313.tar.gz”,如下圖:
18.png (69.7 KB, 下載次數(shù): 107)
下載附件
2018-3-23 10:33 上傳
9)解壓完成后,android 5.1 的源碼就支持 itop-4412 平臺(tái)了,然后輸入編譯命令
“./create.sh”,如下圖:
19.png (532.2 KB, 下載次數(shù): 129)
下載附件
2018-3-23 10:33 上傳
10)編譯完成,會(huì)在“out/target/product/itop4412”目錄下生成 android 鏡像
ramdisk-uboot.img,system.img,如下圖:
20.png (119.26 KB, 下載次數(shù): 123)
下載附件
2018-3-23 10:33 上傳
11)如下圖所示,作者編譯過(guò)兩次,給虛擬機(jī) Ubuntu 提供了 8G 內(nèi)存,第一次中間打
斷,第二次編譯耗費(fèi)時(shí)間為 57 分 10 秒。
21.png (187.05 KB, 下載次數(shù): 111)
下載附件
2018-3-23 10:33 上傳
12)另外,如下圖所示,如果用戶(hù)空間不夠,會(huì)報(bào)以下錯(cuò)誤(作者的用 100G 測(cè)試報(bào)如
下錯(cuò)誤)。
22.png (213.43 KB, 下載次數(shù): 121)
下載附件
2018-3-23 10:33 上傳
5 燒寫(xiě)測(cè)試
燒寫(xiě)可以參考用戶(hù)手冊(cè)第三章,uboot 使用 Android4.0 的就成。 itop4412開(kāi)發(fā)板:
TB2_M1bcXXXXXa3XXXXXXXXXXXX_!!684017536.jpg (66.66 KB, 下載次數(shù): 112)
下載附件
2018-3-23 10:33 上傳
|