电竞比分网-中国电竞赛事及体育赛事平台

分享

從零開始學(xué)習(xí)OpenWrt:刷機(jī) + 使用 + 編譯教程 | by Upsangel

 dwlinux_gs 2015-03-23

(如果你也想試試OpenWrt,希望這篇介紹文章能幫度你。本文係新手入門(FLASH FIRMWARE用家)+高手入門(修改Firmware Coder),大家各取所需吧!) Cisco/Linksys在2003年發(fā)布了WRT54G這款無線路由器,同年有人發(fā)現(xiàn)它的IOS是基於Linux的,然而Linux是基於GPL許可證發(fā)布的,按照該許可證Cisco應(yīng)該把WRT54G 的IOS的源代碼公開。2003年3月, Cisco迫於公眾壓力公開了WRT54G的源代碼。此後就有了一些基於Cisco源碼的第三方路由器固件,OpenWrt就是其中的一個(gè)。 openwrt-logo

OpenWrt的特點(diǎn):

  • 可擴(kuò)展性好,可以在線安裝您所需要的功能,目前有1000多個(gè)功能包可選;
  • 是一臺(tái)完整的Linux工作站,文件系統(tǒng)可讀可寫,便於開發(fā)者學(xué)習(xí)和實(shí)踐;

現(xiàn)在有越來越多的Maker(也就是DIYer啦~WeMaker群組的人喜歡自稱Maker)開始折騰OpenWrt,但作為一個(gè)Maker新手來講,在網(wǎng)上還是很難找到一份系統(tǒng)的入門級(jí)資料。查找資料很辛苦,而且OpenWrt的門檻相對(duì)較高(Upsangel小語:如果不做編譯調(diào)整FIRMWARE本身的CODING,門檻還是很低的。。。),希望這篇文章所提供的從零開始學(xué)OpenWrt編譯 + 刷機(jī) + 使用教程能降低新手們的入門難度,當(dāng)然,編譯過程非必須,一般的路由都可找到可用的穩(wěn)定固件直接刷機(jī)(如果能找到已經(jīng)成熟的FIRMWARE的話,這也是選擇Openwrt路由器的考慮因素之一)。

第一部分:將OpenWrt刷入路由器

要在路由器上使用OpenWrt,首先要將路由器固件刷新為OpenWrt,即相當(dāng)於OpenWrt 系統(tǒng)的安裝,不同型號(hào)的路由器的安裝方法可能也會(huì)不一樣,但一般常用的有三種方法:

  • Web上傳固件更新 (就是平時(shí)進(jìn)入管理界面固件升級(jí)那個(gè)版面)
  • tFTP上傳固件更新 (把自己的電腦設(shè)置成為tFTP服務(wù)器)
  • TTL寫入固件

具體型號(hào)的路由器適用於哪種或哪幾種方法,需自行嘗試 (Upsangel小語:千萬不要自行嘗試!亂來的FLASH很有機(jī)會(huì)把路由變磚,正確的方法如下:

  • 先上openwrt official website: 尋找你的Router的支援情況,如果你的型號(hào)沒有蛛絲馬跡,要不放棄,要不自行編譯(參考第三部分))如果是神州大陸的品牌,可以上.cn , right.com.cn,anywlan.com的論壇尋找
  • 尋找合適的固件:最理想的情況是官網(wǎng)有atitude adjustment的完整支援(例子,Buffalo WZR-HP-G300NH2 / WZR-300HP 的B0A0或更早的版本,本站的所有OpenWRT應(yīng)用貼都是基於這個(gè)ROUTER寫的)
  • 尋找刷入FLASH FIRMWARE的方法:通常你到了這一步都會(huì)找到合適的刷的方法了。。。)

第二部分:開始使用OpenWrt

要對(duì)OpenWrt進(jìn)行配置,一般有兩條途徑:

  • SSH或Telnet登錄通過命令行控制 (就像DOS的打命令)
  • Web登錄通過Web界面設(shè)置

首次安裝OpenWrt後,需要設(shè)置密碼才可以使用SSH登錄,方法是使用telnet登錄或者Web登錄設(shè)置密碼。在Windows下面telnet和SSH登錄可以使用Putty,十分容易使用的,就像一個(gè)FTP軟件,連接進(jìn)去就出現(xiàn)命令行模式:

openwrt-ssh[1]

這是MW4530R刷入Haxc 大神的固件的SSH截圖,如果沒有用過命令行就不算用過Openwrt了

一般指令與常見Linux發(fā)行版相同,但是OpenWrt使用自己的包管理器:opkg,使用“opkg –help”查看幫助信息。以下是一些常用操作命令:

  • opkg update //更新軟件包列表
  • opkg install //在線安裝軟件包
  • opkg remove //移除軟件包 (更多安裝、配置、卸載Optware套件的方法請(qǐng)參考這篇文章

登錄Web管理界面,前提是該OpenWrt系統(tǒng)中要安裝了Web界面,一般是Luci,登錄方式與普通路由器無異,打開瀏覽器,輸入路由器IP即可進(jìn)入登錄界面,OpenWrt的默認(rèn)IP是192.168.1.1。在Luci裡面操作是十分User Friendly了~

openwrt-web[1]

不能不說的是這款MW4530R,是國產(chǎn)的OPENWRT超性價(jià)比產(chǎn)品,硬件上複製的TPLINK WDR4700,軟件上由Haxc大神領(lǐng)軍,流行將8M ROM硬改成16M,配置大量應(yīng)用,入選小U小販的性價(jià)比之選。

