零起步了解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环境搭建以及版本编译相关推荐
- 君正4750开发板使用日记2-Linux环境搭建与内核编译
为什么80%的码农都做不了架构师?>>> Linux环境搭建与内核编译 上一篇中把4750开发板与PC的硬件连通了,这一篇记录的是基本的Linux环境的搭建.其实官方文档已经比 ...
- zigbee初级教程(零) : cc2530开发环境搭建
0. 开发环境搭建 设备需求: Zigbee 的开发环境主要是在 IAR 集成开发上面实现的,Zigbee 开发设备需求: 1.CC2530 核心板加带下载接口的底板 2.IAR 集成开发环境 ...
- Android10源码AOSP(从Ubuntu14.04环境搭建到下载编译运行)
Ubuntu14.04环境搭建 电脑为笔记本,CPU i7-10750H,16G内存 虚拟机使用VMware Workstation 15 Pro 操作系统为Ubuntu 64 位 14.04 AOS ...
- Spreadtrum_Android_8805和8810环境搭建和源码编译V1.0.1_Word文档
目 录 附录A 修改记录 ii 第1章 Spreadtrum Android的环境搭建 1-1 1.1 安装Ununtu 1.1-1 1.2 更新Ubuntu系统软件 1.2-1 1.3 安装合适的g ...
- RV1126笔记一:环境搭建及SDK编译
若该文为原创文章,转载请注明原文出处 一.硬件 1.易百纳 A191-RV1126_RV1109_38板. 2.正点原子ATK-DLRV1126开发板. 注:如果需要自训练yolov5模型,这里推荐使 ...
- Windows Java JavaFX IntelliJ IDEA 开发环境搭建 创建工程 编译运行 打包分发 自定义运行时
博文目录 文章目录 本文说明 JavaFX 简单说明 JavaFX 版本说明 JavaFX 与 JDK 的关系 JavaFX 与 JDK Modular (JDK 9 模块化系统) JavaFX 模块 ...
- Android 开发环境搭建 与在编译中遇到错误make Error 45解决方法
Android 开发环境搭建 一.安装ubuntu 10.10操作系统 使用光盘安装,注意分区,分一个swap分区为3G(原则需要与内存一样大,但可以稍微比内存大一点).当时是同事帮我弄的,swap开 ...
- Linux疑难杂症解决方案100篇(十五)-万字长文带你深入Linux 内核学习:环境搭建和内核编译
一.linux内核学习之一:环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基 ...
- imx6q 开发android,SAIL-IMX6Q ANDROID开发环境搭建与系统编译
1Android开发环境搭建 1.1升级开发环境源 在终端执行命令:# apt-getupdate 如图所示: 1.png (152.16 KB, 下载次数: 8) 2019-6-5 14:32 上传 ...
最新文章
- 2020第11届蓝桥杯省赛Python题目
- DAC8830可以当做电位器来使用吗?
- jquery获取data-*返回undefined小记
- 中国大学MOOC 人工智能导论第七章测试
- Redis功能强大,那也顶不住被滥用啊!
- SQL Server 2005的30项顶尖特性
- 2015-2016 Northwestern European Regional Contest (NWERC 2015)
- OpenGL基础16:视角
- Netty NioEventLoop 启动过程源码分析
- 批处理(bat)文件中输出中文乱码怎么办?
- read()/write()的生命旅程之三——第三章:write()
- ubuntu更新pip
- 信号与系统 第二版pdf 作者:奥本海姆 翻译:刘树棠
- 钙通道阻滞剂/拮抗剂的应用
- JS数组、字符串、数字的相互转化
- 笔记本开箱验机,防踩坑、测新机,确保自己不上当受骗
- 手机号码归属地查询[免费]
- 我们每天自律、认真学习的最终目的是什么?
- 准备工作—PPT配色篇
- 鸿蒙是哪个人类文明,1至7级文明分别具备什么能力?科学家:人类文明程度未达到第一级...
热门文章
- 一文读懂Java 11的ZGC为何如此高效
- shell:后台运行amp;,日志重定向输出,nohup,grep命令
- 网络:301和302
- 【Python】青少年蓝桥杯_每日一题_12.03_输出字符串的长度
- WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner] - com.mchange.v2.as
- makefile使用宏及用法$(宏标识符) $(cc)_宏编程的艺术
- php autoload静态,Composer 中自动加载 autoload_static 问题
- python词性标注_文本分类的词性标注
- Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略
- Matlab:成功解决 Inner matrix dimension must agree