转自:http://blog.csdn.net/jangel_lee/article/details/44306621

A33环境搭建编译手册

说明

目录

Ubuntu安装 4

制作Ubuntu的USB启动盘 4

安装Ubuntu 6

配置ssh 15

配置vim 15

开启Ubuntu图形界面的root权限 16

配置WINDOWS可用XRDP远程桌面 17

搭建安卓编译开发环境 18

JAVA库下载、安装与配置 19

编译器下载、安装与配置 19

Uboot镜像制作工具下载安装 20

安装编译环境需要的库 20

编译指南 21

编译内核 21

编译lichee 22

编译brandy 23

编译android 24

Android打包 25

Ubuntu安装

制作Ubuntu的USB启动盘

登陆http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/,下载USB启动盘制作工具

找到DOWNLOAD UUI,下载

下载后,插入U盘运行(Universal-USB-Installer-1.9.5.9.exe 目前在技术部服务器有提供)

同意协议,下一步

如下图设置,

Step1:选着Linux发行版

Step2:选择ubuntu镜像所在的路径

Step3:选择插入的U盘

Step4:默认选项

确认

制作完成

安装Ubuntu

插入制作好的U盘到电脑,重启,按F12(根据实际情况)进入启动选项菜单,选择从U盘启动。

 
 
 
 

一路不用操作,默认的“ Try Ubuntu without Installing ”

直至进入Ubuntu试用系统,双击Install Ubuntu图标开始安装,如下图

选择中文

勾选下载更新,勾选安装第三方软件

询问安装类型,建议使用其他选项,可以更好的进行自定义

选择要安装的硬盘进行分区,这里安排是:

500G大小的硬盘

分区

挂载点

容量

第一个分区

/ (根分区)

30G

第二个分区

SWAP

4G

第三个分区

/opt

466G(即剩余的容量)

这么处理,考虑到以后开发相关的都放在opt上,如需重装、升级操作系统,无需破坏开发的资料

操作如下,点击选择目标硬盘的空闲空间,点击添加

如下图设置第一个分区

重复上一步,再添加第二个分区

重复上一步,再添加第三个分区

选择安装启动引导器的设备为硬盘的引导区,点击现在安装

接下来设置时区

设置键盘布局

设置账户信息和计算机信息

等待安装完成

直至提示安装完成,点击重启

重启之后进入系统,弹出更新管理器,选择不升级为14.04,选择安装更新

更新完重启系统

配置ssh

Ctrl+Alt+T打开终端

自动下载配置ssh

sudo apt-get install ssh

在Windows下使用PuTTY即可使用SSH远程登录

配置vim

vm是vi的升级版本

自动下载配置vim

sudo apt-get install vim

开启Ubuntu图形界面的root权限

快捷键打开终端

Ctrl+Alt+T

获取root权限

输入sudo  -s    输入普通用户登陆的密码,回车获得root权限

修改配置文件/etc/lightdm/lightdm.conf

试用vim打开或者试用gedit打开

vim /etc/lightdm/lightdm.conf

或:

gdit /etc/lightdm/lightdm.conf

编辑后文档内容如下(添加下面加底纹内容):

[SeatDefaults]
     greeter-session=unity-greeter
     user-session=Ubuntu
     greeter-show-manual-login=true
     allow-guest=false

设置root用户密码

sudo passwd root

重启后选择登陆root登陆帐号

注:下文开始,如无特殊说明都是在root用户下进行操作

配置WINDOWS可用XRDP远程桌面

打开终端,自动配置安装xrdp和vnc

apt-get install xrdp vnc4server tightvncserver

打开要远程登录用户的home目录,root用户即/root

cd ~

创建.xsession文件

echo "gnome-session --session=ubuntu-2d" > .xsession

重启xrdp

/etc/init.d/xrdp restart

在Windows下使用远程桌面连接(请根据实际情况输入ip)

输入账号密码

即可登录

搭建安卓编译开发环境

JAVA库下载、安装与配置

登陆:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html

下载jdk-6u45-linux-x64.bin (技术部服务器上有保存)

需要注意的是,现在官方网站上最新的版本的JDK7, 但是这个这个版本是不能用于Android的编译的,一定要去下载JDK6

下载后,修改权限

chmod 777 jdk-6u45-linux-x64.bin

./jdk-6u45-linux-x64.bin

安装后产生jdk1.6.0_45目录,把它拷贝到/opt/lib/jvm/jdk6/下面

设置环境变量

vim /etc/environment

添加上底纹部分内容

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lib/jvm/jdk6/jdk1.6.0_45/bin:/opt/lib/jvm/jdk6/jdk1.6.0_45/jre/bin"

JAVA_HOME=/opt/lib/jvm/jdk6/jdk1.6.0_45

