目前世面是RK3288的板子並不多,其中有兩款,popMeta和fireFly. 因爲用到I/O比較多,所以選擇了前者。下面就講講搭建環境要注意的一些地方。
首先當然是要get SDK, 這裏因爲整個代碼比較大,推薦使用網盤下載,下載的方法官方有給出比較詳細的說明。
http://wiki.chipspark.com/cn/index.php/PopMetal%E5%BC%80%E5%8F%91%E6%9D%BFAndroid%E6%BA%90%E4%BB%A3%E7%A0%81%E4%B8%8B%E8%BD%BD
按照官方的下載完後,最重要的一步是同步代碼,代碼都是一對對pack包,配置ssh鏈接後sync 一下,經過漫長的等待自然就得到代碼。
rk3288路徑/.repo/repo/repo sync
下面說說如何搭建環境,這裏使用ubuntu12.04的版本,相應的環境搭建比較容易一點,高版本的需要替換一些庫,顯得比較麻煩。
首先是安裝依賴
安裝依賴庫:
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
直接運行會出現如下錯誤:
下列軟件包有未滿足的依賴關係:
libgl1-mesa-glx:i386 : 依賴: libglapi-mesa:i386 (= 8.0.4-0ubuntu0.6)
推薦: libgl1-mesa-dri:i386 (>= 7.2)
E: 無法修正錯誤,因爲您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關係
將裏面的libgl1-mesa-glx:i386修改爲 libgl1-mesa-dri:i386,運行後可以正常安裝
重新輸入:
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev
libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dri:i386
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
然後:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
編譯過程中發現:
/bin/sh: 1: lzop: not found
sudo apt-get install lzop //所以提前把這個安裝上。
然後安裝jdk6.0
http://java.oracle.com 下載 jdk-6u45-linux-x64.bin (這裏存放到了/media/sf_shared目錄了)
sudo mkdir -p /usr/lib/java
sudo cp jdk-6u45-linux-x64.bin /usr/lib/java
sudo chmod 0777 jdk-6u45-linux-x64.bin
cd /usr/lib/java
./jdk-6u45-linux-x64.bin
配置環境變量
vi ~/.bashrc
文件末尾加上:
export JAVA_HOME=/usr/lib/java/jdk1.6.0_45
export JRE_HOME=/usr/lib/java/jdk1.6.0_45/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
source ~/.profile //更新環境
java -version //出現下面的版本號說明安裝成功
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
下面就開始編譯了
編譯內核:
cd kernel
make rockchip_defconfig
make rockboard.img -j8
在kerne/目錄下生成kernel.img 上面的defconfig文件可以通過make help命令查看
然後編譯android:
cd ../
. build/envsetup.sh
lunch
make -j8
編譯完成後,可執行mkimage.sh腳本生成固件。
./mkimage.sh
固件生成目錄:rockdev/Image-rk3288/,生成 boot.img ,misc.img,recovery.img,system.img
uboot的編譯
cd u-boot
make distclean
make rk3288_defconfig
make
在目錄下生成RK3288UbootLoader_V2.19.01.bin