本地编译全志R系列的步骤7(Ubuntu 17.04非长期支持版本)
2017/6/29 13:49
0、获取全志R系列的Android源码包:
请通过渠道/代理商/方案公司获取全志R系列的Android源码包。
1、安装ubuntu
已经验证过的系统:ubuntu-17.04-desktop-amd64.iso
下载地址:http://releases.ubuntu.com/releases/17.04/ubuntu-17.04-desktop-amd64.iso
ubuntu的官方下载地址(喜欢中文优化版本的,可以选择麒麟版本):
http://releases.ubuntu.com/releases/10.04/
http://cdimage.ubuntu.com/releases/
http://old-releases.ubuntu.com/releases/lucid/
http://cn.ubuntu.com/
http://www.ubuntukylin.com/
https://www.ubuntu.com/download/ubuntu-kylin
参考编译服务器的配置:
https://item.jd.com/3885181.html
锐龙 AMD Ryzen 7 1700 处理器8核AM4接口 3.0GHz 盒装
https://item.jd.com/4470762.html
华硕(ASUS)PRIME B350-PLUS 主板(AMD B350/socket AM4) 加强大板B350-PLUS
https://item.jd.com/3595753.html
三星(SAMSUNG) 850 EVO 1TB M.2 固态硬盘
https://item.jd.com/3864850.html
美商海盗船(USCORSAIR) 复仇者LPX DDR4 2400 16GB 台式机内存 复仇者LPX<高性能超频利器>2条
安装Ubuntu的教程请参考:
http://digi.163.com/11/0127/18/6RE3LQL400162OUT.html
图文教程:手把手教你用U盘安装Ubuntu
http://www.linuxidc.com/Linux/2012-11/74695.htm
U盘安装Ubuntu 12.10
http://jingyan.baidu.com/article/a3761b2b66fe141577f9aa51.html
怎么用u盘安装ubuntu
手动分区的建议设置:
/boot 分配100M即可
swap 交换分区 4G
/home 剩下的容量
/ 注意这里需要设置为主分区!!!!
小知识:
查看ubuntu的版本:
rootroot@rootroot-System-Product-Name:~$ cat /etc/issue
Ubuntu 17.04\n \l
rootroot@rootroot-System-Product-Name:~$
查看ubuntu是32位还是64位(x86_64):
rootroot@rootroot-System-Product-Name:~$ uname -a
Linux rootroot-System-Product-Name 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:04:57 UTC 2017 x86_64 x86_64 x86_64GNU/Linux
rootroot@rootroot-System-Product-Name:~$
http://www.360doc.com/content/13/0921/23/6496277_316103639.shtml
查看ubuntu是32位还是64位的方法及其版本号
http://www.cnblogs.com/zero1665/archive/2010/05/24/1742962.html
查看ubuntu版本号
获取当前电脑配置的IP地址:
ifconfig
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$ ifconfig
enp30s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.194netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::8599:afcb:abc5:d09f prefixlen 64 scopeid 0x20<link>
ether 88:d7:f6:7c:3e:a5 txqueuelen 1000 (以太网)
RX packets 33730 bytes 42354795 (42.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 15225 bytes 1081409 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (本地环回)
RX packets 428 bytes 31908 (31.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 428 bytes 31908 (31.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
rootroot@rootroot-System-Product-Name:~$
2、全志R系列的android的环境搭建:
启用root 帐号:
$sudo passwd root
输入两次root 密码
rootroot@rootroot-System-Product-Name:~$ sudo passwd root
[sudo] rootroot 的密码:
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$
(1)
建议:update Manager不要更新。
sudo apt-get upgrade(建议不要执行这个升级ubuntu系统,花时间,也没有什么特别的用处)
sudo apt-get update
(2)
首先安装openssh-server,这样就可以在Windows下通过SSH软件连接Ubuntu的电脑操作了。
sudo apt-get install openssh-server
rootroot@rootroot-System-Product-Name:~$ ps -e | grep ssh
1366 ? 00:00:00 ssh-agent
5374 ? 00:00:00 sshd
5657 ? 00:00:00 sshd
5703 ? 00:00:00 sshd
rootroot@rootroot-System-Product-Name:~$
sudo apt-get install nautilus-open-terminal(不需要安装了!)
rootroot@rootroot-System-Product-Name:~$ sudo apt-get install nautilus-open-terminal
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 nautilus-open-terminal,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
然而下列软件包会取代它:
gnome-terminal:i386 gnome-terminal
E: 软件包 nautilus-open-terminal 没有可安装候选
rootroot@rootroot-System-Product-Name:~$
(3)
安装samba:
rootroot@rootroot-System-Product-Name:~$ sudo apt-get install samba
rootroot@rootroot-System-Product-Name:~$ samba --version
Version 4.5.8-Ubuntu(根据您安装系统的时间,这把版本肯定只增不减!^_)
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$ sudo smbpasswd -a rootroot
New SMB password:
Retype new SMB password:
Added user rootroot.
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$ ps -e | grep smb
7324 ? 00:00:00 smbd
7325 ? 00:00:00 smbd-notifyd
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$ cd /etc/samba/
rootroot@rootroot-System-Product-Name:/etc/samba$ ll
总用量 36
drwxr-xr-x 3 root root 4096 6月 19 20:35 ./
drwxr-xr-x 135 root root 12288 6月 19 20:35 ../
-rw-r--r-- 1 root root 8 5月 21 01:50 gdbcommands
-rw-r--r-- 1 root root 9542 6月 19 20:35 smb.conf
drwxr-xr-x 2 root root 4096 5月 21 01:48 tls/
rootroot@rootroot-System-Product-Name:/etc/samba$
可用winscp以scp模式登录,然后再修改:smb.conf
(增加这里:)
[rootroot]
comment = rootroot Shared Folder
path = /
valid users = rootroot
read only = No
create mask = 0700
directory mask = 0700
rootroot@rootroot-System-Product-Name:/etc/samba$ sudo cp smb.conf smb.conf.bak1
rootroot@rootroot-System-Product-Name:/etc/samba$ sudo cp smb.conf ~
用winscp以scp模式登录,将smb.conf复制到你的电脑的C盘,修改之后,再拷贝回去即可。
rootroot@rootroot-System-Product-Name:~$ rm smb.conf
rootroot@rootroot-System-Product-Name:/etc/samba$ sudo cp ~/smb.conf .
rootroot@rootroot-System-Product-Name:~$ cd -
/etc/samba
rootroot@rootroot-System-Product-Name:/etc/samba$ diff smb.conf smb.conf.bak1
261,271d260
<
<
<
< [rootroot]
< comment = rootroot Shared Folder
path = /
valid users = rootroot
read only = No
create mask = 0700
directory mask = 0700
<
rootroot@rootroot-System-Product-Name:/etc/samba$
(5)
安装编译全志的android4所需要的软件:
sudo apt-get install git-core
sudo apt-get install gnupg
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf
sudo apt-get install build-essential
sudo apt-get install zip
sudo apt-get install curl
sudo apt-get install libc6-dev
sudo apt-get install libncurses5-dev
sudo apt-get install x11proto-core-dev
sudo apt-get install libx11-dev:i386
sudo apt-get install libreadline6-dev:i386
sudo apt-get install libgl1-mesa-glx:i386
sudo apt-get install libgl1-mesa-dev
sudo apt-get install g++-multilib
sudo apt-get install mingw32(这个安装有问题,暂时不安装了!)
rootroot@rootroot-System-Product-Name:~$ sudo apt-get install mingw32
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 mingw32
rootroot@rootroot-System-Product-Name:~$
http://blog.csdn.net/u011425939/article/details/53457985
Ubuntu 16.04安装MinGW32
sudo apt-get install tofrodos
sudo apt-get install python-markdown
sudo apt-get install libxml2-utils
sudo apt-get install xsltproc
sudo apt-get install zlib1g-dev:i386
sudo apt-get install zlib1g-dev
sudo apt-get install lib32ncurses5-dev
sudo apt-get install lib32z1
sudo apt-get install libx11-dev
sudo apt-get install lib32readline-gplv2-dev(这个安装有问题,暂时不安装了!)
rootroot@rootroot-System-Product-Name:~$ sudo apt-get install lib32readline-gplv2-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 lib32readline-gplv2-dev,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 lib32readline-gplv2-dev 没有可安装候选
rootroot@rootroot-System-Product-Name:~$
sudo apt-get install lib32z1-dev
sudo apt-get install libreadline6-dev
sudo apt-get install libgl1-mesa-glx
sudo apt-get install gcc-multilib
sudo apt-get install u-boot-tools
(可以不安装)
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
sudo apt-get install g++-4.8-multilib
sudo apt-get install gcc-4.8-multilib
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
sudo apt-get install meld
sudo apt-get install libswitch-perl
sudo apt-get install gawk
sudo apt-get install libssl-dev
3、安装openjdk7:
(1)
安装JDK1.7,使用如下命令
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$ cd wyb/
rootroot@rootroot-System-Product-Name:~/wyb$
rootroot@rootroot-System-Product-Name:~/wyb$ sudo cp java-7-openjdk-amd64.tar.gz /opt
[sudo] rootroot 的密码:
rootroot@rootroot-System-Product-Name:~/wyb$ cd /opt
rootroot@rootroot-System-Product-Name:/opt$
rootroot@rootroot-System-Product-Name:/opt$ chmod 777 java-7-openjdk-amd64.tar.gz
chmod: 更改'java-7-openjdk-amd64.tar.gz' 的权限: 不允许的操作
rootroot@rootroot-System-Product-Name:/opt$ sudo chmod 777 java-7-openjdk-amd64.tar.gz
rootroot@rootroot-System-Product-Name:/opt$
rootroot@rootroot-System-Product-Name:/opt$ sudo tar zxvf java-7-openjdk-amd64.tar.gz
(2)
设置JDK环境变量,打开.bashrc,在最后加入以下代码
#set java environment
#export JAVA_HOME=/home/s/bin/java-7-openjdk-amd64
#export JAVA_HOME=/home/s/bin/java-8-openjdk-amd64
export JAVA_HOME=/opt/java-7-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(3)
测试JDK是否安装成功,使用命令java -version 如果显示(需要注销,或者重启ubuntu系统)
rootroot@rootroot-System-Product-Name:~$ java -version
java version "1.7.0_121"
OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.14.04.3)
OpenJDK 64-Bit Server VM (build 24.121-b00,mixed mode)
rootroot@rootroot-System-Product-Name:~$
则JDK安装成功。
(oracle/sun有点坑,只需要一个“-”)
rootroot@rootroot-System-Product-Name:~$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
rootroot@rootroot-System-Product-Name:~$
4、将shell从DASH切换到BASH:
http://blog.csdn.net/smilettxp/article/details/19118057?reload
ubuntu 12.04编译MTK6582——FAQ
解决办法:/bin/sh: 1: [: -a: unexpected operator 分析原因为/bin/sh的链接到/bin/dash,而不是/bin/bash(可以用命令ls /bin/sh -lh查看链接的时bash还是dash)
修改sh默认指向到/bin/bash,如下:
sudo dpkg-reconfigure dash 选择no,即可。
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$ ls /bin/sh -lh
lrwxrwxrwx 1 root root 4 6月 29 10:45 /bin/sh -> dash
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$ sudo dpkg-reconfigure dash
正在删除 dash 导致 /bin/sh 转移到 /bin/sh.distrib
正在添加 bash 导致 /bin/sh 转移到 /bin/sh.distrib
正在删除 dash 导致 /usr/share/man/man1/sh.1.gz 转移到 /usr/share/man/man1/sh.distrib.1.gz
正在添加 bash 导致 /usr/share/man/man1/sh.1.gz 转移到 /usr/share/man/man1/sh.distrib.1.gz
rootroot@rootroot-System-Product-Name:~$
rootroot@rootroot-System-Product-Name:~$ ls /bin/sh -lh
lrwxrwxrwx 1 root root 4 6月 29 12:50 /bin/sh -> bash
rootroot@rootroot-System-Product-Name:~$
参考资料:
http://www.linuxidc.com/Linux/2014-04/100645.htm
Ubuntu 14.04 LTS下安装Google Chrome浏览器
http://blog.csdn.net/man_embedded/article/details/40111023
linux下编译MTK android的环境搭建
http://jingyan.baidu.com/article/624e7459abb8eb34e8ba5aa2.html
Ubuntu10.04搭建MTK android编译环境
http://blog.csdn.net/doon/article/details/8053174
ubuntu 12.04 64位设置兼容32位的实现
http://blog.csdn.net/yimiyangguang1314/article/details/39996851
Ubuntu 12.04 64bit 无法识别交叉编译器解决办法
http://pkgs.org/download/ia32-libs
ia32-libs Download (DEB)
http://source.android.com/source/initializing.html
Initializing a Build Environment
http://processors.wiki.ti.com/index.PHP/TI-Android-JB-4.2.2-DevKit-4.1.1_DeveloperGuide
TI-Android-JB-4.2.2-DevKit-4.1.1 DeveloperGuide
https://www.virtualBox.org/
virtualBox