Docker 是一種新的被稱之為容器的虛擬機。本文將使用此工具,進行 OpenWRT 的編譯。
在 Docker 中下載 Ubuntu 14.04 的鏡像
使用以下命令可以十分方便的從遠程服務器上將 Ubuntu 14.04.5 版本的基本系統下載到本地:
docker pull ubuntu:14.04.5
安裝基本的編譯工具
# 首先啟動 Docker 中的 Ubuntu 14.04.5,這里以交互方式進行
# 選項 t:分配一個 tty
# 選項 i:以交互方式運行
docker run -ti ubuntu:14.04.5
# 可選操作:更改 ubuntu 的軟件源(基本系統中 apt 不支持 https 協議)
vi /etc/apt/sources.list
# 更新本地軟件源緩存,安裝必要的一些軟件
apt-get update
apt-get install git g++ make libncurses5-dev subversion libssl-dev gawk libxml-parser-perl unzip wget python xz-utils vim
# 縮減體積,刪除已經下載的安裝包
apt-get clean
保存剛剛做出的更改,另存為新的鏡像
執行以下命令:
docker ps -l
將會看到類似如下的輸出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24fb6266cd37 ubuntu:14.04.5 "/bin/bash" 11 minutes ago Exited (0) 5 seconds ago furious_noyce
使用以下命令,將 ID 號為"24fb6266cd37"的鏡像修改保存為新的鏡像,鏡像的名稱為 ubuntu/forwidora:
docker commit 24fb6266cd37 ubuntu/forwidora
使用以下命令可以查看本地所有的鏡像。
docker images
OpenWRT 編譯前的准備工作
從 github 上下載源代碼到 “/opt/embedded/MT7688/” 目錄中
git clone https://github.com/widora/openwrt_widora.git /opt/embedded//MT7688/openwrt_widora
啟動剛剛新建的容器,但是附加一個外部的掛載選項
# -v :將本地的目錄掛載到容器中作為數據卷
# 本實例中,將 host 的 /opt/embedded/MT7688 掛載到容器中的 /opt/MT7688 上
docker run -it -v /opt/embedded/MT7688:/opt/MT7688 ubuntu/forwidora
開始編譯 OpenWRT
剩下的過程,就可以完全參考 widora 項目 ReadMe 中相關的內容了。