CLASSPATH=/opt/lib/jvm/jdk6/jdk1.6.0_45/lib

Source环境变量

source /etc/environment

查看JAVA版本验证安装,若能看到版本信息则一般安装完成

java -version

版本信息如下

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

Uboot镜像制作工具下载安装

apt-get install uboot-mkimage

安装编译环境需要的库

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-lts-trusty:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

编译器下载、安装与配置

编译器下载、替换4.4版本

apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib

mv -f /usr/bin/gcc /usr/bin/bak_gcc

mv -f /usr/bin/g++ /usr/bin/bak_g++

ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

ln -s /usr/bin/g++-4.4 /usr/bin/g++

测试一下gcc版本号

gcc -v

版本信息如下

Using built-in specs.

Target: x86_64-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.7-1ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu

Thread model: posix

gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-1ubuntu2)

编译指南

创建项目文件夹

mkdir /opt/item_A33

解压lichee.tar.gz压缩包

tar -zxvf lichee.tar.gz -C /opt/item_A33/

解压android.tar.gz压缩包

tar -zxvf android.tar.gz -C /opt/item_A33/

进入lichee目录

cd /opt/item_A33/lichee

编译内核

source buildroot/scripts/mksetup.sh

出现以下设置选项,请依照设置

Welcome to mkscript setup progress

All available chips:

0. sun8iw5p1

Choice: 0

All available platforms:

0. android

1. dragonboard

2. linux

Choice: 0

All available kernel:

0. linux-3.4

Choice: 0

All available boards:

0. evb

1. maple

2. redwood

3. y2

4. y3

Choice: 4

编译lichee

mklichee

编译过程

INFO: ----------------------------------------

INFO: build lichee ...

INFO: chip: sun8iw5p1

INFO: platform: android

INFO: kernel: linux-3.4

INFO: board: y3

INFO: output: out/sun8iw5p1/android/y3

INFO: ----------------------------------------

INFO: build buildroot ...

external toolchain has been installed

INFO: build buildroot OK.

INFO: build kernel ...

INFO: prepare toolchain ...

Building kernel

CHK     include/linux/version.h

CHK     include/generated/utsrelease.h

make[1]: “include/generated/mach-types.h”是最新的。

CALL    scripts/checksyscalls.sh

CHK     include/generated/compile.h

CC      arch/arm/mach-sunxi/pm/standby/common.o

省略大部分编译过程...

make: Leaving directory `/opt/item_A33/lichee/linux-3.4/modules/mali'

regenerate rootfs cpio

8772 blocks

9475 blocks

build_ramfs

Copy boot.img to output directory ...

Copy modules to target ...

INFO: build kernel OK.

INFO: build rootfs ...

INFO: skip make rootfs for android

INFO: build rootfs OK.

INFO: ----------------------------------------

INFO: build lichee OK.

INFO: ----------------------------------------

(至此编译成功)

单独编译buildroot

mkbr

编译过程

INFO: build buildroot ...

external toolchain has been installed

INFO: build buildroot OK.

单独编译内核

mkkernel

编译过程

INFO: build kernel ...

INFO: prepare toolchain ...

Building kernel

CHK     include/linux/version.h

CHK     include/generated/utsrelease.h

make[1]: “include/generated/mach-types.h”是最新的。

CALL    scripts/checksyscalls.sh

CHK     include/generated/compile.h

CC      arch/arm/mach-sunxi/pm/standby/common.o

CC      arch/arm/mach-sunxi/pm/standby/standby_clock.o

CC      arch/arm/mach-sunxi/pm/standby/standby_ir.o

CC      arch/arm/mach-sunxi/pm/standby/standby_key.o

CC      arch/arm/mach-sunxi/pm/standby/standby_power.o

CC      arch/arm/mach-sunxi/pm/standby/standby_twi.o

CC      arch/arm/mach-sunxi/pm/standby/standby_usb.o

AS      arch/arm/mach-sunxi/pm/standby/standby_delay.o

CC      arch/arm/mach-sunxi/pm/standby/./arisc/standby_arisc.o

CC      arch/arm/mach-sunxi/pm/standby/./arisc/arisc_hwmsgbox.o

(省略编译过程.,.)

make: Leaving directory `/opt/item_A33/lichee/linux-3.4/modules/mali'

regenerate rootfs cpio

8772 blocks

9475 blocks

build_ramfs

Copy boot.img to output directory ...

Copy modules to target ...

INFO: build kernel OK.

(至此,内核编译完成)

编译brandy

Bandy目录中存放的是A33平台的bootloader,该目录为A33启动代码,默认不编译。

编译u-boot

cd lichee/brandy/u-boot-2011.09/

make distclean

make sun8iw5p1_config

make -j2

