PX30_docker_ubuntu16.04开发环境搭建
Ubuntu16.04 docker 镜像安装
alex@x99:~$ docker pull ubuntu:16.04
启动docker
查看现有docker镜像
alex@x99:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
u16_px30_v3s v1.42 f1b6414a844c 2 weeks ago 1.34GB
ubuntu 16.04 b6f507652425 21 months ago 135MB
ubuntu 14.04 13b66b487594 2 years ago 197MB
alex@x99:~$
运行
alex@x99:~$ docker run -it -v /home/alex:/home/alex b6f507652425 /bin/bash
安装VIM
root@d04640a1e5f2:/# apt-get update
root@d04640a1e5f2:/# apt-get install vim
一、换源(不是必须,可跳过,系统源也不错)
root@d04640a1e5f2:/# vim /etc/apt/sources.list
方法一:百度一下,ubuntu16.04换源
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
方法二:也可以不用vim,直接如下操作:
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial main" >/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial main" >>/etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main" >>/etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial universe" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe" >>/etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe" >>/etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-security main" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main" >>/etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe" >>/etc/apt/sources.list
root@d04640a1e5f2:/# apt update
二、安装工具
apt-get install net-tools
apt install python2.7
ln -s /usr/bin/python2.7 /usr/bin/python
apt install bc
apt-get install sharutils
apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
apt install -y build-essential crossbuild-essential-arm64 bash-completion vim sudo locales time rsync bc python
apt install -y repo git ssh libssl-dev liblz4-tool lib32stdc++6 \
expect patchelf chrpath gawk texinfo diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake \
unzip device-tree-compiler python-pip ncurses-dev python-pyelftools \
subversion asciidoc w3m dblatex graphviz python-matplotlib cpio \
libparse-yapp-perl default-jre patchutils swig expect-dev u-boot-tools
apt update && apt install -y -f
apt-get install gawk
apt-get install libssl-dev
apt-get install liblz4-tool
apt-get install wget
root@d04640a1e5f2:/# cd /root/
1、lzo安装
1)、wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz
2)、tar xzvf lzo-2.06.tar.gz
3)、cd lzo-2.06
./configure --enable-shared
4)、make
make install
2、lzop安装:
1)、wget ‘http://www.lzop.org/download/lzop-1.03.tar.gz’
2)、tar xzvf lzop-1.03.tar.gz
3)、cd lzop-1.03
./configure
make
make install
三、安装UTF8和中文支持
apt-get install language-pack-zh-hant language-pack-zh-hans language-pack-en
# 修改 /etc/profile 文件,添加:
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:zh
# 重新加载资源
>> $ source /etc/profile
四、时区
>> $ date # 查看当前时间
>> $ apt-get install tzdata
>> $ dpkg-reconfigure tzdata
Geographic area: 6
Time zone: 70
五、增加用户
root@d04640a1e5f2:~# adduser alex
切换用户
root@d04640a1e5f2:~# su alex
alex@d04640a1e5f2:/root$ cd /home/alex/
七、保存镜像
alex@x99:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d04640a1e5f2 b6f507652425 "/bin/bash" About an hour ago Up About an hour nice_pike
alex@x99:~$ docker commit -m "u16_px30" d04640a1e5f2 u16_px30:v1.0
sha256:4c20205dbe206d1ae5acb2eafb4039b052cafe5dbcf29b75c6015a7a5748f6db
八、使用镜像编译Android系统源码
1> 准备系统源码
在宿主机上,创建源码目录,如 /home/android 目录,并放入Android系统源码。
2> 挂载源码目录到docker容器中
alex@x99:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
u16_px30 v1.0 4c20205dbe20 5 minutes ago 783MB
u16_px30_v3s v1.42 f1b6414a844c 2 weeks ago 1.34GB
ubuntu 16.04 b6f507652425 21 months ago 135MB
ubuntu 14.04 13b66b487594 2 years ago 197MB
alex@x99:~$ docker run -it -v /home/android:/home/android 4c20205dbe20 /bin/bash
3> 开始编译源码
>> $ cd /home/android
>> $ ./build.sh
>> $ make -j8
九、开启ssh服务
安装
apt-get install openssh-server
启动
service ssh start
修改
vi /etc/ssh/sshd_config
PermitRootLogin prohibit-password 修改为:PermitRootLogin yes
增加密码
passwd root
重启
service ssh restart
ssh-keygen -R 172.17.0.2