零起步了解RK3288环境搭建以及版本编译
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.img和resource.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.bin,kernel.img,resource.img,system.img,resource.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常用的工具包
總結
以上是生活随笔為你收集整理的零起步了解RK3288环境搭建以及版本编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu12.04安装libgl1-
- 下一篇: RV1108开发环境搭建