中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

openwrt固件如何編譯

發布時間:2021-12-18 11:27:26 來源:億速云 閱讀:1536 作者:小新 欄目:互聯網科技

這篇文章主要為大家展示了“openwrt固件如何編譯”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“openwrt固件如何編譯”這篇文章吧。

第一部分:搭建至此編譯環境

1、安裝Ubuntu(編譯需要Linux環境),到其官網下載,版本根據自己所需選擇即可。可以選擇安裝到虛擬機或者物理機,圖形化安裝而且是中文版,連安裝都搞不定的,可以關閉本頁面了;

2、切記不要改動軟件源,同時按住Ctrl + Alt + T,調出終端;

3、逐條輸入下列命令(及時驗證是否安裝成功):

sudo apt-get install g++
sudo apt-get install libncurses5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install unzip
sudo apt-get install autoconf
sudo apt-get install gawk
sudo apt-get install make
sudo apt-get install gettext
sudo apt-get install gcc
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install libz-dev
sudo apt-get install asciidoc
sudo apt-get install subversion
sudo apt-get install sphinxsearch
sudo apt-get install libtool
sudo apt-get install sphinx-common
sudo apt-get install libssl-dev
sudo apt-get install libssl0.9.8

至此編譯環境搭建完成。

第二部分:下載OpenWrt源碼并編譯

OpenWrt源碼分兩種,一種是最新但不是最穩定的Trunk開發版,一種是最穩定的Backfire版,建議下載官方源碼。下載前先在本地創建文件夾:

mkdir openwrt
sudo chmod 777 openwrt
cd openwrt

選擇你想要的版本然后執行下載命令,下載結束會顯示版本號:

Trunk版下載命令:

svn co svn://svn.openwrt.org/openwrt/trunk/

Backfire版下載命令:

svn co svn://svn.openwrt.org/openwrt/branches/backfire/

更新擴展,安裝擴展:

注:根據教程一步步走下來都是順利通過,但是走到下面更新擴展的時候,出現了問題。有部分的軟件更新不了,我也找了很多其他教程,其他教程都跟這個教程大同小異。我看了feeds.conf.default這個配置文件,發現更新拓展的SVN鏈接有google的地址,我個人猜測鏈接被屏閉了,導致這一步報錯。

./scripts/feeds update -a
./scripts/feeds install -a

注:如果不是剛下載的源碼,為保持代碼為最新狀態,應定期運行svn update命令更新源碼。

測試編譯環境:
 

make defconfig
make prereq

到這里就可以開始編譯自己的固件了。進入定制界面:

make menuconfig

編譯選項:

根據路由器情況,選擇 Target System 和 Subtarget。如意云一代和極壹S的 Target System 均為 Ralink RT288x/RT3xxx 。對于Subtarget ,前者為 MT7620n based boards ,后者為 MT7620a based boards。其他選項根據個人喜好選擇。一般來說要選中LuCI界面,選中中文語言包等等。

開始編譯:

執行export FORCE_UNSAFE_CONFIGURE=1 && make -j3 V=s 進行編譯。-j后面的數字是電腦物理CPU數量加一。V=s可以顯示出編譯的詳細信息。首次編譯大概需要幾個小時的時間,編譯時一定要聯網。

錯誤排查:

編譯失敗,一般有兩種情況:
1.代碼下載鏈接失效。首次編譯時,編譯程序會實時從網上下載一些軟件包的代碼。如果下載鏈接失效,編譯就會失敗。這時需要根據軟件包的名稱,從網上自行下載,然后放在 openwrt/dl/ 目錄下,執行 export FORCE_UNSAFE_CONFIGURE=1 && make -j3 V=s繼續編譯即可。
2.軟件包自身有問題。這時重新執行 make menuconfig ,取消對應軟件包選中即可。這種情況比較少見,目前已知的有 tor 等。

編譯成功,但沒有生成固件。這種情況一般是因為選中的軟件包過多,導致固件大小超過16MB。重新執行 make menuconfig,去掉一些軟件包,重新執行編譯即可。得到固件。在排除了所有錯誤后,現在終于得到了固件。對于如意云RY-1,固件在 openwrt/bin/ramips 目錄下,形如
openwrt-ramips-mt7620n-rt-n14u-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-mlw221-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wr8305rt-squashfs-sysupgrade.bin


 


 

      以上是網上的教程,其實教程大多數都是正確,就是更新擴展這一步過不去,后來我在openwrt的官網發現他們提供github下載源碼,我把SVN下載源碼換成的git下載:

安裝git軟件包:

sudo apt-get update
sudo apt-get install git-core build-essential

獲取openwrt源碼:

git clone git://git.openwrt.org/openwrt.git

再執行更新擴展,安裝擴展:

注:在github下載源碼的feeds.conf.default里面的更新擴展鏈接已經沒有指向google,基本都是指向github,所以更新擴展這一步也能順利執行了

./scripts/feeds update -a
./scripts/feeds install -a

以上是“openwrt固件如何編譯”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湟源县| 尚义县| 孝感市| 兰溪市| 六安市| 建平县| 吴忠市| 阳春市| 海伦市| 武强县| 乌兰县| 霍山县| 临洮县| 海盐县| 独山县| 邵阳市| 喀什市| 崇义县| 盐源县| 望江县| 安阳县| 静海县| 玉山县| 江西省| 孟津县| 吴旗县| 乌恰县| 贵德县| 慈利县| 浙江省| 安丘市| 五华县| 文安县| 米脂县| 资源县| 通城县| 赤城县| 马关县| 孟津县| 连南| 宿州市|