当编译成功,生成的u-boot-sun8iw5pl.bin文件会自动拷贝到对应的tool目录下,这时候可以直接打包或者其他操作。U-boot-sun8iw5pl.bin启动时是uboot核心可执行程序。

"u-boot-sun8iw5p1.bin" -> "/opt/item_A33/lichee/brandy/u-boot-2011.09/../../tools/pack/chips/sun8iw5p1/bin/u-boot-sun8iw5p1.bin"

编译android

编译android前请先编译内核

选择方案

souece build/envsetup.sh

lunch

出现以下设置选项,请依照设置

You're building on Linux

Lunch menu... pick a combo:

1. aosp_arm-eng

2. aosp_x86-eng

3. aosp_mips-eng

4. vbox_x86-eng

5. aosp_manta-userdebug

6. aosp_deb-userdebug

7. aosp_flo-userdebug

8. aosp_grouper-userdebug

9. aosp_tilapia-userdebug

10. mini_armv7a_neon-userdebug

11. mini_x86-userdebug

12. mini_mips-userdebug

13. aosp_mako-userdebug

14. aosp_hammerhead-userdebug

15. astar_y3-eng

16. astar_y3-user

Which would you like? [aosp_arm-eng] 15

============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=4.4.2

TARGET_PRODUCT=astar_y3

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a-neon

TARGET_CPU_VARIANT=cortex-a7

HOST_ARCH=x86

HOST_OS=linux

HOST_OS_EXTRA=Linux-3.13.0-46-generic-x86_64-with-Ubuntu-12.04-precise

HOST_BUILD_TYPE=release

BUILD_ID=KVT49L

OUT_DIR=out

============================================

拷贝kenrel和modules

extract-bsp

编译android

make -j?

(?表示启用几个进程编译,一般不要超过cpu的核数)

最后显示信息

Install system fs image: out/target/product/astar-y3/system.img

out/target/product/astar-y3/system.img+out/target/product/astar-y3/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p maxsize=822163584 blocksize=4224 total=591028141 reserve=8308608

Android打包

cd到android根目录用pack打包

pack

显示以下信息

copying tools file

copying configs file

copying boot resource

copying boot file

packing for android

normal

/opt/item_A33/lichee/tools/pack/pctools/linux/eDragonEx/

/opt/item_A33/lichee/tools/pack/out

Begin Parse sys_partion.fex

Add partion boot-resource.fex BOOT-RESOURCE_FEX

Add partion very boot-resource.fex BOOT-RESOURCE_FEX

FilePath: boot-resource.fex

FileLength=4bec00Add partion env.fex ENV_FEX000000000

Add partion very env.fex ENV_FEX000000000

FilePath: env.fex

FileLength=20000Add partion boot.fex BOOT_FEX00000000

Add partion very boot.fex BOOT_FEX00000000

FilePath: boot.fex

FileLength=afa000Add partion system.fex SYSTEM_FEX000000

Add partion very system.fex SYSTEM_FEX000000

FilePath: system.fex

FileLength=23175bdcAdd partion recovery.fex RECOVERY_FEX0000

Add partion very recovery.fex RECOVERY_FEX0000

FilePath: recovery.fex

FileLength=db2000Add partion diskfs.fex DISKFS_FEX000000

Add partion very diskfs.fex DISKFS_FEX000000

FilePath: diskfs.fex

FileLength=200sys_config.fex Len: 0xf397

config.fex Len: 0x9ac4

split_xxxx.fex Len: 0x200

sys_partition.fex Len: 0xf0a

boot0_nand.fex Len: 0x8000

boot0_sdcard.fex Len: 0x8000

u-boot.fex Len: 0xbc000

fes1.fex Len: 0x1f60

usbtool.fex Len: 0x20600

aultools.fex Len: 0x25d92

aultls32.fex Len: 0x2295a

cardtool.fex Len: 0x14000

cardscript.fex Len: 0x6ea

sunxi_mbr.fex Len: 0x10000

dlinfo.fex Len: 0x4000

arisc.fex Len: 0x2bee9

boot-resource.fex Len: 0x4bec00

Vboot-resource.fex Len: 0x4

env.fex Len: 0x20000

Venv.fex Len: 0x4

boot.fex Len: 0xafa000

Vboot.fex Len: 0x4

system.fex Len: 0x23175bdc

Vsystem.fex Len: 0x4

recovery.fex Len: 0xdb2000

Vrecovery.fex Len: 0x4

diskfs.fex Len: 0x200

Vdiskfs.fex Len: 0x4

BuildImg 0

Dragon execute image.cfg SUCCESS !

----------image is at----------

/opt/item_A33/lichee/tools/pack/sun8iw5p1_android_y3.img

pack finish

