本文转载自:https://blog.csdn.net/buqingbuyuan/article/details/43370199

在安装Ubuntu系统之后,安装编译所需的GCC等工具,一般选用GCC4.4版本的,因为自己在编译时安装的是arm-linuc-gnueabi-4.6.3等,所以在编译时一直报CC1:error等错误,在网上查了很多资料,大多数解释为cc1文件所在文件夹权限不够,后来发现是自己的arm-linux-gcc版本号过高,后来改成了arm-linux-gcc-4.4.3版本,是在友善之臂的官网上下载的,网址如下:http://www.arm9.net/download.asp

下载如上第一个文件。下载完之后

1.解压:tar -xzvf arm-linux-gcc-4.4.3.tar.gz -C/ (解压到根目录,可以根据自己情况更改)

2.更改环境变量:

#:cd /root/
#:vi .bashrc
#:source ~/.bashrc  (立即生效)     (好像只能本终端,注销一下就永远都有这个环境变量的)
3.测试一下
 arm-
    然后按两下Tab,看有没有像下图一样

4.然后按照A20安卓编译官方手册将需要安装的库什么的全部安装一遍

然后开始接压文件,再之后就是按照官方提示的进行操作,首先在lichee目录下进行操作,出现错误的话按照提示去搜一下,大多数错误是由于我们少安装了东西所导致的,按提示安装就可以了。另外要说的就是JDK1.6的安装了,这个简单些。下载的是jdk-6u43-linux-x64.bin,安装过程如下:

1、打开终端。

2、执行:sudo chmod u+x jdk-6u43-linux-x64.bin

3、执行:sudo ./jdk-6u43-linux-x64.bin

4、执行: sudo mv jdk1.6.0_43 /usr/local/

5、修改环境变量,在终端执行:sudo gedit /etc/environment,加入如下两行:

CLASSPATH="/usr/local/jdk1.6.0_43/lib"
       JAVA_HOME="/usr/local/jdk1.6.0_43"

同时在PATH变量的值后面加上:/usr/local/jdk1.6.0_43/bin

6、执行:source /etc/environment

7、执行:java -version,检测是否安装成功。

基本上出错误都是因为我们环境配置或者少下载了工具所导致的,在百度多次下一一解决了。

在lichee目录下编译内核成功后就可以在android目录下开始编译安卓了,在这里遇到了很多问题,从网上也找了很多答案终于一一解决了。主要步骤是

1、选择android 产品

#:source build/envsetup.sh
#:lunch

屏幕上会出现以下信息

选择跟自己开发板对应的产品 (开发板对应15 wing_k70)所以选15
2、 拷贝内核和模块到android 中device/softwinner/xxx-xxx

命令#:extract-bsp

3、编译

#:make -j8

然后就开始编译了,这个过程有点长,大家可以去干些别的事情。

编译成功后会在out/target/product/xxx-xxx/ 目录下面会生成boot.img, recovery.img, system.img 3个包。

 
3、打包
#:pack
打印成功后显示如下信息
--------release version, donnot have uart printf-------------
INFO: Packing for android
>>> script_parse 0.9.1
>>> check sys_config line format
>>> done.
>>> check partition config
>>> done.
>>> script_parse 0.9.1
>>> check sys_config line format
>>> done.
>>> check mainkey unique
>>> done.
>>> check module rule
>>> not implement yet
cp /disk2/kylin/A20_v1.2/lichee/out/android/common/u-boot.bin bootfs/linux/ [OK]
script sys_config.fex [OK]
script sys_partition.fex [OK]
update_mbr sys_partition.bin 4 [OK]
update_boot0 boot0_nand.bin sys_config.bin NAND [OK]
update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD [OK]
update_boot1 boot1_nand.fex sys_config.bin NAND [Uncheck]
update_boot1 boot1_sdcard.fex sys_config.bin SDMMC_CARD [Uncheck]
fsbuild bootfs.ini split_xxxx.fex [OK]
dragon image.cfg sys_partition.fex [OK]
----------image is at----------
/disk2/kylin/A20_v1.2/lichee/tools/pack/sun7i_android_wing-k70.img
然后lichee/tools/pack/sun7i_android_wing-k70.img就是我们需要的文件

