這篇文章主要為大家展示了“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)