開發環境構建

2022-06-19 20:15:11 字數 2608 閱讀 9829

** 

無線路由器目前已經可以做很多的功能了,相應的擴充套件資源也越來越多。其中大部分都是直接基於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 上面...