全志A33的环境搭建

处理器/DSP

892人已加入

描述

  Ubuntu安装

  制作Ubuntu的USB启动盘

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

  找到DOWNLOADUUI,下载

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

  同意协议,下一步

  如下图设置,

  Step1:选着Linux发行版

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

  Step3:选择插入的U盘

  Step4:默认选项

  确认

  安装Ubuntu

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

  一路不用操作,默认的“TryUbuntuwithoutInstalling”

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

  选择中文

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

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

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

  500G大小的硬盘

  分区挂载点容量

  第一个分区/(根分区)30G

  第二个分区SWAP4G

  第三个分区/opt466G(即剩余的容量)

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

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

  如下图设置第一个分区

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

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

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

  接下来设置时区

  设置键盘布局

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

  等待安装完成

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

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

  更新完重启系统

  配置ssh

  Ctrl+Alt+T打开终端

  自动下载配置ssh

  sudoapt-getinstallssh

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

  配置vim

  vm是vi的升级版本

  自动下载配置vim

  sudoapt-getinstallvim

  开启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用户密码

  sudopasswdroot

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

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

  配置WINDOWS可用XRDP远程桌面

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

  apt-getinstallxrdpvnc4servertightvncserver

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

  cd~

  创建.xsession文件

  echo“gnome-session--session=ubuntu-2d”》.xsession

  重启xrdp

  /etc/init.d/xrdprestart

  在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

  下载后,修改权限

  chmod777jdk-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

  版本信息如下

  javaversion“1.6.0_45”

  Java(TM)SERuntimeEnvironment(build1.6.0_45-b06)

  JavaHotSpot(TM)64-BitServerVM(build20.45-b01,mixedmode)

  Uboot镜像制作工具下载安装

  apt-getinstalluboot-mkimage

  安装编译环境需要的库

  apt-getinstallgitgnupgflexbisongperfbuild-essentialzipcurllibc6-devlibncurses5-dev:i386x11proto-core-devlibx11-dev:i386libreadline6-dev:i386libgl1-mesa-glx-lts-trusty:i386libgl1-mesa-devg++-multilibmingw32tofrodospython-markdownlibxml2-utilsxsltproczlib1g-dev:i386

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

  编译器下载、安装与配置

  编译器下载、替换4.4版本

  apt-getinstallgcc-4.4g++-4.4g++-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

  版本信息如下

  Usingbuilt-inspecs.

  Target:x86_64-linux-gnu

  Configuredwith:。。/src/configure-v--with-pkgversion=‘Ubuntu/Linaro4.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

  Threadmodel:posix

  gccversion4.4.7(Ubuntu/Linaro4.4.7-1ubuntu2)

  编译指南

  创建项目文件夹

  mkdir/opt/item_A33

  解压lichee.tar.gz压缩包

  tar-zxvflichee.tar.gz-C/opt/item_A33/

  解压android.tar.gz压缩包

  tar-zxvfandroid.tar.gz-C/opt/item_A33/

  进入lichee目录

  cd/opt/item_A33/lichee

  编译内核

  sourcebuildroot/scripts/mksetup.sh

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

  Welcometomkscriptsetupprogress

  Allavailablechips:

  0.sun8iw5p1

  Choice:0

  Allavailableplatforms:

  0.android

  1.dragonboard

  2.linux

  Choice:0

  Allavailablekernel:

  0.linux-3.4

  Choice:0

  Allavailableboards:

  0.evb

  1.maple

  2.redwood

  3.y2

  4.y3

  Choice:4

  编译lichee

  mklichee

  编译过程

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

  INFO:buildlichee。。。

  INFO:chip:sun8iw5p1

  INFO:platform:android

  INFO:kernel:linux-3.4

  INFO:board:y3

  INFO:output:out/sun8iw5p1/android/y3

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

  INFO:buildbuildroot。。。

  externaltoolchainhasbeeninstalled

  INFO:buildbuildrootOK.

  INFO:buildkernel。。。

  INFO:preparetoolchain。。。

  Buildingkernel

  CHKinclude/linux/version.h

  CHKinclude/generated/utsrelease.h

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

  CALLscripts/checksyscalls.sh

  CHKinclude/generated/compile.h

  CCarch/arm/mach-sunxi/pm/standby/common.o

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

  make:Leavingdirectory`/opt/item_A33/lichee/linux-3.4/modules/mali‘

  regeneraterootfscpio

  8772blocks

  9475blocks

  build_ramfs

  Copyboot.imgtooutputdirectory。。。

  Copymodulestotarget。。。

  INFO:buildkernelOK.

  INFO:buildrootfs。。。

  INFO:skipmakerootfsforandroid

  INFO:buildrootfsOK.

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

  INFO:buildlicheeOK.

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

  (至此编译成功)

  单独编译buildroot

  mkbr

  编译过程

  INFO:buildbuildroot。。。

  externaltoolchainhasbeeninstalled

  INFO:buildbuildrootOK.

  单独编译内核

  mkkernel

  编译过程

  INFO:buildkernel。。。

  INFO:preparetoolchain。。。

  Buildingkernel

  CHKinclude/linux/version.h

  CHKinclude/generated/utsrelease.h

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

  CALLscripts/checksyscalls.sh

  CHKinclude/generated/compile.h

  CCarch/arm/mach-sunxi/pm/standby/common.o

  CCarch/arm/mach-sunxi/pm/standby/standby_clock.o

  CCarch/arm/mach-sunxi/pm/standby/standby_ir.o

  CCarch/arm/mach-sunxi/pm/standby/standby_key.o

  CCarch/arm/mach-sunxi/pm/standby/standby_power.o

  CCarch/arm/mach-sunxi/pm/standby/standby_twi.o

  CCarch/arm/mach-sunxi/pm/standby/standby_usb.o

  ASarch/arm/mach-sunxi/pm/standby/standby_delay.o

  CCarch/arm/mach-sunxi/pm/standby/。/arisc/standby_arisc.o

  CCarch/arm/mach-sunxi/pm/standby/。/arisc/arisc_hwmsgbox.o

  (省略编译过程。,。)

  make:Leavingdirectory`/opt/item_A33/lichee/linux-3.4/modules/mali’

  regeneraterootfscpio

  8772blocks

  9475blocks

  build_ramfs

  Copyboot.imgtooutputdirectory。。。

  Copymodulestotarget。。。

  INFO:buildkernelOK.

  (至此,内核编译完成)

  编译brandy

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

  编译u-boot

  cdlichee/brandy/u-boot-2011.09/

  makedistclean

  makesun8iw5p1_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前请先编译内核

  选择方案

  souecebuild/envsetup.sh

  lunch

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

  You‘rebuildingonLinux

  Lunchmenu.。.pickacombo:

  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

  Whichwouldyoulike?[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的核数)

  最后显示信息

  Installsystemfsimage: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.pmaxsize=822163584blocksize=4224total=591028141reserve=8308608

  Android打包

  cd到android根目录用pack打包

  pack

  显示以下信息

  copyingtoolsfile

  copyingconfigsfile

  copyingbootresource

  copyingbootfile

  packingforandroid

  normal

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

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

  BeginParsesys_partion.fex

  Addpartionboot-resource.fexBOOT-RESOURCE_FEX

  Addpartionveryboot-resource.fexBOOT-RESOURCE_FEX

  FilePath:boot-resource.fex

  FileLength=4bec00Addpartionenv.fexENV_FEX000000000

  Addpartionveryenv.fexENV_FEX000000000

  FilePath:env.fex

  FileLength=20000Addpartionboot.fexBOOT_FEX00000000

  Addpartionveryboot.fexBOOT_FEX00000000

  FilePath:boot.fex

  FileLength=afa000Addpartionsystem.fexSYSTEM_FEX000000

  Addpartionverysystem.fexSYSTEM_FEX000000

  FilePath:system.fex

  FileLength=23175bdcAddpartionrecovery.fexRECOVERY_FEX0000

  Addpartionveryrecovery.fexRECOVERY_FEX0000

  FilePath:recovery.fex

  FileLength=db2000Addpartiondiskfs.fexDISKFS_FEX000000

  Addpartionverydiskfs.fexDISKFS_FEX000000

  FilePath:diskfs.fex

  FileLength=200sys_config.fexLen:0xf397

  config.fexLen:0x9ac4

  split_xxxx.fexLen:0x200

  sys_partition.fexLen:0xf0a

  boot0_nand.fexLen:0x8000

  boot0_sdcard.fexLen:0x8000

  u-boot.fexLen:0xbc000

  fes1.fexLen:0x1f60

  usbtool.fexLen:0x20600

  aultools.fexLen:0x25d92

  aultls32.fexLen:0x2295a

  cardtool.fexLen:0x14000

  cardscript.fexLen:0x6ea

  sunxi_mbr.fexLen:0x10000

  dlinfo.fexLen:0x4000

  arisc.fexLen:0x2bee9

  boot-resource.fexLen:0x4bec00

  Vboot-resource.fexLen:0x4

  env.fexLen:0x20000

  Venv.fexLen:0x4

  boot.fexLen:0xafa000

  Vboot.fexLen:0x4

  system.fexLen:0x23175bdc

  Vsystem.fexLen:0x4

  recovery.fexLen:0xdb2000

  Vrecovery.fexLen:0x4

  diskfs.fexLen:0x200

  Vdiskfs.fexLen:0x4

  BuildImg0

  Dragonexecuteimage.cfgSUCCESS!

  ----------imageisat----------

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

  packfinish

  制作完成

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分