關於全志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
下載如上第一個檔案。下載完之後
1.解壓:tar -xzvf arm-linux-gcc-4.4.3.tar.gz -C/ (解壓到根目錄,可以根據自己情況更改)
2.更改環境變數:
#:cd /root/ #:vi .bashrc #:source ~/.bashrc (立即生效) (好像只能本終端,登出一下就永遠都有這個環境變數的) 3.測試一下 arm- 然後按兩下Tab,看有沒有像下圖一樣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
螢幕上會出現以下資訊
選擇跟自己開發板對應的產品 (開發板對應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就是我們需要的檔案