OpenWRT介绍
1. 介绍
OpenWRT是一款第三方路由器固件, 其特别在于开放性, 如它的文件系统可写, 用户可在路由器上安装需要的第三方软件.
通过刷入OpenWRT, 我们可以完成如下事情
- DLNA共享 - 私有NAS/私有云存储(Seafile) - ShadowSockFQ - 远程下载(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支持>