1. 介紹
OpenWRT是一款第三方路由器固件, 其特別在於開放性, 如它的文件系統可寫, 用戶可在路由器上安裝需要的第三方軟件.
通過刷入OpenWRT, 我們可以完成如下事情
- DLNA共享 - 私有NAS/私有雲存儲(Seafile) - ShadowSock翻牆 - 遠程下載(transmission/transmission-web) …
2. 設備選購
由於OpenWRT並非支持所有的路由器, 所以我們需要進行選擇<Table of Hardware>中選擇中意而且可購買到的設備
以下是在一些高性能的路由器
- Mercury MW4530R V1 - Netgear R7000(支持有限) - Netgear R6300 v2(支持有限) - TP-Link TL-WDR4310
3. 開發環境
除了直接使用固件, 比較常見的玩法是定制固件, 比如說你可能對某些功能不滿意
如此一來就需要搭建OpenWRT開發環境
筆者使用的是CentOS7, 目前了解到需要安裝如下軟件
# yum install ncurses ncurses-base ncurses-libs gcc-c++
4. 源碼下載
OpenWRT的源碼在網上有多種獲取方式
- OpenWRT Mirror
- OpenWRT Official
- OpenWRT on Github
下面介紹的是從github下載源碼的方式
/* 主分支 */
$ git clone git://github.com/openwrt/openwrt.git
/* 15.05: Chaos Calmer */
$ git clone -b chaos_calmer git://github.com/openwrt/openwrt.git
/* 14.07 Barrier Breaker */
$ git clone -b barrier_breaker git://github.com/openwrt/openwrt.git
下載之后更新軟件包
$ ./scripts/feeds update –a
$ ./scripts/feeds install -a
5. 配置編譯
首先生成默認配置文件
$ make defconfig
這里我們以NETGEAR WNDR4300 v1為例
$ make menuconfig
首先在Subtarget項中選擇Generic devices with NAND flash
隨后在Target Profile中選擇WNDR4300, 然后進行一些其他配置
最后就是編譯
$ make or make V=99
or
$ make -j V=99
6. 刷入固件
編譯完成后會在源碼目錄出現bin文件夾
如果你手里的路由是原版固件: 刷機選用xxx-factory.bin固件
如果路由已經刷了OpenWrt: 升級界面刷入升級固件xxx-sysupgrade.bin
不同設備廠商首次刷入OpenWRT的方式不盡相同, 需要參考具體設備
7. 使用管理
首次使用需要進入Web界面或者telnet登錄設備后設置root密碼
其web界面一般是LUCI, 地址為192.168.1.1
正確配置之后可以使用SSH登錄進行管理
8. 包管理器
OpenWrt的包管理器是opkg
常用命令如下
# opkg update
# opkg install
# opkg remove
參考:
<OpenWrt>
<OpenWrt Cn>
<OpenWrt Dev>
<Developer Guide>
<OpenWrt Forums>
<Netgear Open Source>
<向openwrt源碼添加水星MW4530R支持>
