ubunt 14.04 linux基本配置

1. 更新 apt 源
sudo apt-get update

3. 安装 SSH
sudo apt-get install ssh

4. 安装 xchm
sudo apt-get install -y xchm

5. 安装 GCC
sudo apt-get install -y g++-4.4 gcc-4.4 cpp g++-4.4-multilib gcc-4.4-multilib g++-multilib

6. 安装 gakw
sudo apt-get install gawk

7 安装编译环境
7.1 安装包
sudo apt-get install -y git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386

sudo apt-get install -y x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libglapi-mesa:i386 libgl1-mesa-glx libgl1-mesa-dev

sudo apt-get install -y g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo apt-get install -y g++-4.4 gcc-4.4 g++-4.4-multilib gcc-4.4-multilib lib32z1-dev libtinfo-dev libncurses5-dev:i386

sudo apt-get install -y vim libncursesw5-dev netpbm minicom u-boot-tools libswitch-perl

7.2 创建链接
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1

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

8. 配置 GCC
cd /usr/bin
sudo rm -f gcc
sudo rm -f g++
sudo ln -s gcc-4.4 gcc
sudo ln -s g++-4.4 g++

9. 配置静态 IP

 

 

 

10. 安装Wine工具用于安装EXE文件
sudo apt-get install wine

11. 配置 smb
a.
sudo apt-get install samba-common smbclient samba

b. sudo vim /etc/samba/smb.conf
[tianfeng]
path = /home/tianfeng
available = yes
browseable = yes
writable = yes
valid users = tianfeng

c. 配置 smb 用户
sudo smbpasswd -a USERNAME (USERNAME 换成你的用户名 )

12. 配置 java
sudo apt-get install openjdk-7-jdk

13. 配置 Android 开发工具
sudo apt-get -y install android-tools-adb
sudo apt-get -y install android-tools-adbd
sudo apt-get -y install android-tools-fastboot

5 Android6.0 编译及烧写
5.1 代码准备
Android6.0 代码在光盘“FSPAD733 光盘资料(2)”的“android6.0 源码”目录下
Android6.0 内核源码在光盘“FSPAD733 光盘资料(1)”的“源码”目录下
代码说明:
android6.0 源码:

 Linux 内核源码,uboot 源码,根文件系统及相关工具:

 5.2 解压 Android、内核以及 u-boot 源码
按照 4.4 提供的步骤打开 Ubuntu 虚拟机
拷贝所有 androidM.tar.xz*和 lichee.tar.xz 到 Linux 系统中(同一目录下)
,并解压
解压方式:
$ cat androidM.tar.xz* | tar -Jxvf -
$ tar xvf lichee.tar.xz
解压后删除源文件:
$ rm andnroidM.tar.xz* lichee.tar.xz
说明编译 android 系统需要大概 45G 空间,所以需要删除这些文件为后续编译预留足够空间。

5.3 编译源码
5.3.1 编译针对 android 的 linux 内核
进入目录“lichee”下,第一次编译需执行:
$ ./build.sh config
会出现一系列菜单选项,按提示选择相应的选项:
Welcome to mkscript setup progress
All available chips:
0. sun8iw5p1
Choice:0  选择 sun8iw5p1
All available platforms:
0. android
1. dragonboard
2. linux
3.camdroid
Choice: 0  选择 android
All available kernel:

0. linux-3.4
Choice: 0  选择 Linux-3.4
All available boards:
0. d7
1. fspad-733
Choice: 1  选择 fspad-733
配置完后运行 build.sh 进入内核和 uboot 的编译,
第一次完成配置编译后,
以后再编译只需执行 build.sh:
$ ./build.sh

按照第一次的配置来编译内核和 uboot
编译完成后,终端显示:
sun8iw5p1 compile Kernel successful
INFO: build kernel OK.
INFO: build rootfs ...
INFO: skip make rootfs for android
INFO: build rootfs OK.
INFO: ----------------------------------------
INFO: build lichee OK.
INFO: ----------------------------------------
表示编译成功

5.3.2 编译 Android6.0 源码并生成最终镜像
导出环境变量
进入 androidL 的目录下:
$ cd androidM
执行:
$ source build/envsetup.sh
添加产品的相应的配置,选择相应的产品
执行:
$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
4. aosp_mips64-eng
......
20. astar_fspad_733-eng

21. astar_fspad_733-userWhich would you like? [aosp_arm-eng] 20---->选择 20.astar_fspad_733-eng
选择后显示如下
============================================
PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=6.0.1
TARGET_PRODUCT=astar_fspad_733
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
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.16.0-30-generic-x86_64-with-Ubuntu-14.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=MOB20R
OUT_DIR=out
============================================

拷贝内核和模块到 Android 中
执行:
$ extract-bsp
终端显示:
/home/linux/workdir/androidM/device/softwinner/astar-fspad_733/bImage copied!
/home/linux/workdir/androidM/device/softwinner/astar-fspad_733/modules copied!
编译 Android 系统
执行:
$ make
注意:
1、Android6.0 源码编译需要 4G 以上内存才能正常编译,所以需要设置虚拟机为 4G 内存,如宿主机
(Windows)不足 4G,无法为虚拟机设置为 4G,至少设置为 2G,且设置为 2G 时在首次编译(make)前
必须执行如下操作:
(以下操作如果虚拟机内存为 4G 可以不做)

修改 device/softwinner/astar-fspad_733/BoardConfig.mk 文件:
$ cd androidM

$ vim device/softwinner/astar-fspad_733/BoardConfig.mk
23 行后添加
ANDROID_COMPILE_WITH_JACK := false
修改 packages/apps/Camera2/Android.mk 文件:
修改
LOCAL_PROGUARD_FLAG_FILES := proguard.flags

LOCAL_PROGUARD_ENABLED := disabled
修改 packages/apps/Gallery2/Android.mk 文件:
修改
LOCAL_PROGUARD_FLAG_FILES := proguard.flags

LOCAL_PROGUARD_ENABLED := disabled

如不执行上述操作编译时可能会出现错误:

2、根据 ubuntu 实际 CPU 个数来选择 j 后面的数字一般为 CPU 数量的两倍,比如 CPU 是 4 核的就可
以写成”make -j8”
编译完成后,控制终端显示:
#### make completed successfully (29:20 (mm:ss)) ####
查看是否生成相应文件
$ ls out/target/product/ astar-fspad_733 /

 

如果有 ramdisk.img 和 system.img 表示编译成功。
表示编译成功
打包生产最终镜像文件
执行:
$ pack

多数 android 开发使用 usb adb 调试,本平板 usb 口可以外接其他设备,如键盘鼠标等,这样则无法使
用 usb adb 调试,本平板提供串口调试方式,可以通过串口将数据打印到主机终端软件上,但是如果想使
用串口作为调试口的话,打包时需要在 pack 后加“-d“即:
$ pack -d
打包成功后有如下提示:
---------image is at-------------
/home/**/lichee/tools/pack/sun8iw5p1_android_fspad-733_card0.img
pack finish
注意:按照红字提示的路径找到编译完成的镜像

发布了38 篇原创文章 · 获赞 42 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_42471952/article/details/81781149