本文转载自: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. python3----函数、匿名函数

    本节将学习如何用Python定义函数,调用函数,以及学习匿名函数的使用 1.定义函数 Python中定义函数用关键字def,如下例所示,func为函数名 def func(): print( &quo ...

  2. Servlet及相关类和接口

    上一篇介绍了在Web项目中web.xml文件的配置信息,本篇主要介绍里面非常重要的配置——Servlet配置,重点介绍与Servlet相关的几个接口和类,包括Servlet接口.ServletConf ...

  3. mysql数据库导入到oracle数据库

    首先,写一个cmd脚本 xx.cmd sqlldr username/password control=xx.ctl errors=10000000 direct=y 再写一个bat脚本xx.bat ...

  4. Servlet——总结

    当我们学完了JavaSe部分的知识之后,如果我们往Web方面发展和学习的话,我们将会接触到一个非常重要的web技术——Servlet.在说明Servlet的配置之前我们先来了通过下面的请求响应图解一下 ...

  5. jquery全景拖动查看效果

    http://sc.chinaz.com/jiaoben/140722166830.htm

  6. 【Python之路】第二十一篇--Memcached、Redis

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  7. Python菜鸟之路:Django 信号

    Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 相当于我们创建了一个hook. 1. Django的内置信号 Mo ...

  8. 自动更新SVN项目

    @echo off@echo =================================@echo 定时在SVN上自动更新项目内容,可用于项目放在web服务器没有hudson的时候@echo ...

  9. python数据类型一(重点是字符串的各种操作)

    一.python基本数据类型 1,int,整数,主要用来进行数学运算 2,bool,布尔类型,判断真假,True,False 3,str,字符串,可以保存少量数据并进行相应的操作(未来使用频率最高的一 ...

  10. Java I/O(一) NIO概述

    基本概念 BIO:是堵塞I/O,无论是磁盘I/O,还是网络I/O,数据在写入OutputStream和InputStream都可能发生堵塞,一旦有堵塞,线程会失去CPU的使用权(堵塞). NIO:简单 ...