RK3288环境搭建

物理配置

1.      在获取到source code之后,需要准备起码100G的空间供一个版本完整编译。本地服务器编译8G足以,虚拟机则需要16G ram

2.      ubuntu版本尽量在12.04或者14.04,64bit为宜

 

软件配置

1.      JDK: JDK5: froyo跟之前的版本;
      JDK6: gingerbread跟KK之间的
      JDK7: L跟之后的版本

2.      更新源:默认的ubuntu源不行。需要找一个新源
sudo gedit /etc/apt/sources.list
添加deb http://archive.ubuntu.com/ubuntu maverick main restricteduniverse multiverse
sudo apt-get update

3.      安装必要的包
sudo apt-get install git gnupg flex bison gperf build-essential zip curllibc6-dev libncurses5-dev:i386 x11proto-core-dev

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utilsxsltproc zlib1g-dev:i386

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

sudo apt-get install flex bison gperf build-essential curl zlib1g-dev zlop

sudo apt-get install g++-multilib

sudo apt-get install g++-4.4-multilib 

(默认安装最新的:需要手动回退到4.4

1. 装完后在/usr/bin目录下 $ ls -lgcc*

2. 发现gcc 链接到gcc-4.6,  需要将它改为链接到gcc-4.4

3. sudo mv gccgcc.bak

4. sudo ln -s gcc-4.4gcc 同理:g++也按上述处理)

sudo apt-get install lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev

sudo apt-get install lib32readline5-dev  ***这个不装也可以

sudo apt-get install lib32z1-dev wine mingw32 tofrodos libgl1-mesa-dev
这里的包有很多。都装上去算了。

JDK

1) Install
# apt-get update
# apt-get install openjdk-7-jdk
2) Switch
Change Java compiler:
# update-alternatives --config java
# update-alternatives --config javadoc
# update-alternatives --config javac
Select java 1.7:
There are 2 choices for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk-amd64/bin/javac 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/bin/javac 1061 manual mode
* 2 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1051 manual mode
Update also your .bashrc file with PATH variable. It must point to the new 1.7 jvm :
#echo $PATH
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin:/usr/share/ant/bin
And source it to take changes into account
# source .bashrc


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

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


4.       安装SSH

sudo apt-get install openssh-server

sudo /etc/init.d/sshstart

5.       安装svn和kdesvn

sudo apt-get install subversion

sudo apt-get install kdesvn

6.       设置共享

sudo mkdir /share

sudo chmod 777 /share

sudo chown ***(youraccount) /share

7.       固态硬盘

安装好启动后,在disk工具里格式化并创建分区

ls -al/dev/disk/by-uuid

找到固态硬盘的uuid

sudo gedit /etc/fstab

拷贝普通硬盘的mount指令,并修改uuid,在optional里加上

discard,noatime,nodiratime,errors=remount-ro

8.       重启电脑

版本编译
RK平台跟其他平台不同,在编译上有些偏差。

编译uboot

1.      必须要进入u-boot目录下

2.      make rk3288_defconfig     //#会产生.config文件

3.      make         //#这里不要加-J8

4.      如果编译失败,那就再修改下u-boot下的权限

5.      make distclean

6.      make rk3288_defconfig

7.      make

8.      在u-boot目录下会产生RK3288Loader_uboot_V2.19.04.bin类似这样的文件

编译产生的文件分为两种:

1.      只有RK3288Loader_uboot_V2.19.04.bin

2.      RK3288Loader_uboot_V2.19.04.bin 和 uboot.img

如果只有一个文件,那么,就是合并在一起了,烧写的时候就不需要额外的uboot.img。不然就需要两个一起。

-------------------------------------得到RK3288UbootLoader_V2.19.06.bin或者RK3288UbootLoader_V2.19.06+uboot.img这要看实际情况

编译kernel

1.      必须进入kernel文件夹

2.      直接使用make zm97f.img,即可生成kernel.img和resource.img

------------------------------得到kernel.imgresource.img

编译主要的几个img

文档声称不需要source 跟lunch。但是,基于google原始做法,以及更确定需要的脚本,这两步不要省略

1.      source build/envsetup.sh

2.      lunch rk3288_user //#eng就改成rk3288_eng

3.      make -j8

4.      ./mkimage.sh

5.      cd rockdev/Image-rk3288

拷贝出 image-rk3288里头的image
------------------------------得到system.img, resource.img, misc.img, boot.img

6.       

完结

如果一切顺利。这里就有了RK3288UbootLoader_V2.19.06.binkernel.imgresource.imgsystem.imgresource.img misc.img boot.img

还少一个lollipop_parameter.txt。这个文件,可以从RK平台Android开发者打包工具获得。

 

文档注释

DriverAssitant_v4.2         //RK平台烧录驱动----------------------

BatchTool                   //用于机器烧录固件

FactoryToolV4.4   //用于解包 Android 4.4版本 及一下版本的工具

FWFactoryToolV5.0 // 用于解包Android5.0,5.1 固件

AndroidTool开发者打包工具         //用于编译后代码 分散的img 直接的烧写,也支持整个update.img的更新。

SDK下面有RKDocs和RKTools,这里可以找到你所需要的大部分。还需要有个RK常用的工具包

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