您的位置:首页 > 其它

tiny_4412编译环境搭建ubuntu12.04

2014-07-17 16:43 351 查看
编译环境:

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目录下进行脱机烧写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: