使用docker来构建嵌入式开发环境

2019-07-12 16:24发布

我目前使用的一套嵌入式开发SDK是在ubuntu 14.04上构建的, 对于较新的ubuntu发行版或其他linux发行版是不能兼容的.
比如目前我使用的是Fedora 25作为自己的系统, 那么要编译SDK会发生错误. 主要是libtools, autoconf等工具的兼容性问题. 为了解决这个问题可以使用docker来构建一套基于ubuntu14.04文件系统的编译系统, 从而实现在Fedora 25上编译SDK.
首先贴上自己的Dockerfile # rsdk builder docker # creater by gngshn # Jan 20 2017 FROM ubuntu:14.04 ENV TERM=xterm RUN echo "dash dash/sh boolean false" | debconf-set-selections && dpkg-reconfigure -p critical dash && apt-get update && apt-get install -y bc python dpkg lzma pkg-config libncurses5-dev autoconf automake cmake libtool gettext texinfo gawk && dpkg --add-architecture i386 && apt-get update && apt-get install -y gcc-multilib lib32z1-dev lib32ncurses5-dev && apt-get clean && groupadd -g 1000 gngshn && useradd -u 1000 -g 1000 -G sudo -m gngshn && mkdir /home/gngshn/ipcam && chown gngshn:gngshn /home/gngshn/ipcam && echo "root:xx" | chpasswd && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* USER gngshn WORKDIR /home/gngshn ENV TERM=xterm-256color TERMINFO=/lib/terminfo 在Dockerfile中需要安装的包都是在ubuntu 14.04 docker中根据需要一步一步安装, 并最终确定需要的安装的所有的包.
在上面的Dockerfile目录下执行
sudo docker build -t ipcam_build .
docker就会从docker.io上下载ubuntu 14.04(也可以配置一些国内的docker加速器加速), 然后开始一层一层构建整个开发环境
ipcam_build构建完成后, 执行
sudo docker run -it --name ipcam_build -v ~/ipcam:/home/gngshn/ipcam ipcam_build
就可以进入到本开发环境的命令行了, 同时在docker 用户目录的ipcam下挂载了宿主机上的SDK(宿主机SDK的目录在~/ipcam).
后续就可以在docker中直接编译SDK了.
在docker命令行下按Ctrl+D就退出docker了, 当需要再次进入SDK编译环境时执行
sudo docker start -ai ipcam_build
就可以了.
对于其他的嵌入式开发环境配置也是类似的. 这里就是一个简单的引导.