如何移植openwrt系統

Cisco/Linksys2003年發佈了WRT54G這款無線路由器,同年有人發現它的IOS是基於Linux的,然而Linux是基於GPL許可證發佈的,按照該許可證Cisco應該把WRT54GIOS的源代碼公開。20033月, Cisco迫於公衆壓力公開了WRT54G的源代碼。此後就有了一些基於Cisco源碼的第三方路由器固件,OpenWrt就是其中的一個。編程

OpenWrt的特色:ubuntu

§ 可擴展性好,能夠在線安裝您所須要的功能,目前有1000多個功能包可選;瀏覽器

§ 是一臺完整的Linux工做站,文件系統可讀可寫,便於開發者學習和實踐;服務器

如今有愈來愈多的Maker開始折騰OpenWrt,但做爲一個Maker新手來說,在網上仍是很難找到一份系統的入門級資料。查找資料很辛苦,並且OpenWrt的門檻相對較高,但願這篇文章所提供的從零開始學OpenWrt編譯 + 刷機 + 使用教程能下降新手們的入門難度,固然,編譯過程非必須,通常的路由均可找到可用的穩定固件直接刷機。網絡


第一部分:搭建編譯環境ssh

1、安裝Ubuntu(編譯須要Linux環境),到其官網下載,版本根據本身所需選擇便可。能夠選擇安裝到虛擬機或者物理機,圖形化安裝並且是中文版;編輯器

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

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 installgettext

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

      至此編譯環境搭建完成。


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

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

 

mkdir openwrt

sudo chmod777 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及網絡環境有很大關係,第一次編譯時間較久,快則半小時長則23個小時,以後的編譯所需時間較短。編譯完成後會在源碼文件目錄出現bin文件夾(如trunk/bin/XXXX),若是你手裏的路由是原版固件須要刷OpenWrt須要選用XXX-factory.bin固件,若是路由已經刷了OpenWrt,選用升級固件XXXX-sysupgrade.bin升級用的,在升級界面升級便可。進到文件夾找到你須要的固件傳出(經過郵箱、網盤、U盤等),開始刷機吧。


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

      要在路由器上使用OpenWrt,首先要將路由器固件刷新爲OpenWrt,即至關於OpenWrt系統的安裝,不一樣型號的路由器的安裝方法可能也會不同,但通常經常使用的有三種方法:

      1>Web上傳固件更新

      2>TFTP上傳固件更新

      3>編程器寫入固件

      具體型號的路由器適用於哪一種或哪幾種方法,需自行嘗試。


第四部分:開始使用OpenWrt

      要對OpenWrt進行配置,通常有兩條途徑:

      1>SSH登陸經過命令行控制

      2>Web登陸經過Web界面設置

      首次安裝OpenWrt後,須要設置密碼纔可使用SSH登陸,方法是使用telnet登陸或者Web登陸設置密碼。在Windows下面telnetSSH登陸可使用Putty,在LinuxMac下可分別使用以下命令:

 

ssh –l root 192.168.1.1//Linux

ssh root@192.168.1.1//Mac

      通常指令與常見Linux發行版相同,可是OpenWrt使用本身的包管理器:opkg,使用「opkg –help」查看幫助信息。如下是一些經常使用操做命令:

1

2

3

opkg update //更新軟件包列表

opkg install  //在線安裝軟件包

opkg remove  //移除軟件包

      登陸Web管理界面,前提是該OpenWrt系統中要安裝了Web界面,通常是Luci,登陸方式與普通路由器無異,打開瀏覽器,輸入路由器IP便可進入登陸界面,OpenWrt的默認IP192.168.1.1

      到此,OpenWrt的大門已爲你敞開。接下來,開始嘗試利用OpenWrt實現更多智能應用吧,好比單號多撥榨取運營商帶寬、綁定域名遠程控制、掛載大容量硬盤、搭建BT下載機、搭建網絡攝像頭、Samba/DLNA家庭NAS共享、私有云同步、FTP、我的網站/服務器

相關文章
相關標籤/搜索