您現在的位置是:首頁 > 攝影首頁攝影

從零開始學習OpenWrt:刷機 + 使用 + 編譯教程

由 雲淡風輕2011 發表于 攝影2021-10-19
簡介接下來,開始嘗試利用OpenWrt實現更多智慧應用吧,比如單號多撥榨取運營商頻寬、繫結域名遠端控制、掛載大容量硬碟、搭建BT下載機、搭建網路攝像頭、SambaDLNA家庭NAS第三部分:搭建編譯環境 和 進行編譯如果你的路由器不在支援範圍

韌體編譯是什麼意思

從零開始學習OpenWrt:刷機 + 使用 + 編譯教程

從零開始學習OpenWrt:刷機 + 使用 + 編譯教程

(如果你也想試試OpenWrt,希望這篇介紹文章能

幫度

你到本文系新手入門(FLASH FIRMWARE用家)+高手入門(修改Firmware Coder),大家各取所需吧!) Cisco/Linksys在2003年釋出了WRT54G這款無線路由器,同年有人發現它的IOS是基於Linux的,然而Linux是基於GPL許可證釋出的,按照該許可證Cisco應該把WRT54G 的IOS的原始碼公開。2003年3月, Cisco迫於公眾壓力公開了WRT54G的原始碼。此後就有了一些基於Cisco原始碼的第三方路由器韌體,OpenWrt就是其中的一個。

摘要節點

OpenWrt的特點:

可擴充套件性好,可以線上安裝您所需要的功能,目前有1000多個功能包可選;

是一臺完整的Linux工作站,檔案系統可讀可寫,便於開發者學習和實踐;

現在有越來越多的Maker(也就是DIYer啦~WeMaker群組的人喜歡自稱Maker)開始折騰OpenWrt,但作為一個Maker新手來講,在網上還是很難找到一份系統的入門級資料。查詢資料很辛苦,而且OpenWrt的

門坎

相對較高(Upsangel小語:如果不做編譯調整FIRMWARE本門檻CODING,門坎還是很低的。。。),希望這篇文章所提供的從零開始學OpenWrt編譯 + 刷機 + 使用教程能降低新手們的入門難度,當然,

編譯過程非必須

,一般的路由都可找到可用的穩定韌體直接刷機

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

要在路由器上使用OpenWrt,首先要將路由器韌體重新整理為OpenWrt,即相當於OpenWrt 系統的安裝,不同型號的路由器的安裝方法可能也會不一樣,但一般常用的有三種方法:

Web上傳韌體更新 (就是平時進入管理介面韌體升級那個版面)

tFTP上傳韌體更新 (把自己的計算機設定成為tFTP伺服器)

TTL寫入韌體

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

先上openwrt official website:尋找你的Router的支援情況,如果你的型號沒有蛛絲馬跡,要不放棄,要不自行編譯(參考第三部分))如果是神州大陸的品牌,可以上openwrt。org。cn , right。com。cn,anywlan。com的論壇尋找

尋找合適的韌體:最理想的情況是官網有atitude adjustment的完整支援

尋找刷入FLASH FIRMWARE的方法:通常你到了這一步都會找到合適的刷的方法了。。。)

第二部分:開始使用OpenWrt

要對OpenWrt進行配置,一般有兩條途徑:

SSH或Telnet登入透過命令列控制 (就像DOS的打命令)

Web登入透過Web介面設定

首次安裝OpenWrt後,需要設定密碼才可以使用SSH登入,方法是使用telnet登入或者Web登入設定密碼。在Windows下面telnet和SSH登入可以使用“butty

"

,十分容易使用的,就像一個FTP軟體,連線進去就出現命令列模式:

從零開始學習OpenWrt:刷機 + 使用 + 編譯教程

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

一般指令與常見Linux發行版相同,但是OpenWrt使用自己的包管理器:opkg,使用“opkg –help”檢視幫助資訊。以下是一些常用操作命令:

opkg update //更新軟體包列表

opkg install //線上安裝軟體包

