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. django中判断当前user具有是否有对模块的增删改查权限

    首先简单了解一下user的一些属性 User对象 User对象是认证系统的核心.用户对象通常用来代表网站的用户,并支持例如访问控制.注册用户.关联创建者和内容等.在Django认证框架中只有一个用户类 ...

  2. 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块

    孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...

  3. 安装 Win10 & Ubuntu 16.04 双系统以及 Ubuntu 配置深度学习环境记录

    0. 前言 坑爹的Ubuntu晚上运行还是好好的,第二天中午的时候打开机器发现屏幕分辨率不正常了:2K屏显示800*600左右的分辨率(无法调节),一个图标一拳头大,窗口和网页显示不全.Google查 ...

  4. POJ 2168 Joke with Turtles(DP)

    Description There is a famous joke-riddle for children: Three turtles are crawling along a road. One ...

  5. 《Effective STL》学习笔记

    http://www.cnblogs.com/arthurliu/archive/2011/08/07/2108386.html 作者:咆哮的马甲 出处:http://www.cnblogs.com/ ...

  6. 2017Nowcoder Girl初赛重现赛

    https://ac.nowcoder.com/acm/contest/315#question A.平方数 代码: #include <bits/stdc++.h> using name ...

  7. Java Integer比较

    今天看微信做了一个选择题,对Integer比较结果有点意外,题目如下: public static void main(String[] args) { Integer a = 1; Integer ...

  8. git查看和操作commit命令

    git reflog 显示所有branch的commit,包括commit和reset,以及已删除的commit.而git log只显示当前branch的commit,不包括已删除的commit gi ...

  9. Ubuntu下安装LNMP之php7的安装并配置Nginx支持php及卸载php

    据了解,php7是比之前的版本性能快很多的.http://php.net/get/php-7.2.2.tar.gz/from/a/mirror 安装前也可提前将相关依赖库安装好,或者在安装php时若安 ...

  10. linux内存条排查

    已发现2个内存错误,应用名称(kernel:),日志内容(hangzhou-jishuan-DDS0248 kernel: sbridge: HANDLING MCE MEMORY ERROR han ...