rk3288_reload开发板上android5.1系统编译及下载

来源:互联网 发布:按照文件夹恢复数据 编辑:程序博客网 时间:2024/05/21 19:05

今天玩了一把android5.1系统,由于没有文档,所以只能自己摸索,终于成功了一把,现在赶紧写下来,说不定哪天就忘了。

开发机准备:(1)ubuntu12.04-64bit虚拟机,配置为4G内存和60G硬盘;android5.1源码,

目标机准备:3288_reload开发板一块,OTG线

开发过程:

1.运行虚拟机,安装jdk7及以上版本。

sudo apt-get updatesudo apt-get install openjdk-7-jdk

如果你的Ubuntu里面有多个jdk版本,请切换到jdk7,因为低版本编译不了android5.1,切换方法如下:
$ sudo update-alternatives --config java$ sudo update-alternatives --config java
</pre><strong><span style="font-size:18px">2.验证并解压已经下载好的android5.1</span></strong><p></p><p></p><pre name="code" class="cpp">$ md5sum /android/rk3288_reload/firefly-rk3288_android5.1_git_20150910.tar83a07f127abe57482047a417f29e3115  firefly-rk3288_android5.1_git_20150910.tar

确认无误后,就可以解压:

tar xf /path/to/firefly-rk3288_android5.1_git_20150910.targit reset --hard# git remote add bitbucket https://bitbucket.org/T-Firefly/firenow-lollipop.git
3.更新代码 这个过程比较长,依据你的网速而定
git pull bitbucket Firefly-RK3288:Firefly-RK3288
4.编译内核
cd kernelmake firefly-rk3288-reload_defconfigmake -j8 firefly-rk3288-reload.img
5.编译 Android:
cd ... build.shmake -j8./mkimage.sh

注意: ./mkimage.sh时会报比如RK3288UbootLoader_V2.19.10.bin找不到,则需要执行如下指令
cd /android/3288_reload/u-bootmake rk3288_defconfigmake


6.编译完成,在rockdev/Image-rk3288_box/ 目录下会看到生成的9个目标文件。


7.烧写分区映像

将上一步骤生成9个文件导出来,分别是

  • boot.img :Android 的初始文件映像,负责初始化并加载 system 分区。
  • kernel.img :内核映像。
  • misc.img :misc 分区映像,负责启动模式切换和急救模式的参数传递。
  • recovery.img :急救模式映像。
  • resource.img :资源映像,内含开机图片和内核的设备树信息。
  • system.img :Android 的 system 分区映像,ext4 文件系统格式。
  • pcba_small_misc.img  misc 分区映像,负责启动模式切换和急救模式的参数传递。
  • pcba_wholel_misc.img  misc 分区映像,负责启动模式切换和急救模式的参数传递。
  • RK3288UbootLoader_V2.19.10.bin  bootload文件

运行官方提供的AndroidTool V2.33工具(事先已经装好了OTG驱动),勾选如图所示的烧写内容,连接好OTG线,点击switch进行烧写。



注意:3288_reload开发板可能存在bug,点击switch发现开发板一点反应都没有,这个时候只需要先按住板子上的recovery键,然后摁一下reset键,过几秒松开recovery键,就可以进入烧写模式;点击软件上的Run,完成烧写过程,如图所示



8.打包成统一固件 update.img

官方给出的烧写步骤里面的原话是:

”在 Windows 下打包统一固件 update.img 很简单,按上一步骤将文件拷贝到 AndroidTool 的 rockdev\Image 目录中,然后运行 rockdev 目录下的 mkupdate.bat 批处理文件即可创建 update.img 并存放到 rockdev\Image 目录里。“

注意:这句话适合于3288开发板的android4.4.2版本。对于3288_reload开发板的android5.1,这样做是不行的,生成的update.img可能会把板子变成砖头(我没试过,因为我发现了问题),因为你打开3288_tool\AndroidTool\rockdev下的这三个文件就会发现问题的所在,如图所示:



这三个文件都是适合3288的内容,需要全部修改才行,由于我不知道怎么修改rk3288-3.10-uboot-data1G.parameter.txt,所以只好放弃打包的念头,还是按照7的做法来烧写镜像吧。



总结:当前没有官方文档的情况下, 研究这个东西确实费神,好在已经弄成功了!希望官方尽快出3288_reload开发板配套的文档。