openwrt固件如何編譯

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

成都創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元久治做網(wǎng)站,已為上家服務(wù),為久治各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

第一部分:搭建至此編譯環(huán)境

1、安裝Ubuntu(編譯需要Linux環(huán)境),到其官網(wǎng)下載,版本根據(jù)自己所需選擇即可??梢赃x擇安裝到虛擬機(jī)或者物理機(jī),圖形化安裝而且是中文版,連安裝都搞不定的,可以關(guān)閉本頁(yè)面了;

2、切記不要改動(dòng)軟件源,同時(shí)按住Ctrl + Alt + T,調(diào)出終端;

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

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

至此編譯環(huán)境搭建完成。

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

OpenWrt源碼分兩種,一種是最新但不是最穩(wěn)定的Trunk開(kāi)發(fā)版,一種是最穩(wěn)定的Backfire版,建議下載官方源碼。下載前先在本地創(chuàng)建文件夾:

mkdir openwrt
sudo chmod 777 openwrt
cd openwrt

選擇你想要的版本然后執(zhí)行下載命令,下載結(jié)束會(huì)顯示版本號(hào):

Trunk版下載命令:

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

Backfire版下載命令:

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

更新擴(kuò)展,安裝擴(kuò)展:

注:根據(jù)教程一步步走下來(lái)都是順利通過(guò),但是走到下面更新擴(kuò)展的時(shí)候,出現(xiàn)了問(wèn)題。有部分的軟件更新不了,我也找了很多其他教程,其他教程都跟這個(gè)教程大同小異。我看了feeds.conf.default這個(gè)配置文件,發(fā)現(xiàn)更新拓展的SVN鏈接有g(shù)oogle的地址,我個(gè)人猜測(cè)鏈接被屏閉了,導(dǎo)致這一步報(bào)錯(cuò)。

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

注:如果不是剛下載的源碼,為保持代碼為最新?tīng)顟B(tài),應(yīng)定期運(yùn)行svn update命令更新源碼。

測(cè)試編譯環(huán)境:
 

make defconfig
make prereq

到這里就可以開(kāi)始編譯自己的固件了。進(jìn)入定制界面:

make menuconfig

編譯選項(xiàng):

根據(jù)路由器情況,選擇 Target System 和 Subtarget。如意云一代和極壹S的 Target System 均為 Ralink RT288x/RT3xxx 。對(duì)于Subtarget ,前者為 MT7620n based boards ,后者為 MT7620a based boards。其他選項(xiàng)根據(jù)個(gè)人喜好選擇。一般來(lái)說(shuō)要選中LuCI界面,選中中文語(yǔ)言包等等。

開(kāi)始編譯:

執(zhí)行export FORCE_UNSAFE_CONFIGURE=1 && make -j3 V=s 進(jìn)行編譯。-j后面的數(shù)字是電腦物理CPU數(shù)量加一。V=s可以顯示出編譯的詳細(xì)信息。首次編譯大概需要幾個(gè)小時(shí)的時(shí)間,編譯時(shí)一定要聯(lián)網(wǎng)。

錯(cuò)誤排查:

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

編譯成功,但沒(méi)有生成固件。這種情況一般是因?yàn)檫x中的軟件包過(guò)多,導(dǎo)致固件大小超過(guò)16MB。重新執(zhí)行 make menuconfig,去掉一些軟件包,重新執(zhí)行編譯即可。得到固件。在排除了所有錯(cuò)誤后,現(xiàn)在終于得到了固件。對(duì)于如意云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


 


 

      以上是網(wǎng)上的教程,其實(shí)教程大多數(shù)都是正確,就是更新擴(kuò)展這一步過(guò)不去,后來(lái)我在openwrt的官網(wǎng)發(fā)現(xiàn)他們提供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

再執(zhí)行更新擴(kuò)展,安裝擴(kuò)展:

注:在github下載源碼的feeds.conf.default里面的更新擴(kuò)展鏈接已經(jīng)沒(méi)有指向google,基本都是指向github,所以更新擴(kuò)展這一步也能順利執(zhí)行了

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

以上是“openwrt固件如何編譯”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:openwrt固件如何編譯
本文鏈接:http://muchs.cn/article44/gphehe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站內(nèi)鏈、App開(kāi)發(fā)關(guān)鍵詞優(yōu)化、網(wǎng)站策劃、定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管