目前世面是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