1. 程式人生 > >從零開始學習Openwrt教程

從零開始學習Openwrt教程

Openwrt教程
本文參考
https://openwrt.org openwrt官方網站
http://blog.csdn.net/fyh2003/article/details/44564219
http://www.openwrtdl.com/wordpress/openwrt-full-tutorial
https://blog.csdn.net/KOBE_ZERO/article/details/51306204
轉載請轉明出處!!!!

Openwrt特點
可擴充套件性好,可以線上安裝您所需要的功能,目前有1000多個功能包可選
是一臺完整的Linux工作站,檔案系統可讀可寫,便於開發者學習和實踐
現在有很多人開始折騰openwrt,作為新手很難去找到一份系統的入門資料,在這裡我整理一下自己在學習openwrt的時候所遇到的問題,跟大家分享下,開始我們的openwrt學習之路
第一部分:搭建編譯環境
安裝Ubuntu(編譯需要Linux環境),到其官網下載,版本根據自己所需選擇即可。我選擇的是安裝在虛擬機器裡,在這裡就不陳述安裝的過程了,我想大家應該都知道。

安裝完成後開啟終端。

逐條輸入下列命令(及時驗證是否安裝成功):

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

至此編譯環境搭建完成。

第二部分:下載OpenWrt原始碼並編譯
(1)OpenWrt原始碼分為兩種,一種是trunk版,一種是backfire版。
Trunk版下載命令:(由於現在openwrt用git來管理程式碼,所以這裡就不說明svn的下載地址了)
15.05 branch(Chaos Calmer)

git clone git://git.openwrt.org/15.05/openwrt.git

14.07 branch(Barrier Breaker)

git clone git://git.openwrt.org/14.07/openwrt.git

12.09 branch(Attitude Adjustment)

git clone git://git.openwrt.org/12.09/openwrt.git

12.09的軟體包更新地址

git clone git://git.openwrt.org/12.09/packages.git

Backfire下載命令:

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

選擇好自己想要的版本,等待下載。

(2)更新擴充套件,安裝擴充套件

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

(3)進入定製介面

make menuconfig

make作為trunk版本的編譯命令,只能在trunk目錄執行,進入配置選單介面,鍵盤上下是移動游標,左右是選擇底部按鍵,回車是確認,空格是設定選擇模式,選項最前面的選擇模式有[*]表示編譯進韌體,[M]表示編譯成安裝包,[ ]表示不選擇,esc是返回上級選單,按?是幫助,按/是搜尋。
搜尋結果說明:Symbol: PACKAGE_l7-protocols [=Y]
——包的名字,以及有被選中 Dedfined at tmp/.config-package.in:14725——表示這個包概況
PACKAGE_iptables-mod-filter [=Y]
——被依賴的這個包有選中
Location:——指明l7-protocols這包在menuconfig的介面的哪層選單中,方便查詢
-> Network
-> Firewall
Selects: \——可以附帶選擇哪幾個包
Selected by: \——同時選擇以下幾個包,那l7-protocols會被自動一起選中
如果一切正常,會出現一個配置選單,可以選擇要編譯的韌體平臺(晶片型別)、型號,還能選擇韌體中要新增的功能和元件,配置好後儲存並退出選單即可(在這裡我選擇的平臺是Ralink RT288x/RT3xxx,型號是7620a)
這裡寫圖片描述

當然,還要安裝luci以及語言支援

LUCI—>Collections—>luci

在這裡插入圖片描述
LUCI—>Translations—>luci-i18n-chinese
這裡寫圖片描述

這樣就選好了luci以及中文支援,記得在最後選擇yes儲存。

(4)開始編譯
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升級用的,在升級介面升級即可。進到資料夾找到你需要的韌體傳出(通過郵箱、網盤、U盤等),開始刷機吧。

第三部分:開始使用Openwrt
要對OpenWrt進行配置,一般有兩條途徑:
SSH登入通過命令列控制
Web登入通過Web介面設定

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

在這裡說下Web登陸設定密碼,由於Openwrt預設閘道器是192.168.1.1,所以開啟瀏覽器,輸入192.168.1.1,進入luci,剛開始是不需要密碼就可以直接登陸的。
這裡寫圖片描述

進入此選項之後設定自己的登陸密碼,在System中設定中文支援。
這裡寫圖片描述

設定好之後儲存並運用。

接下來用ssh登陸
這裡我用的是xshell,設定好主機名和埠號

這裡寫圖片描述

然後接下來填寫使用者名稱和密碼

這裡寫圖片描述

OK!現在可以直接用ssh登陸了!!

這裡寫圖片描述

一般指令與常見Linux發行版相同,但是OpenWrt使用自己的包管理器:opkg,使用“opkg –help”檢視幫助資訊。以下是一些常用操作命令:
opkg update //更新軟體包列表
opkg install //線上安裝軟體包
opkg remove //移除軟體包

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