tiny_4412编译环境搭建ubuntu12.04
Win7(64bit) + vritrulbox虚拟机ubuntu12.04 (64bit)
编译环境:
Win7(64bit) + Vritrulbox虚拟机 ubuntu12.04 (64bit)
这里说明一下: 不要使用32位的系统(开启虚拟化技术)+ 虚拟机ubuntu12.04(64bit),
这样会出现很多编译过程中莫名其妙的问题,本人搞一个星期也没能解决
交叉编译工具:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
JDK版本:1.6 (不要使用openjdk)
需要编译的安卓和linux内核都是tiny4412光盘上的:
android-4.2.2_r1-fs-20140526.tar
linux-3.5-20140422
-------------------------
一:虚拟机配置
。。。安装过程省略
建议内存4g, cpu数量设置成和真实CPU数量相同
解锁root账户
Ubuntu下默认锁定了root用户,一般用户只能用sudo 命令获得root权限运行,但是查看共享目录 /media/sf_shared会发现相当不方便
所以,我们方便起见解锁root
系统设置---账户----右上角---看到一个锁的标志 ---- 点击----输入管理员密码即可解锁
设置root 密码
sudo passwd root
输入两次密码即可,然后切换至root
su - root
安装虚拟机增强功能
主要用来共享文件夹(或者可以使用ftp smba等服务),共享剪切板(方便!),拖拽文件
弹出地方点 安装即可,重启虚拟机,列表所列的功能遍都可以使用了。
共享文件夹
-----------------------------------------------------------------------------------------------------
二 安装工具
1.设置更新源
Ubuntu 软件中心 --设置-更新源 ---163的源速度 比较快
二选一:
2.安装tiny4412提供的工具脚本(这里必须是ubuntu12.04.2 软件存在一定依赖关系)
复制apt-source 和脚本文件install-devel-packages.sh
cd 到该文件的路径
sudo chmod +x install-devel-packages.sh
sudo ./install-devel-packages.sh
这样工具就安装完毕了!
经过官方的脚本还差两个工具
sudo apt-get install openssl uboot-mkimage
2.安装工具(使用tiny4412提供的安卓不需要做此步骤)
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
貌似依赖关系和xorg冲突,不小心卸载了xorg,重装一下
sudo apt-get install xserver-xorg
sudo apt-get install ubuntu-desktop
3安装jdk1.6(或者复制光盘带的jdk文件夹,配置一下目录即可)
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)
4.安装交叉编译工具
这里进入 arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz的所在的目录
sudo tar zvxf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /
//将把arm-linux-gcc安装到/opt/FriendlyARM/toolschain/4.5.1目录
gedit ~/.bashrc
加入最后一行 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin
source ~/.profile //更新环境
//查看是否可用
arm-linux-gcc -v
//会出现配置信息
=============================================================================================
因为对某些文件夹写需要root权限,直接切换到root编译更加方便,(这里环境变量的配置可以配置到任何一个用户上)。
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
export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin
===========================================================================================
三、编译
设置工作目录用来编译Android源码,先解压出来
sudo mkdir –p /opt/FriendlyARM/tiny4412/android
cd /opt/FriendlyARM/tiny4412/android
sudo tar zfxv android-4.2.2_r1-fs-20140526.tar.gz -C /opt/FriendlyARM/tiny4412/android/
注意:opt目录所有者是root,我们切换到root来操作更加方便一些,输入时请去掉sudo,其他用户请注意命令加上sudo,如make,
还有注意设置好相应的环境变量
编译开始:
1;编译内核
sudo mkdir -p /opt/FriendlyARM/tiny4412/android
//进入内核.gdz目录
sudo tar zfvx linux-3.5-20140422.tgz -C /opt/FriendlyARM/tiny4412/android/
cd /opt/FriendlyARM/tiny4412/android/linux-3.5
cp tiny4412_android_defconfig .config
make -j4 //多核比较快
编译完成的文件
arch/arm/boot/zImage
2.编译安卓
cd /opt/FriendlyARM/tiny4412/android/android-4.2.2_r1
. setenv //注意“.”后面有一个空格
make -j4 //4核推荐4
./gen-img.sh 生成system.img和ramdisk-u.img
//这里如果出现mkimage 命令无效,是因为没有安装uboot-mkimage工具
可将system.img和ramdisk-u.img拷到SD卡的images/Android目录下进行脱机烧写。
更多推荐
所有评论(0)