关于全志A20的Ubuntu12.04 64位系统下环境配置及编译过程笔记【转】的更多相关文章

  1. ubuntu12.04(64位)下安装Adobe Flash Player

    2012-06-14 10:10:37   第一步,去adobe官方网站就可以,使用方便,打开网站:http://get.adobe.com/cn/flashplayer/根据自己的版本下载需要的.本 ...

  2. ubuntu14.04 64位系统下编译3.13.11内核源码

    该过程一共分为四步: 1.下载内核:我下载的是3.13.11这个版本的内核! 2.解压内核:我将其解压/home/jello/Downloads/linux-3.13.11目录下!下文将会基于此目录编 ...

  3. win7硬盘安装Ubuntu12.04 64位时显示Error 15: File not found.

    安装Ubuntu12.04 -64位时,用EasyBCD建好引导文件重启电脑后出现如下错误: Error 15: File not found 原因一个是安装文件所在盘符不对,另一个是文件名.Ubun ...

  4. 从零到一,利用kubeadm在ubuntu server 16.04 64位系统离线安装kubernetes v1.10.0

    说明 初步接触kubernets,记录学习过程 本教程目的利用kubeadm在ubuntu server 16.04 64位系统离线安装kubernets v1.10.0 环境信息 节点IP地址 角色 ...

  5. 64位系统下注册32位dll文件

    64位系统下注册32位dll文件 在64位系统里注册32位软件所需的一些dll会提示不兼容,大概因为32 位进程不能加载64位Dll,64位进程也不可以加载32的导致. 若要支持的32 位和64 位C ...

  6. PL/SQL Developer 在windows7 64位系统下连Oaracle11g64位系统的解决经验

    PL/SQL Developer 在windows7 64位系统下连Oaracle11g64位系统的解决经验 一.问题现象及解决方法 现象: 1.PL/SQL 无法登录64位数据库 2.在PL/SQL ...

  7. 64位系统下System32文件系统重定向

    前言 因为一次偶然的机会,需要访问系统目录“C:/Windows/System32“文件夹下的内容,使用的测试机器上预装了win7 64系统.在程序运行中竟然发生了该文件路径不存在的问题!!通过查看网 ...

  8. win7 64位系统下安装autoitlibrary库遇到问题解决

    转载来自http://blog.sina.com.cn/s/blog_53f023270101skyq.html 今天需要在win7 64位系统下安装autoitlibrary库,起初安装好了robo ...

  9. (转)Win7 64位系统下 Retional rose 2003 安装及破解

    网上关于Retional rose 2003安装和破解的文章比较多,这里,我结合自己的亲身体验,和大家分享一下win7 旗舰版 64位系统下Retional rose 2003(下面简称rose200 ...

随机推荐

  1. AutoMapper整理收集

    http://www.cnblogs.com/jobs2/p/3503990.html http://www.cnblogs.com/1-2-3/p/AutoMapper-Best-Practice. ...

  2. shell基础(二)

    echo命令 Shell 的 echo 指令是用于字符串的输出. #!/bin/sh read name #读取标准输入的行 echo "$name It is a test" e ...

  3. iOS-数组,字典常用的字面量写法

    解决方法: //用字面量创建数组 NSArray *array = @[@"one",@"two"]; //用字面量创建字典 NSDictionary *dic ...

  4. Android 切换主题以及换肤的实现

    Android 切换主题以及换肤的实现 一.介绍 现在市面上有很多 APP 有切换主题和皮肤的功能!特别是阅读类的 APP! 上面两张图分别是 知乎 APP 和Fuubo APP的两张截图!都带有切换 ...

  5. pocket

    Pocket是一个离线阅读服务软件. Pocket的主要功能就是将你要阅读或者一时没有读完的网页标记下来,接着同步到服务器端,然后你就可以在不同的设备上阅读.如果你在电脑上网的时间不多,一些东西又来不 ...

  6. 《从零开始学Swift》学习笔记(Day 61)——Core Foundation框架之内存管理

    原创文章,欢迎转载.转载请注明:关东升的博客 在Swift原生数据类型.Foundation框架数据类型和Core Foundation框架数据类型之间转换过程中,虽然是大部分是可以零开销桥接,零开销 ...

  7. CentOS安装Apache-2.4.25+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...

  8. python split(),os.path.split()和os.path.splitext()函数用法

    https://blog.csdn.net/T1243_3/article/details/80170006   # -*- coding:utf-8 -*- """ @ ...

  9. 2015-04-14——css3 @media

    //判断横竖屏 @media screen and (min-aspect-ratio: 13/13) { body {background-color:red;}}  //屏幕宽高比,必须是除数形式 ...

  10. java 内存空间

    堆:new 出的对象在堆上 java栈:java程序.线程运行数据.内存数据 每个方法都有自己的栈.运行时需要的数据存在自己的栈中 每个线程对立的是图中浅蓝色的部分(java栈.本地方法栈.程序计数器 ...