wr800n刷openwrt详细篇(路由器如何刷入openwrt)

从零开始学习OpenWrt:刷机 + 使用 + 编译教程

无线路由器-网关-dtu

(如果你也想试试OpenWrt,希望这篇介绍文章能帮度你到本文系新手入门(FLASH FIRMWARE用家)+高手入门(修改Firmware Coder),大家各取所需吧!) Cisco/Linksys在2003年发布了WRT54G这款无线路由器,同年有人发现它的IOS是基于Linux的,然而Linux是基于GPL许可证发布的,按照该许可证Cisco应该把WRT54G 的IOS的源代码公开。2003年3月, Cisco迫于公众压力公开了WRT54G的源代码。此后就有了一些基于Cisco源码的第三方路由器固件,OpenWrt就是其中的一个。

摘要节点

OpenWrt的特点:

  • 可扩展性好,可以在线安装您所需要的功能,目前有1000多个功能包可选;
  • 是一台完整的Linux工作站,文件系统可读可写,便于开发者学习和实践;

现在有越来越多的Maker(也就是DIYer啦~WeMaker群组的人喜欢自称Maker)开始折腾OpenWrt,但作为一个Maker新手来讲,在网上还是很难找到一份系统的入门级数据。查找数据很辛苦,而且OpenWrt的门坎相对较高(Upsangel小语:如果不做编译调整FIRMWARE本门槛CODING,门坎还是很低的。。。),希望这篇文章所提供的从零开始学OpenWrt编译 + 刷机 + 使用教程能降低新手们的入门难度,当然,编译过程非必须,一般的路由都可找到可用的稳定固件直接刷机

第一部分:将OpenWrt刷入路由器

要在路由器上使用OpenWrt,首先要将路由器固件刷新为OpenWrt,即相当于OpenWrt 系统的安装,不同型号的路由器的安装方法可能也会不一样,但一般常用的有三种方法:

  • Web上传固件更新 (就是平时进入管理界面固件升级那个版面)
  • tFTP上传固件更新 (把自己的计算机设置成为tFTP服务器)
  • TTL写入固件

具体型号的路由器适用于哪种或哪几种方法,需自行尝试 (Upsangel小语:千万不要自行尝试!乱来的FLASH很有机会把路由变砖,正确的方法如下:

  • 先上openwrt official website:寻找你的Router的支持情况,如果你的型号没有蛛丝马迹,要不放弃,要不自行编译(参考第三部分))如果是神州大陆的品牌,可以上openwrt.org.cn , right.com.cn,anywlan.com的论坛寻找
  • 寻找合适的固件:最理想的情况是官网有atitude adjustment的完整支持
  • 寻找刷入FLASH FIRMWARE的方法:通常你到了这一步都会找到合适的刷的方法了。。。)

第二部分:开始使用OpenWrt

要对OpenWrt进行配置,一般有两条途径:

  • SSH或Telnet登录通过命令行控制 (就像DOS的打命令)
  • Web登录通过Web界面设置

首次安装OpenWrt后,需要设置密码才可以使用SSH登录,方法是使用telnet登录或者Web登录设置密码。在Windows下面telnet和SSH登录可以使用”butty,十分容易使用的,就像一个FTP软件,连接进去就出现命令行模式:

无线路由器-网关-dtu

这是MW4530R刷入Haxc 大神的固件的SSH截图,如果没有用过命令行就不算用过Openwrt了

一般指令与常见Linux发行版相同,但是OpenWrt使用自己的包管理器:opkg,使用“opkg –help”查看帮助信息。以下是一些常用操作命令:

  • opkg update //更新软件包列表
  • opkg install //在线安装软件包
  • opkg remove //移除软件包

登录Web管理界面,前提是该OpenWrt系统中要安装了Web界面,一般是Luci,登录方式与普通路由器无异,打开浏览器,输入路由器IP即可进入登录界面,OpenWrt的默认IP是192.168.1.1。在Luci里面操作是十分User Friendly了~

无线路由器-网关-dtu

不能不说的是这款MW4530R,是国产的OPENWRT超性价比产品,硬件上复制的TPLINK WDR4700,软件上由Haxc大神领军,流行将8M ROM硬改成16M,配置大量应用,入选小U小贩的性价比之选。

