zoukankan      html  css  js  c++  java
  • OpenWRT介绍

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

  • 相关阅读:
    Java学习笔记21---内部类之对成员内部类的补充说明(二)(修正)
    Java学习笔记20---内部类之对成员内部类的补充说明(一)
    Java学习笔记19---内部类之简介成员内部类、局部内部类及匿名内部类
    Java学习笔记18---final关键字修饰变量、方法及类
    Java学习笔记17---成员方法的重载与重写
    Java学习笔记16---抽象类与接口的浅显理解
    Java学习笔记15---instanceof与向下转型
    把大端、小端与堆、栈的生长方向联系起来记忆
    2020综合实践—第7次实践作业 03组
    2020综合实践 第6次实践作业 03组
  • 原文地址:https://www.cnblogs.com/hzl6255/p/7655389.html
Copyright © 2011-2022 走看看