opkg remove //移除軟體包

登入Web管理介面,前提是該OpenWrt系統中要安裝了Web介面,一般是Luci,登入方式與普通路由器無異,開啟瀏覽器,輸入路由器IP即可進入登入介面,OpenWrt的預設IP是192。168。1。1。在Luci裡面操作是十分User Friendly了~

從零開始學習OpenWrt:刷機 + 使用 + 編譯教程

不能不說的是這款MW4530R,是國產的OPENWRT超價效比產品,硬體上覆制的TPLINK WDR4700,軟體上由Haxc大神領軍,流行將8M ROM硬改成16M,配置大量應用,入選小U小販的價效比之選。

到此,OpenWrt的大門已為你敞開。接下來,開始嘗試利用OpenWrt實現更多智慧應用吧,比如單號多撥榨取運營商頻寬、繫結域名遠端控制、掛載大容量硬碟、搭建BT下載機、搭建網路攝像頭、Samba/DLNA家庭NAS

第三部分:搭建編譯環境 和 進行編譯

如果你的路由器不在支援範圍之內,或者有這樣那樣的韌體你想進行編輯,不妨動手試試製作屬於自己的OpenWRT Firmware,你的目標是進入到下面這個編輯FIRMWARE的介面:

從零開始學習OpenWrt:刷機 + 使用 + 編譯教程

搭建編譯環境

1、安裝Ubuntu(編譯需要Linux環境),到其官網下載,版本根據自己所需選擇即可。可以選擇安裝到虛擬機器或者物理機,圖形化安裝而且是中文版,連安裝都搞不定的,可以關閉本頁面了; 2、切記不要改動軟體源,同時按住Ctrl + Alt + T,調出終端; 3、逐條輸入下列命令(及時驗證是否安裝成功):

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 安裝一大堆程式設計所需套件)至此編譯環境搭建完成。

下載OpenWrt原始碼並編譯

OpenWrt原始碼分兩種,一種是最新但不是最穩定的Trunk開發版,一種是最穩定的Backfire版,建議下載官方原始碼。下載前先在本地建立活頁夾:

1

2

3

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修改為feeds。conf:

cp feeds。conf。default feeds。conf

更新擴充套件,安裝擴充套件:

。/scripts/feeds update -a

。/scripts/feeds install -a

注:如果不是剛下載的原始碼,為保持程式碼為最新狀態,應定期執行svn update命令更新原始碼。 測試編譯環境:

make defconfig

到這裡就可以開始編譯自己的韌體了。進入定製介面:

make menuconfig

如果一切正常,會出現一個配置選單,可以選擇要編譯的韌體平臺(晶片型別)、型號,還能選擇韌體中要新增的功能和元件,配置好後儲存並退出選單即可。 如果你想修改原始碼,應該在此步進行,如支援大容量Flash之類的修改,自己上網查到修改什麼檔案什麼地方後,就在ubuntu圖形介面上進去找到檔案,雙擊開啟文字編輯器修改儲存。 開始編譯:

make

make V=99

make -j V=99

(make是編譯命令,V=99表示輸出debug資訊,V一定要大寫,如果要讓CPU全速編譯,就加上 -j 引數,第一次編譯最好不帶-j引數。) 編譯過程保持聯網(會從網上下載一些原始碼包),所以斷網可能造成編譯中斷,編譯所需時間與計算機CPU及網路環境有很大關係,第一次編譯時間較久,快則半小時長則2、3個小時,之後的編譯所需時間較短。編譯完成後會在原始碼檔案目錄出現bin活頁夾(如trunk/bin/XXXX),如果你手裡的路由是原版韌體需要刷OpenWrt需要選用XXX-factory。bin韌體,如果路由已經刷了OpenWrt,選用升級韌體XXXX-sysupgrade。bin升級用的,在升級介面升級即可。進到活頁夾找到你需要的韌體傳出(透過郵箱、網盤、隨身碟等),開始刷機吧。 (原文載於 author LaRiver,edited by Upsangel)