天天看點

關于全志A20的Ubuntu12.04 64位系統下環境配置及編譯過程筆記

在安裝Ubuntu系統之後,安裝編譯所需的GCC等工具,一般選用GCC4.4版本的,因為自己在編譯時安裝的是arm-linuc-gnueabi-4.6.3等,是以在編譯時一直報CC1:error等錯誤,在網上查了很多資料,大多數解釋為cc1檔案所在檔案夾權限不夠,後來發現是自己的arm-linux-gcc版本号過高,後來改成了arm-linux-gcc-4.4.3版本,是在友善之臂的官網上下載下傳的,網址如下:http://www.arm9.net/download.asp

關于全志A20的Ubuntu12.04 64位系統下環境配置及編譯過程筆記

下載下傳如上第一個檔案。下載下傳完之後

1.解壓:tar -xzvf arm-linux-gcc-4.4.3.tar.gz -C/ (解壓到根目錄,可以根據自己情況更改)

2.更改環境變量:

#:cd /root/ #:vi .bashrc #: source ~/.bashrc  (立即生效)     (好像隻能本終端,登出一下就永遠都有這個環境變量的) 3.測試一下  arm-     然後按兩下Tab,看有沒有像下圖一樣

關于全志A20的Ubuntu12.04 64位系統下環境配置及編譯過程筆記

4.然後按照A20安卓編譯官方手冊将需要安裝的庫什麼的全部安裝一遍

然後開始接壓檔案,再之後就是按照官方提示的進行操作,首先在lichee目錄下進行操作,出現錯誤的話按照提示去搜一下,大多數錯誤是由于我們少安裝了東西所導緻的,按提示安裝就可以了。另外要說的就是JDK1.6的安裝了,這個簡單些。下載下傳的是jdk-6u43-linux-x64.bin,安裝過程如下:

1、打開終端。

2、執行:sudo chmod u+x jdk-6u43-linux-x64.bin

3、執行:sudo ./jdk-6u43-linux-x64.bin

4、執行: sudo mv jdk1.6.0_43 /usr/local/

5、修改環境變量,在終端執行:sudo gedit /etc/environment,加入如下兩行:

       CLASSPATH="/usr/local/jdk1.6.0_43/lib"

       JAVA_HOME="/usr/local/jdk1.6.0_43"

       同時在PATH變量的值後面加上:/usr/local/jdk1.6.0_43/bin

6、執行:source /etc/environment

7、執行:java -version,檢測是否安裝成功。

基本上出錯誤都是因為我們環境配置或者少下載下傳了工具所導緻的,在百度多次下一一解決了。

在lichee目錄下編譯核心成功後就可以在android目錄下開始編譯安卓了,在這裡遇到了很多問題,從網上也找了很多答案終于一一解決了。主要步驟是

1、選擇android 産品

#:source build/envsetup.sh

#:lunch

螢幕上會出現以下資訊

關于全志A20的Ubuntu12.04 64位系統下環境配置及編譯過程筆記

選擇跟自己開發闆對應的産品 (開發闆對應15 wing_k70)是以選15

2、 拷貝核心和子產品到android 中device/softwinner/xxx-xxx

指令#:extract-bsp

3、編譯

#:make -j8

然後就開始編譯了,這個過程有點長,大家可以去幹些别的事情。

編譯成功後會在out/target/product/xxx-xxx/ 目錄下面會生成boot.img, recovery.img, system.img 3個包。

3、打包 #:pack 列印成功後顯示如下資訊 --------release version, donnot have uart printf-------------

INFO: Packing for android

>>> script_parse 0.9.1

>>> check sys_config line format

>>> done.

>>> check partition config

>>> done.

>>> script_parse 0.9.1

>>> check sys_config line format

>>> done.

>>> check mainkey unique

>>> done.

>>> check module rule

>>> not implement yet

cp /disk2/kylin/A20_v1.2/lichee/out/android/common/u-boot.bin bootfs/linux/ [OK]

script sys_config.fex [OK]

script sys_partition.fex [OK]

update_mbr sys_partition.bin 4 [OK]

update_boot0 boot0_nand.bin sys_config.bin NAND [OK]

update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD [OK]

update_boot1 boot1_nand.fex sys_config.bin NAND [Uncheck]

update_boot1 boot1_sdcard.fex sys_config.bin SDMMC_CARD [Uncheck]

fsbuild bootfs.ini split_xxxx.fex [OK]

dragon image.cfg sys_partition.fex [OK]

----------image is at----------

/disk2/kylin/A20_v1.2/lichee/tools/pack/sun7i_android_wing-k70.img

然後 lichee/tools/pack/sun7i_android_wing-k70.img就是我們需要的檔案