**
無線路由器目前已經可以做很多的功能了,相應的擴充套件資源也越來越多。其中大部分都是直接基於openwrt平台直接進行開發的。筆者之前一直介紹的都是一些協議的理論知識,目前也更新一些筆者關於sdwn(software defined wireless networking)的實現中,所總結的一些實戰類的筆記。筆者目前是採用wndr3800作為硬體平台,價效比高。
ps:由於路徑問題,一般乙個ubuntu系統只能夠安裝乙個openwrt,否則會出現路徑不匹配的問題。
第一步:安裝一些依賴包
sudo apt-get install libncurses5-dev zlib1g-dev gawk flex patch git-core g++ subversion
git clone git:
第三步:修改資料夾許可權,為了編譯方便,一般直接對原始碼資料夾賦予777的許可權
sudo chmod -r 777 openwrt
第四步:修改feeds源,用以安裝所需的package以及luci介面
gedit feeds.conf.default
開啟檔案後,注釋掉一些不需要的源,一般使用前三個源即可
第五步:更新與安裝feeds包
./scripts/feeds update –a
./scripts/feeds install –a
第六步:韌體的編譯設定,我們要設定如下內容。注意,空格鍵是選擇是否安裝模組,如果是「*」的話,那麼就是預設安裝,如果是「m」的話,那麼就是要手動載入。回車鍵是用來選擇是否進入子欄的,在配置完韌體之後,需要手動儲存後再離開。
1)target system型別為: atheros ar7xx/ar9xx
2)target profile型別為:netgear wndr3700/wndr3800/wndrmac,這裡根據路由器型號進行選擇,我們採用的路由器為wndr3800。
3)target images型別為:squashfs,其餘的選項不選
4)分別選中 ,,
5)選擇,如下圖(選擇時要注意是選擇了m還是*,因為這兩種不同的選擇方式編譯完的韌體是有不同的,這裡還是強調全部用 *,否則刷機完之後,還需要手動載入luci介面)
6)儲存退出
7)如果需要裝ovs的話,那麼需要手動取消bridge,即在make menuconfig後手動執行以下指令。
echo '#config_kernel_bridge is not set' >> .config
注意:每次 make menuconfig以後都要執行這條指令。
openwrt檔案1
openwrt檔案2
tar zvxf dl.tar.gz
解壓縮之後,可以獲得乙個名為dl的資料夾。此時需要將該資料夾與openwrt目錄下的內容進行合併,比如可以用以下指令(如果在圖形介面裡面,手動拖拽資料夾也行)
cp ./dl/* openwrt/dl/
第八步:編譯openwrt韌體。直接在openwrt根目錄下,執行以下指令即可
make v=99
編譯完的結果被儲存在目錄(openwrt/bin/ar71xx/)下,其中ar71xx路徑名與韌體配置時選擇的晶元型號有關。以本文選擇wndr3800路由器為例,最後編譯結果為
openwrt-ar71xx-generic-wndr3800-squashfs-sysupgrade.bin
將該檔案拷出後,我們可以進行最後一步的刷機操作。
**********== end
構建arm開發環境
規劃 交叉編譯器裝在 usr local kernel,bootloder放在 home volans arm 用於啟動的nfs檔案系統放在 home armnfs 準備工作 sudo mkdir home armnfs sudo chmod 777 home armnfs mkdir arm 上面...
Docker構建開發環境
以往在新的機器上構建開發環境時,往往需要安裝比較多的工具軟體,這個過程比較耗時。有人會說,那可以把這些命令固化在shell指令碼中。當然這也是乙個可行的方法。隨著docker的發展,容器與容器雲大行其道。本著熟悉docker的想法,加之docker具有簡化配置 快速部署的特點,這裡嘗試使用docke...
構建arm開發環境
規劃 交叉編譯器裝在 usr local kernel,bootloder放在 home volans arm 用於啟動的nfs檔案系統放在 home armnfs 準備工作 sudo mkdir home armnfs sudo chmod 777 home armnfs mkdir arm 上面...