0x00 环境说明:

所使用的开发板为锐尔威视的插针版A33_Vstar

主机系统为WIN10 1809 x64,并且安装VMware Workstation Pro

下载64位的Ubuntu安装镜像 ubuntu-12.04.2-desktop-amd64.iso

0x01 安装Ubuntu12.04:

文件->新建虚拟机:

直接点下一步

指定Ubuntu安装包所在的位置之后点下一步

输入用户名和密码之后点下一步

指定虚拟系统的存放位置之后点下一步

设置磁盘大小之后点下一步(如果需要编译Android系统建议磁盘设置大一点,当然也可以后续进行扩展)

点 自定义硬件 根据自己的机器配置调整虚拟机的配置之后点 完成 即可成功创建Ubuntu虚拟系统

0x02 初次启动系统之后的准备工作:

确保机器能够正常联网,启动刚刚创建好的虚拟系统:

泡杯茶等待自动安装完毕即可

激活root用户:

准备就绪之后输入密码进入桌面,按快捷键 Ctrl+Alt+T 打开终端,输入

sudo passwd root

设置root用户密码:

更新软件源:

切换到root用户方便后续操作:

su  root

备份以前的源:

cp  /etc/apt/sources.list   /etc/apt/sources.list.old

修改当前源:

vi  /etc/apt/sources.list

删除里面的内容并且添加网易的源:

deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted

命令模式输入 :wq 保存退出之后更新一下使修改生效:

apt-get  update

安装并配置VIM:

安装VIM:

apt-get  install  vim

配置VIM:

打开配置文件:

vim  /etc/vim/vimrc

添加一行配置之后保存退出:

安装SSH:

apt-get  install  ssh

搭建samba服务器:

安装samba:

apt-get  install  samba  smbfs

设置 /root/ 文件夹的权限(后续将使用该文件夹作为共享文件夹):

chmod  777  /root/  -R

配置samba:

打开配置文件:

vim  /etc/samba/smb.conf

添加如下内容:

[share]
      path = /root
      available = yes
      browseable = yes
      public = yes
      writable = yes
      valid users = root
      create mask = 0777
      directory mask =0777
      force user =nobody
      force group = nogroup

添加samba用户密码:

touch   /etc/samba/smbpasswd

smbpasswd  -a  root

重启samba服务:

/etc/init.d/smbd  restart

验证samba服务:

Windows快捷键 Win+R 输入 \\+(Ubuntu ip):

点确定之后进入共享文件夹:

上图中的share文件夹与Ubuntu的/root/ 文件夹相通,可以通过这个文件夹进行Windows与Ubuntu之间的文件传输。

0x03 搭建Linux编译环境:

安装Uboot镜像制作工具:

apt-get  install  uboot-mkimage

安装编译环境所需要的库:

apt-get install \
     git gnupg flex bison gperf build-essential \
     zip curl libc6-dev libncurses5-dev x11proto-core-dev \
     libx11-dev:i386 libreadline6-dev:i386 \
     libgl1-mesa-glx-lts-quantal:i386 libgl1-mesa-dev-lts-quantal \
     g++-multilib mingw32 tofrodos lib32ncurses5-dev \
     python-markdown libswitch-perl libxml2-utils xsltproc zlib1g-dev:i386

创建库的链接:

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

编译器的安装与配置:

安装GCC:

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

配置GCC:

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

0x04 编译Linux系统:

在Ubuntu中切换到 /root/ 下并创建 a33_linux 文件夹:

cd  /root/

mkdir  a33_linux

将官方提供的Linux-SDK复制到该文件夹下并解压:

cd  a33_linux

tar  -vxf  A33_vstar_linux.tar.bz2

rm  A33_vstar_linux.tar.bz2

使用默认配置:

cd  dragonboard/linux-3.4/

cp  a33_vstar_defconfig  .config

配置编译参数:

cd  ..

./build.sh  config

编译系统:

./build.sh

系统镜像打包:

./build.sh  pack

单独编译uboot(默认不编译):

cd  brandy/u-boot-2011.09/

make  distclean

make  sun8iw5p1_config

make  -j8

0x05 搭建Android编译环境:

在Linux编译环境的基础上安装、配置JDK即可

去Oacle官网下载JDK6(注意版本)

在共享文件夹下新建 a33_android 文件夹,并且将下载的JDK6复制到该文件夹

(可以顺便把要编译的Android压缩包也复制过去)

安装JDK6:

cd  /root/a33_android/

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

配置JDK6:

打开配置文件:

vim  ~/.bashrc

在文件末尾加入内容并保存退出:

export JAVA_HOME=/root/a33_android/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$PATH
export ClassPath=/root/a33_android/jdk1.6.0_45

使配置生效:

source  ~/.bashrc

查看JAVA版本:

java  -version

0x06 编译Android系统:

解压所需压缩包:

tar  -vxf  A33_Vstar_Lichee_20170227.tar.bz2

tar  -vxf  A33_Vstar_Android_20170227.tar.bz2

编译Linux内核:

cd  lichee/linux-3.4/

cp  a33_vstar_defconfig  .config

