1. 程式人生 > >使用docker來構建嵌入式開發環境

使用docker來構建嵌入式開發環境

我目前使用的一套嵌入式開發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
就可以了.
對於其他的嵌入式開發環境配置也是類似的. 這裡就是一個簡單的引導.