4412开发板搭建Uboot、Kernel和Android4.0的编译环境方法
本文转自迅为4412开发板实战教程书籍:http://www.topeetboard.com
迅为是基于Ubuntu12.04.2平台做开发,所有的配置和编译脚本也是基于此平台,没有在其它平台上测试过。如果你对Linux和Android开发很熟悉,相信你会根据错误提示逐步找到原因并解决,错误提示一般是选用的平台缺少了某些库文件或者工具等原因造成的;建议初学者使用和迅为一致的平台。
Uboot、Kernel以及Android等的编译环境看似复杂,其实只需要抓住以下四个要点。
(1)Uboot、Kernel编译器的安装。编译器在光盘中都有提供,在需要使用的步骤中,会说明编译器在光盘中的位置。
(2)设置环境变量。Uboot、Kernel、QtE、Qtopia编译器的环境变量设置后,编译的时候,系统才能找到编译器。
(3)Android文件系统的编译器。编译器需要使用Ubuntu系统自带的gcc编译器,但是版本不对,所以需要降低版本。迅为将这个过程编写了成几个简单的命令,用户只需要挨个执行命令即可。
(4)库文件。搭建过程中会给通过执行简单的脚本命令来安装库文件,复杂的步骤变的简单有效。
另外,如果用户想了解编译环境具体是怎么搭建起来的,可以利用提供的脚本文件和命令来学习。
1. 使用搭建好的编译环境
两种搭建编译环境的方式,一种方法是用户安装虚拟机,然后安装基础的Ubuntu12.04.2系统,利用迅为提供工具和详细的使用步骤,搭建编译环境;另外一种方法是用户安装虚拟机,然后直接加载“搭建好的Ubuntu镜像”,用户只需要修改一下编译器的环境变量,就可以直接用来编译源码。
以下详细讲解如何搭建编译环境。
需要注意的是,搭建过程中用到的各类软件,都需要和手册提到的版本保持一致,如果使用的是“搭建好的镜像”,则可以跳过这一节,但是编译的时候要针对性的设置一下环境变量。
2.安装基本软件
Ubuntu系统需要一些基础软件,便于后续使用。
(1)安装虚拟机“Vmware_Workstaion_wm”
(2)然后使用虚拟机安装“Ubuntu12.04.2初始系统”。
(3)安装完成后进入Ubuntu的终端,激活root用户;
(4)接着登录root用户;
(5)虚拟机设置联网、CPU、内存、USB等;
(6)将Ubuntu数据源地址修改为国内163服务器地址;
(7)使用“apt-get update命令”更新数据源;
(8)在Ubuntu安装软件vim,apt-get install vim;
(9)在Ubuntu安装软件ssh,apt-get install ssh。
3.交叉编译工具
编译的时候需要用到交叉编译工具,本小节介绍如何安装编译Uboot和Kernel的编译工具arm-2009q3。
提供的交叉编译工具是用户光盘“02_编译器以及烧写工具”→“arm交叉编译器”文件夹中的压缩包“arm-2009q3.tar.bz2”。
使用SSH工具将交叉编译工具拷贝到 Ubuntu12.04.2系统的文件夹“usr”-->“local”-->“arm”中,local下默认没有arm文件夹,可以新建一个。
使用命令“cd /usr/local/arm/”进入/usr/local/arm文件夹,然后使用解压命令“tar -vxf arm-2009q3.tar.bz2”解压压缩包。
接着修改交叉编译工具路径,需要修改环境变量。在Ubuntu命令行中,执行命令“cd /root”和“vim .bashrc”,打开环境变量文件“.bashrc”。
如下图所示,在“.bashrc”文件中的最后一行添加如下信息:
“export PATH=$PATH:/usr/local/arm/arm-2009q3/bin”
修改完成后保存退出。执行更新环境变量“source .bashrc”的命令。
最后,在Ubuntu命令行中输入命令“arm”,然后按TAB键,如果在命令行中能够看到arm编译器的信息,就表明交叉编译工具安装成功。如下图所示。
4.安装库文件、JDK以及降低GCC版本
为了方便用户,我们将库文件和JDK的安装命令制作成了脚本文件,用户只要执行两个脚本就可以安装库文件和JDK。这两个脚本在用户光盘“02_编译器以及烧写工具”→“tools”文件夹下的压缩包“Android_JDK.tar.bz2”中。
用户将压缩包拷贝到Ubuntu系统中,解压压缩包会生成文件夹“Android_JDK”。使用cd命令,进入解压出来的“Android_JDK” -->“jdk6”文件夹。如下图所示,使用命令“./install-sun-java6.sh”运行脚本文件“install-sun-java6.sh”。需要注意的是,这条命令执行完毕可能会耗时15分钟以上。执行脚本的时,根据提示输入对应的选择命令。
前一个脚本运行完毕之后,如下图所示,进入解压出来的文件夹“Android_JDK”中,执行命令“./install-devel-packages.sh”运行脚本“install-devel-packages.sh”,安装库文件,需要注意的是,这条命令可能会耗时40分钟以上。上面脚本执行的时候,需要根据提示输入选择命令。
上面这个脚本执行完毕的时候,要注意一下是否有些库文件提示没有安装。如果发现有库文件没有安装的情况,有可能是网络不好或者下载源丢失。这个时候请使用一下更新下载源的命令”apt-get update“,然后再执行一下上面的两个脚本。
例如,如下图所示,再次运行“./install-devel-packages.sh”之后,如没有提示‘无法安装的库和软件’,那么表明已经安装完整了。
最后介绍降低Android编译器GCC版本的方法。
使用Ubuntu编译Android的时候需要用到Ubuntu系统自带的GCC4.4.7编译器,但是安装的Ubuntu12.04.2版本,它的GCC版本过高,所以这里需将GCC编译器的版本降低到4.4.7。
进入前面解压的文件夹“Android_JDK”中,找到文本“update_gcc.txt”,打开文本“update_gcc.txt”后会看到里面有8条命令,这8条命令需要在Ubuntu命令行中依次执行。
使用命令打开“update_gcc.txt”文件,如下图所示。
在依次执行了这8条命令之后,Ubuntu系统就将gcc的版本降低到4.4.7。使用命令“gcc -v”,可以看到gcc的版本为4.4.7了。
在执行这8条命令时,只有第一条命令会耗时10分钟左右,其它的都会很快完成。需要注意的是,命令一定要依次执行,不能有遗漏。
4412开发板搭建Uboot、Kernel和Android4.0的编译环境方法的更多相关文章
- 迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法
迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法 详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com/ 用户在开发板上运 ...
- [转帖]4412开发板/4418开发板Android4.4.4实现ble功能
本文转自迅为论坛:http://bbs.topeetboard.com ①.4418开发板实现ble功能方法: 在4418/android/device/nexell/drone2/device.mk ...
- 【转载】4412开发板嵌入式QtE应用开发环境搭建
本文转自迅为iTOP-4412开发板实战教程书籍:http://topeetboard.com QtE应用需要使用开发工具qtcreator,本文介绍qtcreator-3.2.2的安装和使用.1. ...
- 【转帖】嵌入式4412开发板QT5.7编译安装到arm
QT5.7.0+UBUNTU16.04+ARM-NONE-LINUX-GNUEABI4.8+busybox最小LINUX系统 Orandragon记录 本文转自迅为4412开发板群:http://to ...
- 基于讯为4412开发板的Android开发流程
讯为4412开发板 使用三星2410芯片,基于arm9架构,由于自己电脑硬件的局限,只能跑Android4.0.3系统. 1.Uboot这个直接使用官方镜像烧写就可以了,一般情况不用去重复烧写. 略 ...
- 4412开发板升级4.2之后改了logo开机后屏幕闪解决办法
荣品4412开发板升级到4.2请注意增加虚拟机内存. 问:荣品4412开发板升级到Android4.2之后,改了logo.4412板子开机后,过一会屏幕就一闪一闪,是什么原因? Android4.2编 ...
- 【开学季】自学嵌入式开发|四核开发板|4412开发板|ARM+Android+linux技术
淘宝店铺:迅为开发板http://arm-board.taobao.com 网站:http://www.topeetboard.com QQ咨询:2551456065 电话咨询:010-5895758 ...
- 迅为三星Exynos 4412开发板四核Cortex-A9ARM安卓linux开发板
开发板光盘资料包含:原理图(PDF格式).底板PCB(Allegro格式).驱动程序源码.芯片和LCD数据手册.开发环境.产品使用手册. 4412开发板简介: iTOP-Exynos4412开发板采用 ...
- [转帖]迅为4412开发板最小linux系统的存储空间修改
本文转自迅为论坛:http://www.topeetboard.com 最小linux系统的存储空间修改以修改成 1G 存储空间为例来修改,如果需要改成其他大小的存储空间,参照此方法修改即可. 首先连 ...
随机推荐
- 艾伦 Visual Studio 批量自动化代码操作工具-VS插件发布
艾伦 Visual Studio 批量自动化代码操作工具 以下简称--艾伦工具箱. 艾伦工具箱是一个多文件批量处理插件,目的是为了广大开发者提高开发效率,减少项目代码规范化审计,缩短开发者的项目开发周 ...
- python处理空格脚本
博客园上传代码时拷贝vs里面的代码不能直接粘贴,否则空格会不符合要求 去掉空格代码 # -*- coding: utf-8 -*- '''打开delSpace.txt文本并删除每行开头的八个空格''' ...
- 用户中心mysql数据库表结构的脚本
/* Navicat MySQL Data Transfer Source Server : rm-m5e3xn7k26i026e75o.mysql.rds.aliyuncs.com Source S ...
- Myeclipse启动报错: Invalid 'log4jConfigLocation' parameter
java.lang.IllegalArgumentException: Invalid 'log4jConfigLocation' parameter: class path resource [lo ...
- IT基础架构规划方案二(计算机系统与机房规划规划)
计算机系统规划 服务器硬件选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选 ...
- ABP之动态WebAPI(二)
HttpControllerDescriptor与HttpActionDescriptor HttpControllerDescriptor封装了某个HttpController类型的元数据,我们可以 ...
- 三道Javascript的练习题
有语句“var x=0;while(____) x+=2;”,要使while循环体执行10次,空白处的循环判定式应写为: A.x<10B. x<=10C.x<20D.x<=20 ...
- MySQL外键与外键关系说明(简单易懂)
MySQL主键和外键使用及说明 一.外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后 ...
- gulp安装说明
1.安装node-v6.3.0-x64,安装成功后再点击node-v6.3.0-x64卸载(点击remove). 2.安装node-v4.4.7-x64. 3.打开cmd命令行,输入node -v,查 ...
- javascript中的prototype和constructor
构造函数 我们知道,ECMAScript5中的Object.Array.Date.RegExp.Function等引用类型都是基于构造函数的,他们本身就是ECMAScript5原生的构造函数.比如,我 ...