全志A33开发板的android环境搭建及编译、打包相关推荐

  1. 全志A33开发板vstar编译环境搭建

    全志A33开发板vstar编译环境搭建 安装系统 全志提供的vstar的SDK使用内核linux-3.4.39, 在编译过程中,要用到一个文件gen_check_code,位于linux-3.4/ar ...

  2. 基于全志A33开发板linux系统移植学习记录(Boot0)

    基于全志A33开发板linux系统移植学习记录 第一章 Boot0基于ARMGCC的编译与修改 文章目录 基于全志A33开发板linux系统移植学习记录 前言 一.全志A33简介以及上电引导流程 二. ...

  3. 全志A33开发板烧录Image到EMMC教程

    全志A33开发板烧录Image到EMMC教程 当前环境: Manjaro Linux 软件: sunxi-livesuite 1. 安装烧录软件 $ yay -S sunix-livesuite-gi ...

  4. 嵌入式开发环境搭建:开发板tftp下载环境搭建

    (注:本文参考资料:朱有鹏嵌入式课程.本文为个人学习记录,如有错误,欢迎指正.) 1. 设置网络 设置开发板与虚拟主机Ubuntu的网络连接. (1)将开发板与Windows主机用网线相连: (2)开 ...

  5. STM32开发(1)----stm32f103c6t6开发板介绍和环境搭建

    stm32f103c6t6开发板介绍 前言 一.stm32f103c6t6芯片资源介绍 1.STM32 的命名规则 二.最小系统开发板介绍 三.开发板基本使用方法 1.软件安装 1.1MDK5 安装 ...

  6. android开发板局域网调试环境搭建经历

    windows 10的开发环境: 1.  pc电脑安卓 android studio ,这个教程很多: 2. 用网线连接android开发部和model ; 3.运行cmd 进入命令环境,先用命令pi ...

  7. 全志A33开发板vstart的屏幕与触摸屏旋转

    export QTDIR=/usr/ 屏幕旋转? 显示屏旋转 export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:rotation=90 触摸屏旋转 用QT_QPA_ ...

  8. 全志A33开发板编译buildroot-2020.02.3

    工具 gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabi gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi ...

  9. android配置vlc_Android : VLC for Android 环境搭建及编译

    一.下载VLC源码: git clone https://code.videolan.org/videolan/vlc-android.git 编译apk:   sh compile.sh -a ar ...

最新文章

  1. ThreadLocal原理及用法详解
  2. springmvc框架自带的异常处理器SimpleMappingExceptionResolver的使用
  3. Science:把这个人类特有基因转入猴子后,它们的大脑更大更强了,但科学家没敢让它出生...
  4. 【文文殿下】Manache算法-学习笔记
  5. 计算机控制技术在医学的应用,华北工控:嵌入式计算机在医疗CT机中的应用
  6. VS2010中的sln,suo分别是什么含义
  7. 计算机二级的理论知识点,计算机二级必备知识点
  8. java表情字符怎么判断_判断字符串中是否包含Emoji表情代码
  9. oracle设置系统权限,Oracle数据库权限管理
  10. 签张回执单 保险合同就生效?
  11. linux下java的日志在哪里,Linux下的系统日志管理
  12. TP框架中S函数使用方法
  13. Activity界面的加载和绘制
  14. DM7.0在VM-中标麒麟NeoKylin虚拟机上安装
  15. 光伏并网发电系统MATLAB Simulink仿真设计 该仿真包括电池,BOOST升压电路,单相全桥逆变电路
  16. PowerPoint 录制屏幕+解决找不到免费录制屏幕软件
  17. 中国偶氮二异丁腈市场供需动态与投资前景展望报告(新版)2022-2027年
  18. 鲁山县蜂蜜峰农李延卿“老骥伏枥,师德为人”---陈帅良
  19. 使用谷歌提供的html5shiv.js解决
  20. 云计算Leader Election之霸道选举算法Bully Algorithm

热门文章

  1. Python程序练习题之汇率双向兑换
  2. 产品ajax无刷新kesion,科讯商业版中用到的ajax空间与分页函数
  3. 英语学习|同义词替换|论文降重|similar|popular
  4. 京东四轮面试复盘,本人985渣硕一年实习经验,目前已经入职一周!
  5. 逻辑思考到写作(一)
  6. 《基于Modern工具包的本地化方式》的错误修正
  7. ubuntu 20.04 安装 pycharm 2022.1 .3 及其卸载
  8. matlab武汉理工大学数值分析线性函数拟合实验_11数值分析第七章数值微积分龙贝格积分大学数学云课堂...
  9. 新的开始!终于来到CSDN了,看看能坚持多久
  10. 【图像隐藏】基于DCT、DWT、LHA、LSB的数字图像信息隐藏系统含各类攻击和性能参数附matlab代码