到此,OpenWrt的大門已為你敞開。接下來,開始嘗試?yán)肙penWrt實(shí)現(xiàn)更多智能應(yīng)用吧,比如單號(hào)多撥榨取運(yùn)營商帶寬、綁定域名遠(yuǎn)程控制、掛載大容量硬盤、搭建BT下載機(jī)、搭建網(wǎng)絡(luò)攝像頭、Samba/DLNA家庭NAS共享、私有雲(yún)同步、FTP、個(gè)人網(wǎng)站/服務(wù)器… 請(qǐng)參考:OpenWRT, DD-WRT資源彙總索引 – http://www./forum/viewthread.php?tid=2025967&extra=page%3D1

第三部分:搭建編譯環(huán)境 和 進(jìn)行編譯

如果你的路由器不在支持範(fàn)圍之內(nèi),或者有這樣那樣的固件你想進(jìn)行編輯,不妨動(dòng)手試試製作屬於自己的OpenWRT Firmware,你的目標(biāo)是進(jìn)入到下面這個(gè)編輯FIRMWARE的界面: openwrt-make[1]

搭建編譯環(huán)境

1、安裝Ubuntu(編譯需要Linux環(huán)境),到其官網(wǎng)下載,版本根據(jù)自己所需選擇即可??梢赃x擇安裝到虛擬機(jī)或者物理機(jī),圖形化安裝而且是中文版,連安裝都搞不定的,可以關(guān)閉本頁面了; 2、切記不要改動(dòng)軟件源,同時(shí)按住Ctrl + Alt + T,調(diào)出終端; 3、逐條輸入下列命令(及時(shí)驗(yàn)證是否安裝成功):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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

(Upsangel小語:apt-get install 安裝一大堆編程所需套件)至此編譯環(huán)境搭建完成。

下載OpenWrt源碼並編譯

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

1
2
3
mkdir openwrt
sudo chmod 777 openwrt
cd openwrt

選擇你想要的版本然後執(zhí)行下載命令,下載結(jié)束會(huì)顯示版本號(hào): Trunk版下載命令:svn co svn://svn./openwrt/trunk/ Backfire版下載命令:svn co svn://svn./openwrt/branches/backfire/ 添加軟件擴(kuò)展包,將feeds.conf.default修改為feeds.conf:cp feeds.conf.default feeds.conf 更新擴(kuò)展,安裝擴(kuò)展:

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

注:如果不是剛下載的源碼,為保持代碼為最新狀態(tài),應(yīng)定期運(yùn)行svn update命令更新源碼。 測試編譯環(huán)境:make defconfig 到這裡就可以開始編譯自己的固件了。進(jìn)入定制界面:make menuconfig 如果一切正常,會(huì)出現(xiàn)一個(gè)配置菜單,可以選擇要編譯的固件平臺(tái)(芯片類型)、型號(hào),還能選擇固件中要添加的功能和組件,配置好後保存並退出菜單即可。 如果你想修改源碼,應(yīng)該在此步進(jìn)行,如支持大容量Flash之類的修改,自己上網(wǎng)查到修改什麼文件什麼地方後,就在ubuntu圖形界面上進(jìn)去找到文件,雙擊打開文本編輯器修改保存。 開始編譯:

  • make
  • make V=99
  • make -j V=99

(make是編譯命令,V=99表示輸出debug信息,V一定要大寫,如果要讓CPU全速編譯,就加上 -j 參數(shù),第一次編譯最好不帶-j參數(shù)。) 編譯過程保持聯(lián)網(wǎng)(會(huì)從網(wǎng)上下載一些源碼包),所以斷網(wǎng)可能造成編譯中斷,編譯所需時(shí)間與電腦CPU及網(wǎng)絡(luò)環(huán)境有很大關(guān)系,第一次編譯時(shí)間較久,快則半小時(shí)長則2、3個(gè)小時(shí),之後的編譯所需時(shí)間較短。編譯完成後會(huì)在源碼文件目錄出現(xiàn)bin文件夾(如trunk/bin/XXXX),如果你手裡的路由是原版固件需要刷OpenWrt需要選用XXX-factory.bin固件,如果路由已經(jīng)刷了OpenWrt,選用升級(jí)固件XXXX-sysupgrade.bin升級(jí)用的,在升級(jí)界面升級(jí)即可。進(jìn)到文件夾找到你需要的固件傳出(通過郵箱、網(wǎng)盤、U盤等),開始刷機(jī)吧。   (原文載于  , author LaRiver,edited by Upsangel)

後記:自從Upsangel的路由器技術(shù)文章被WeMaker.cc轉(zhuǎn)載後(我加入了WeMaker創(chuàng)客群體, 讓自由的資訊傳到簡體中文的網(wǎng)域)大陸的網(wǎng)絡(luò)就開始轉(zhuǎn)載WeMaker上我的文章,哭笑不得的是那些多次轉(zhuǎn)載站都不會(huì)寫這是從Upsangel.com轉(zhuǎn)載過來的,怪不得做設(shè)計(jì)搞創(chuàng)意的人都說大陸是個(gè)沒有知識(shí)版權(quán)的國度。Upsangel本來也想嘗嘗Copy and Paste從WeMaker.cc轉(zhuǎn)一些有用的文章回來,但是最后發(fā)現(xiàn)還是需要自己做二次加工才合口味。有多少投入就有多少回報(bào),做單純的Copycat真的沒意思!

您的分享係對(duì)我最大的支持

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多