本文转载自: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. IOS开发之自定义键盘

     本文转载至 http://blog.csdn.net/majiakun1/article/details/41242069 实际开发过程中,会有自定义键盘的需求,比如,需要添加一个表情键盘.本文提供 ...

  2. poj1691

    Painting A Board Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3642   Accepted: 1808 ...

  3. Mac下安装apk(命令形式)

    1 连接上设备 2 卸载原有程序 3 进入adb程序目录/Applications/adt-bundle-mac-x86_64-20131030/sdk/platform-tools 4 键入命令 . ...

  4. @RequestMapping中method的默认值是什么?

    @RequestMapping中method的默认值是什么? 没有默认值,如果不配置method, 则以任何请求形式 RequestMethod.GET, RequestMethod.POST, Re ...

  5. 模态窗口原理及注意事项--http://www.alisdn.com/wordpress/?p=53

    前言 在开发Windows引用程序的时候,在一些需要用户确认,或者提示用户注意的场合,经常使用模态对话框,或者叫模态窗口.在绝大多数情况下,模态窗口给开发人员带来了极大的便利,并且在某些应用上有不可替 ...

  6. BaseDao 接口

    // 以后所有的 Dao 接口都需要继承 BaseDao 接口; // 自定义泛型接口 public interface BaseDao<T>{ public void save(T t) ...

  7. 洛谷 P2481 [SDOI2010]代码拍卖会

    洛谷 这大概是我真正意义上的第一道黑题吧! 自己想出了一个大概,状态转移方程打错了一点点,最后还是得看题解. 一句话题意:求出有多少个\(n\)位的数,满足各个位置上的数字从左到右不下降,且被\(p\ ...

  8. python常用方法详解

    1,讲序列分解为单独的变量 p=(4,5) x,y=p print(x,y) 如果在分解中想丢弃某些特定的值,可以采用_来进行 data=['A','B','c','d'] _,name,age,_= ...

  9. socketserver模块、MySQL(数据库、数据表的操作)

    一.socketserver实现并发 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环. socketserver模块中分两大类:server类(解决链接问题)和request类(解决 ...

  10. HDU3552(贪心)

    题目是将一系列点对(a,b)分成两个集合.使得A集合的最大a+B集合的最大数b得和最小. 思路:http://blog.csdn.net/dgq8211/article/details/7748078 ...