到此,OpenWrt的大门已为你敞开。接下来,开始尝试利用OpenWrt实现更多智能应用吧,比如单号多拨榨取运营商带宽、绑定域名远程控制、挂载大容量硬盘、搭建BT下载机、搭建网络摄像头、Samba/DLNA家庭NAS

第三部分:搭建编译环境 和 进行编译

如果你的路由器不在支持范围之内,或者有这样那样的固件你想进行编辑,不妨动手试试制作属于自己的OpenWRT Firmware,你的目标是进入到下面这个编辑FIRMWARE的界面:

无线路由器-网关-dtu

搭建编译环境

1、安装Ubuntu(编译需要Linux环境),到其官网下载,版本根据自己所需选择即可。可以选择安装到虚拟机或者物理机,图形化安装而且是中文版,连安装都搞不定的,可以关闭本页面了; 2、切记不要改动软件源,同时按住Ctrl + Alt + T,调出终端; 3、逐条输入下列命令(及时验证是否安装成功):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

sudo aptget install g++

sudo aptget install libncurses5dev

sudo aptget install zlib1gdev

sudo aptget install bison

sudo aptget install flex

sudo aptget install unzip

sudo aptget install autoconf

sudo aptget install gawk

sudo aptget install make

sudo aptget install gettext

sudo aptget install gcc

sudo aptget install binutils

sudo aptget install patch

sudo aptget install bzip2

sudo aptget install libzdev

sudo aptget install asciidoc

sudo aptget install subversion

sudo aptget install sphinxsearch

sudo aptget install libtool

sudo aptget install sphinxcommon

(Upsangel小语:apt-get install 安装一大堆编程所需套件)至此编译环境搭建完成。

下载OpenWrt源码并编译

OpenWrt源码分两种,一种是最新但不是最稳定的Trunk开发版,一种是最稳定的Backfire版,建议下载官方源码。下载前先在本地创建活页夹:

1

2

3

mkdir openwrt

sudo chmod 777 openwrt

cd openwrt

选择你想要的版本然后执行下载命令,下载结束会显示版本号: Trunk版下载命令:svn co
svn://svn.openwrt.org/openwrt/trunk/
Backfire版下载命令:svn co
svn://svn.openwrt.org/openwrt/branches/backfire/
添加软件扩展包,将feeds.conf.default修改为feeds.conf:cp feeds.conf.default feeds.conf 更新扩展,安装扩展:

  • ./scripts/feeds update -a
  • ./scripts/feeds install -a

注:如果不是刚下载的源码,为保持代码为最新状态,应定期运行svn update命令更新源码。 测试编译环境:make defconfig 到这里就可以开始编译自己的固件了。进入定制界面:make menuconfig 如果一切正常,会出现一个配置菜单,可以选择要编译的固件平台(芯片类型)、型号,还能选择固件中要添加的功能和组件,配置好后保存并退出菜单即可。 如果你想修改源码,应该在此步进行,如支持大容量Flash之类的修改,自己上网查到修改什么文件什么地方后,就在ubuntu图形界面上进去找到文件,双击打开文本编辑器修改保存。 开始编译:

  • make
  • make V=99
  • make -j V=99

(make是编译命令,V=99表示输出debug信息,V一定要大写,如果要让CPU全速编译,就加上 -j 参数,第一次编译最好不带-j参数。) 编译过程保持联网(会从网上下载一些源码包),所以断网可能造成编译中断,编译所需时间与计算机CPU及网络环境有很大关系,第一次编译时间较久,快则半小时长则2、3个小时,之后的编译所需时间较短。编译完成后会在源码文件目录出现bin活页夹(如trunk/bin/XXXX),如果你手里的路由是原版固件需要刷OpenWrt需要选用XXX-factory.bin固件,如果路由已经刷了OpenWrt,选用升级固件XXXX-sysupgrade.bin升级用的,在升级界面升级即可。进到活页夹找到你需要的固件传出(通过邮箱、网盘、U盘等),开始刷机吧。 (原文载于 author LaRiver,edited by Upsangel)