openWRT是什么

openWRT是什么

OpenWrt 可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有 dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的、静态的系统。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。

对于开发人员,OpenWrt 是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。

开发背景

当Linksys释放 WRT54G/GS 的源码后,网上出现了很多不同版本的 Firmware 去增强原有的功能。大多数的 Firmware 都是99%使用 Linksys的源码,只有1%是加上去的,每一种 Firmware 都是针对特定的市场而设计,这样做有2个缺点,第一个是难以集合各版本Firmware的长处,第二个是这版本距离 Linux 正式发行版越来越远。
OpenWrt 选择了另一条路,它从零开始,一点一点的把各软件加入进去,使其接近 Linksys 版 Firmware的功能,而OpenWrt 的成功之处是它的文件系统是可写的,开发者无需在每一次修改后重新编译,令它更像一个小型的 Linux 电脑系统。

发展历程

OpenWrt 项目由 2004 年 1 月开始, 第一个版本是基于 Linksys 提供的 GPL 源码及 uclibc 中的 buildroot 项目, 这个版本称为 “stable” 版, 在网上至今仍有很多项目使用这个版本, 较为有名 Freifunk-Firmware 和 Sip@Home.

到了2005年初, 一些新的开发人员加入了这项目, 几个月后他们释出了第一个 “experimental” 版本, 这和以前版本不同的是, 这版本差不多完全舍弃了 Linksys 的 GPL 源码, 使用了 buildroot2 作为核心技术, 将 OpenWrt 完全模块化,OpenWrt 使用 Linux 正式发行的核心源码(2.4.30),加上了一些补丁和网络驱动,开发队伍更为OpenWrt添加了许多免费的工具,可以直接把Image写入 Flash (mtd)里面,设定无线功能和VLAN交换功能,这个版本名为“White Russian”,而1.0版本于2005年底公布。

特点

OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。 同时,它还提供了100多个已编译好的软件,而且数量还在不断增加,而 OpenWrt SDK 更简化了开发软件的工序。

OpenWRT不同于其他许多用于路由器的发行版,它是一个从零开始编写的、功能齐全的、容易修改的路由器操作系统。实际上,这意味着您能够使用您想要的功能而不加进其他的累赘,而支持这些功能工作的linux kernel又远比绝大多数发行版来得新。

优势

如果对 Linux 系统有一定的认识, 并想学习或接触嵌入式 Linux 的话, OpenWRT很适合。 而且OpenWRT支持各种处理器架构,无论是对ARM,X86,PowerPC或者MIPS都有很好的支持。 其多达3000多种软件包,囊括从工具链(toolchain),到内核(linux kernel),到软件包(packages),再到根文件系统(rootfs)整个体系,使得用户只需简单的一个make命令即可方便快速地定制一个具有特定功能的嵌入式系统来制作固件。

一般嵌入式 Linux 的开发过程, 无论是 ARM, PowerPC 或 MIPS 的处理器, 都必需经过以下的开发过程:

1、 创建 Linux 交叉编译环境;
2、建立 Bootloader;
3、移植 Linux 内核;
4、建立 Rootfs (根文件系统);
5、安装驱动程序;
6、安装软件;

熟悉这些嵌入式 Linux 的基本开发流程后,不再局限于 MIPS 处理器和无线路由器, 可以尝试在其它处理器, 或者非无线路由器的系统移植嵌入式 Linux, 定制合适自己的应用软件, 并建立一个完整的嵌入式产品。

劣势

由于CPU内核体系不同,造成很多应用程序移植到OpenWrt上的时候经常崩溃。

由于ADSL硬件模块的驱动程序没有开放源代码,造成很多ADSL一体无线路由的ADSL模块不能工作而造成功能缺失(RG100A和DB120除外)。

由于OpenWRT并不是官方发布的路由器固件,所以要使用(刷入该固件)有困难,而且其基于Linux,导致OpenWRT的入门门槛较高。

历史版本

White Russian

OpenWRT的初始版本,从2005年7月的White Russian RC1开始发展,一直到2007年1月才发布White Russian 0.9。

Kamikaze

OpenWRT的第二个版本,从2007年6月开始发布Kamikaze 7.06,一直更新到2010年1月的Kamikaze 8.09.2结束。这期间OpenWRT进行了大量改进,并为它的发展打下了坚实的基础。

Backfire