cd  ..

./build.sh  config

./build.sh

编译Android:

cd  ../android/

source  build/envsetup.sh

lunch

extract-bsp

make  -j8

放在一边等待编译完成即可,编译所需要的时间和机器的配置相关,第一次编译所需要的时间长达好几个小时,耐心等待。

打包编译系统镜像:

pack

全志A33编译环境搭建的更多相关文章

  1. ubuntu12.04下安卓编译环境搭建总结

    前言:      因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...

  2. windows下cocos2dx3.0开发环境及Android编译环境搭建

    cocos2dx更新到了3.x版本号,自己一直没有换,如今开发组要求统一换版本号,我就把搭建好开发环境的过程记录下来. 一.Windowns下开发环境搭建 1.  所需工具         1)coc ...

  3. Emscripten编译环境搭建--将C和C++编译成JS

    Emscripten编译环境搭建--将C和C++编译成JS 需求:linux环境下用js执行c.c++文件,使用emscirpten编译器 目标:搭建好Emscripten环境 环境:Ubuntu16 ...

  4. openwrt(一):openwrt源码下载及编译环境搭建

    声明:从网上各位大神的博客学习,整理后记录,非原创. 注:请用非root用户来下载源码 导航: 1. openwrt编译环境搭建 2. openwrt源码下载 3. feeds更新 1. openwr ...

  5. IoT设备程序开发及编译环境搭建初体验

    引言 Mirai事件一经曝出,立即引领了一轮研究IoT设备的热潮.目前,对Mirai的报告大多只是在对其功能实现上的介绍,却很少提及如何实现IoT设备程序开发的测试环境.本文在对Mirai的源码研究的 ...

  6. Tiny4412 开发板 编译环境搭建【转】

    本文转载自:http://blog.csdn.net/beijiwei/article/details/51055369 版权声明:本文为博主原创文章,未经博主允许不得转载. /*********** ...

  7. C语言编程入门之--第二章编译环境搭建

    第二章 编译环境搭建 导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关 ...

  8. u-boot 移植(一)编译环境搭建

    u-boot 移植(一)编译环境搭建 soc:s3c2440 board:jz2440 uboot:u-boot-2016.11 toolchain:gcc-linaro-7.4.1-2019.02- ...

  9. 手把手教你cuda5.5与VS2010的编译环境搭建

    参考:http://www.cnblogs.com/xing901022/archive/2013/08/09/3248469.html 目前版本的cuda是很方便的,它的一个安装里面包括了Toolk ...

随机推荐

  1. IP网际协议

    IP分类 IP地址分为网络号和主机号,5类不同的IP地址格式如下: A类地址每个网段内最多有224个,也就是16,777,214个. B类地址每个网段内最多有216个,也就是65535个. C类地址每 ...

  2. 如何手写Ajax实现异步刷新

    所谓的异步刷新,就是不刷新整个网页进行更新数据. 只有通过js才能实现Ajax,进而实行异步刷新 表单提交数据和Ajax提交数据的区别:表单提交是提交的整个页面中的数据,提交数据之后会抛弃之前的页面( ...

  3. Spark SQL大数据处理并写入Elasticsearch

    SparkSQL(Spark用于处理结构化数据的模块) 通过SparkSQL导入的数据可以来自MySQL数据库.Json数据.Csv数据等,通过load这些数据可以对其做一系列计算 下面通过程序代码来 ...

  4. Class--2019-04-14

    获取class对象,有三种方法: 1.通过类名.class直接访问 Class c = Integer.class; 2.通过Class.forName(类名)函数获取 Class c = Class ...

  5. SpringBoot2 task scheduler 定时任务调度器四种方式

    github:https://github.com/chenyingjun/springboot2-task 使用@EnableScheduling方式 @Component @Configurabl ...

  6. Django表单字段汇总

    Field.clean(value)[source] 虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来使用,以便更好地了解它们是如何工作的.每个Field的实例都有一个cle ...

  7. PostgreSQL自学笔记:9 索引

    9 索引 9.1 索引简介 索引是对数据库表中一列或多列值进行排序的一种结构,使用 索引可提高数据库中特定数据的查询速度 9.1.1 索引的含义和特点 索引是一种单独的.存储在磁盘上的数据库结构,他们 ...

  8. [linux]主机访问虚拟机web服务(CentOS)

    目的为了实现主机和虚拟机的通信,访问虚拟机中架设的web服务.按理说通过虚拟机ip + web服务端口,即可在浏览器访问虚拟机的web服务.但是由于CentOS的防火墙问题,对应web端口无法访问.通 ...

  9. Docker操作笔记(三)数据管理

    数据管理 一.数据卷 数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷 可以在容器之间共享和重用 对 数据卷 的修改会立马生效 对 数据卷 的更新,不会 ...

  10. Windows server 服务器的端口突然远程连不上了,但是可以远程连接,怎么回事?

    ①:先ping一下,查看网络是否正常:正常的话.telnet IP 端口,查看端口是否开启了. 可以ping,不能telnet就可能是做了端口限制,可以参考以下的步骤: ②:若是不能ping,则可能是 ...