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支持>

OpenWRT介绍的更多相关文章

  1. openwrt教程 第一章 物联网&amp;openwrt开发概述

    1.1 我们的宗旨 互联网.移动互联网的时代已经过去,物联网的时代已经来临!2014年,是物联网元年,2016年,物联网将达到高潮!为了迎接该潮流,我们工作室(F403科技创意室:http://f40 ...

  2. 安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制

    安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制 socket 连接采用流的方式进行发送接收数据,采用thread线程的方式. 什么是线程?  详细代码介 ...

  3. Alljoyn瘦客户端库介绍(官方文档翻译 下)

    由于其他事情耽误,这个翻译现在才完成.接上篇—— 4 瘦客户端核心库架构 由于AllJoyn瘦客户端核心库(AJTCL)必须运行在那些功耗受限.计算能力有限.资源紧缺的设备上,因此它无法像运行在通用型 ...

  4. Alljoyn瘦客户端库介绍(官方文档翻译)

    Alljoyn瘦客户端库介绍(上) 1.简介 本文档对AllJoynTM瘦客户端的核心库文件(AJTCL)进行了详尽的介绍.本文档介绍了系统整体架构,AllJoyn框架结构,并着重于介绍如何将嵌入式设 ...

  5. 【OpenWRT】【RT5350】【三】MakeFile文件编写规则和OpenWRT驱动开发步骤

    一.Makefile文件编写 http://www.cnblogs.com/majiangjiang/articles/3218002.html 可以看下上面的博客,总结的比较全了,在此不再复述 二. ...

  6. 【OpenWRT】【RT5350】【二】烧写OpenWrt到RT5350开发板

    烧写bin文件到开发板的方式有很多种,我采用的是通过web页面直接上传文件的方式 首先通过浏览器登陆路由器(192.168.1.1),作者的开发板已经烧好了OpenWrt并且可以通过Luci登陆,所以 ...

  7. 【OpenWRT】【RT5350】【一】OpenWrt开发环境搭建

    [宿主机构建] 本人电脑配置如下: CPU: intel 酷睿 i3 3.3G 双核 内存: 金士顿 8G 硬盘:希捷 1TB 7200rpm 操作系统:win7  旗舰版 64位 OpenWrt是在 ...

  8. CentOS_7 OpenWrt Eclipse 环境搭建与 Dr.com 开发笔记

    一:内核的编译. 1,linux 编译环境的搭建与源码的准备工作 2,常用软件的安装 (make menuconfig) 3,  针对TP-Link WR740N 一些软件的openwrt 的移植 4 ...

  9. 360路由器刷openwrt、不死uboot、双系统 、wifi中继

    该类教程网上有很多,但是很多不全,给小白用户造成了很多困扰.我也是按照网上的教程刷了半天,才熟悉了是怎么个回事.这里整理成教程. 注意: 请看教程步骤走,不要跳跃性刷机.不懂的术语.软件,若本文无介绍 ...

随机推荐

  1. Mac下安装pear库+phpDocumentor

    1. 首先安装pear: curl -o go-pear.php https://pear.php.net/go-pear.phar 看见这个就安装OK: % Total % Received % X ...

  2. [POJ3585]Accumulation Degree

    题面 \(\text{Solution:}\) 有些题目不仅让我们做树型 \(\text{dp}\) ,而且还让我们换每个根分别做一次, 然后这样就愉快的 \(\text{TLE}\) 了,所以我们要 ...

  3. Python登录小程序

    ------------------------------------------------- 主要实现功能 1.用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误 2.用 ...

  4. BZOJ 2669 CQOI2012 局部极小值 状压dp+容斥原理

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2669 题意概述:实际上原题意很简洁了我就不写了吧.... 二话不说先观察一下性质,首先棋盘 ...

  5. laravel 学习随笔(一)

    1.路由参数:路由参数总是通过花括号进行包裹,参数在路由被执行时会被传递到路由的闭包.(路由参数不能包含“-”字符,如有需要可以用“_”代替):

  6. 剑指offer:正则表达式匹配

    目录 题目 解题思路 具体代码 题目 题目链接 剑指offer:正则表达式匹配 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符.表示任意一个字符,而*表示它前面的字符可以 ...

  7. Android Studio 添加模块依赖

    原文地址: http://fanjiajia.cn/2018/09/27/Android%20Studio%20%E6%B7%BB%E5%8A%A0%E6%A8%A1%E5%9D%97%E4%BE%9 ...

  8. 个人作业4——alpha阶段个人总结1

    一.个人总结 在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程: 总体来说,这次的alpha并不是很顺利,编程是基础,如果对语言不是很熟悉的话,一个团队是很难开发出什么东 ...

  9. Java的同步容器和并发容器

    前言: 之前在介绍Java集合的时候说到,java提供的实现类很少是线程安全的.只有几个比较古老的类,比如Vector.Hashtable等是线程安全的,尤其是Hashtable,古老到连命名规范都没 ...

  10. windows服务那些事

    前一段时间由于项目需求,写了一个windows服务.下面总结如下: windows服务其实就是一些后台程序,和其他程序的主要区别是它运行于系统后台.微软公司为了方便我们自己定制我们的服务,提供了很多借 ...