2010年03月04日,OpenWrt Backfire 10.03 Beta发布,该版本是开源的路由器固件,基于linux,功能强大,支持很多主流的平台和路由器,甚至支持国内的君正jz4740平台,是学习和开发嵌入式,也是工业、 商业应用理想平台。更新方面: brcm-2.4 更新到 2.4.37 kernel ,other targets 更新到 2.6.30 or 2.6.32 ,arm/mips平台的 gcc 更新到 4.3.3 ,powerpc的gcc更新到 4.4.3 ,uClibc 更新到 0.9.30.1 , Broadcom 11g 芯片组的 b43 无线网卡驱动更新到 2.6 kernel ,支持Atheros 11n ath9k ,支持很多新的ar71xx设备,magicbox归入ppc40x平台 。

2010年03月25日,OpenWrt 发布 Backfire 10.03-rc1,支持国内留下的 tp-link最新多款11n的路由器,是不是想让路由器支持万能中继呢,或者增加路由器的多wan口支持呢,更多的这些高端路由才有的功能,或许能 让家用路由轻松具备。

2010年04月07日,OpenWRT放出Backfire 10.03正式版。

2010年08月29日,OpenWRT放出了Backfire 10.03.1。修正了很多BUG,提高了兼容性。TP-LINK WR841N v2 已经可以正常使用了,包括无线部分和上网部分。 自rc1之后的变动:改进了防DNS重绑定攻击,改进了uhttpd稳定性, Rootfs生成修复(Orion景象),修正了基于BRCM47XX的PCI初始化,添加了rtl8366 vlan 改变的 整合脚本,还原了一般x86镜像 GRUB控制台,提高了ar71xx系列以太网驱动程序性能,添加了ar7240 交换机驱动,一些swconfig 和 交换机驱动的改进,RDC 使用启动加载器支持波特率,允许原生HID 支持 通过添加 kmod-input-hid,6in4:适当的处理了PPPoE连接并且修复了终端隧道更新。

Attitude Adjustment

于2013年4月25日放出。相对于Backfire版本,Attitude Adjustment将内核更新至linux 3.3,改进了网络配置方法,并添加了诸多新特性,例如对IPv6的初步支持。同时,这个版本也改善了防火墙,更新了许多新的驱动,并添加了许多新的支持的型号。对ramips、bcm2708(即树莓派)等方案提供了支持。

Barrier Breaker

于2014年10月2日放出。Barrier Breaker更新了3个RC版本,相对Attitude Adjustment,其内核升级至 3.10,添加了原生IPv6支持;改进了文件系统,添加了nand闪存的系统更新,并支持文件系统的快照和回滚;UCI配置工具也得以改进,支持测试性配置并允许将配置回滚至上一次稳定工作的状态;加强了网络功能,对动态防火墙规则、空间等添加了支持。这个版本相当稳定。

Chaos Calmer

当前的更新版本,仍然在持续更新。

版本时间轴

版本号发布日期代号
  
版本前沿
测试中持续更新Chaos Calmer
  
稳定版本
14.07
  
2014年10月
  
Barrier Breaker
12.09
  
2013年4月
  
Attitude Adjustment
10.03.1
2011年12月Backfire
10.032010年4月Backfire
8.09.22010年1月Kamikaze
8.09.12009年6月Kamikaze
8.092008年9月Kamikaze
7.092007年9月Kamikaze
7.072007年7月Kamikaze
7.062007年6月Kamikaze
0.9
  
2007年1月White Russian0.9
0.x
  
2006年11月White RussianRC6
0.x2006年3月White RussianRC5
0.x2005年11月White RussianRC4
0.x2005年9月White RussianRC3
0.x2005年7月White RussianC2
0.x2005年6月White RussianRC1
0.x2005年2月Before experimental

国内版本

鉴于开源软件在国内的发展态势,目前国内有基于OpenWRT改进而来的OpenWRT-DreamBox。

开发Dreambox的lintel之后开发了基于Barrier Breaker的PandoraBox。

这个版本的OpenWRT集成了很多常用功能(包括脱机下载等),使用了改进过的较为稳定的硬件驱动,通过这个版本的OpenWRT可以把路由器的功能发挥得淋漓尽致,同时也保证路由器的稳定运行。

标签: openwrt是什么, openwrt, 嵌入式的linux 发行版, dd-wrt, 主流路由器固件, tomato, white russian, kamikaze, backfire, attitude adjustment, barrier breaker, chaos calmer, pandorabox