AM5708平台移植ubuntu系统和docker容器

作者: TI 工程师 Denny Yang

  

AM5708是目前TI量产的最新一代ARM+DSP构架SOC,具有高性能低功耗高扩展性等特点。AM5708详细介绍可以参考此链接:
http://www.ti.com/product/am5708
Docker是目前非常流行的轻量级容器工具。关于docker可以参考如下链接:https://e2echina.ti.com/blogs_/b/the_process/archive/2018/07/09/am335x-ubuntu-docker

本文介绍如何在AM5708 EVM板子上移植ubuntu系统并把docker跑起来。下面这个链接是本文用到的AM5708的硬件资料:

http://www.spectrumdigital.com/dra71x-dra79x-tda2ex-17-am570x-cpu-board-evmx777bg-01-00-00/

实施步骤:

, AM5708 EVM安装ubuntu。(本文的操作主机是一台ubuntu 1604PC机。)

1,首先下载最新的SDK,并安装。
http://software-dl.ti.com/processor-sdk-linux/esd/AM57X/latest/index_FDS.html插入SD卡,进入sdk/bin目录执行

 


根据提示选择分区,选择prebuild的文件系统,最终得到一张安装好LINUX SDK的SD卡。

2,修改SDK/rules.make

3,修改sdk/makefile

添加dra7-evm.dtb dra72-evm.dtb dra72-evm-revc.dtb dra71-evm.dtb dra76-evm.dtb dra71-lcard.dtb的支持。

4,修改 sdk/ti-processor-sdk-linux-am57xx-evm-05.00.00.15/board-support/linux-4.14.40+gitAUTOINC+4796173fc5-g4796173fc5/arch/arm/configs/ti_sdk_dra7x_release_defconfig
在文件尾添加:
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NAMESPACES=y
CONFIG_CPUSETS=y
CONFIG_VETH=m
CONFIG_IP_VS=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y

5,开始编译

注意ubuntu需要安装lzop软件包才能成功编译uboot。

 

6,下载ubuntu文件系统

https://elinux.org/BeagleBoardUbuntu
操作步骤如下,首先

 

然后验证

 

解压

  

7,安装ubuntu系统

插入步骤1制作的SD卡到LINUX机器,ls /dev/sd*, 发现新插入的sd卡是/dev/sdc

 

接下来安装kernel和文件系统

 

拔下SD卡并插入板子。启动如下:

启动成功,用户名ubuntu密码temppwd。

二,安装运行docker

如果电脑需要通过代理才能访问外网,apt-get需要代理服务器支持

sudo apt-get -o Acquire::http::proxy="http://wwwgate.ti.com:80/" update

sudo apt-get -o Acquire::http::proxy="http://wwwgate.ti.com:80/" install docker.io

配置docker代理

在EVM板子上,sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf

添加如下

然后输入命令,重启docker

sudo systemctl daemon-reload

sudo systemctl restart docker

systemctl show --property=Environment docker

至此docker代理配置完毕。

三,测试docker

先跑个hello-world, docker先检查本地有没有hello-world,如果没有就到服务器上下载。

再跑个ubuntu bash,可以看到控制终端切换掉了。

同时跑一个centos,一个ubuntu,1个nginx server,总共3个container:

Docker是一个很轻量级的应用,docker container占有系统资源很少,3个container再加上后台的服务,加在一起CPU占有率<2%。注:AM5708跑1GHZ主频。

 

四,参考链接

https://joshhu.gitbooks.io/docker_theory_install/content/DockerBible/dockertheory.html

http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

https://github.com/yeasy/docker_practice/blob/master/SUMMARY.md