OpenWrt的来历来历
Cisco/Linksys 在2003 年发行的WRT54G这款无线路由器非常“经典” 。
同年有好事者在 Linux Kernel Mailing List 搜索 WRT54G,发现它的IOS 是基于Linux,然而Linux 基于GPL 发布许可证,就是 GNU General Public License. 该许可证规定Cisco 应该把WRT54G 的IOS 的源代码公开 。
本来Cisco 拒绝公开源代码,最后,03年三月份的时候,基于公众压力Linksys 公开了WRT54G 的源代码 。
故事本来到这里就结束了,然而相反,结果越闹越大:
有了源代码以后,开发者便清晰知道代码如何控制路由器的硬件,并且把握了一些通过增加新的代码到原有的IOS 当中去 —— 使得硬件支持更多的Feature 的技术 。这些开发者组成了一个项目开发团队,不断对原来的IOS 进行更新,编码,加入新的特性…… 现在他们手上的WRT54G 无线路由器的能力已经大大超过了原来Cisco 设计的地摊货的设计思路 。
不但如此,随着这两年互联网Web2.0 技术的发展,不同的开发团队之间找到了更好的协同工作平台,其规模不亚于TAC. 他们最近建立了一个DD-WRT 项目的Wiki 站点将全套文档以及代码公开发布 。使用DD-WRT 项目提供的源代码,重新升级WRT54G 以后你就能够获得一台相称于$600 左右的中端无线路由器了 。
当Linksys 释放 WRT54G/GS 的源码后,网上出现了很多不同版本的 Firmware 去增强原有的功能 。大多数的 Firmware 都是99%使用 Linksys的源码,只有1%是加上去的,每一种 Firmware 都是针对特定的市场而设计,这样做有2个缺点,第一个是难以集合各版本Firmware的优点,第二个是这版本距离 Linux 正式发行版越来越远 。
OpenWrt 选择了另一条路,它从零开始,一点一点的把各软件加入去,使其接近 Linksys 版 Firmware的功能,而OpenWrt 的成功之处是它的文件系统是可写的,开发者无需在每一次修改后重新编译,另它更像一个小型的 Linux 电脑系统,也加快了开发速度 。
简化总结从前有个路由器公司,忽然有一天想在Linux基础上开发固件,结果后来被捅出来了,于是要求他们公开源代码,于是他们就被迫公开了 。于是大家很高兴,做了很多修改版出来~有一个团队基于上述开源的代码从零开始加入各种软件, 结果一不小心做成了此行业的狡狡者, 他们给自己的产品起名叫OpenWrtOpenWrt的衍生版本-PandoraBoxPandoraBox是OpenWrt的一条分支,前身是DreamBox,由OpenWrt中国创始人之一的Lintel所带领的技术团队维护 。PandoraBox是基于OpenWrt深度定制的路由器系统,系统底层部分采用了原厂原生驱动,而非开源驱动,使其相比OpenWrt有更好的稳定性 。由于OpenWrt配置及二次开发的方便性,加上Lintel根据中国网络环境对PandoraBox作出的调整及优化,受到不少互联网大咖的关注(听说还有橄榄枝) 。在中国深圳,不少公司厂家推出的“基于OpenWrt深度定制的系统”,使用的是当时开源的DreamBox源码或者泄漏的早期PandoraBox源码 。OpenWrt介绍OpenWrt社区聚集了一大批纯正的Linux各个方向的死忠级专家,从而使OpenWrt具备了如下与传统NorFlash嵌入式Linux截然不同的高级特征 。
SquashFS与JFFS2文件系统的整合形成的overlayfs机制对用户而言,OpenWrt的整个文件系统是完全动态可读写的,而其中的固件部分是用SquashFS实施的只读压缩文件系统,而用户所有的对文件系统的增删改都是用类似“差值”的形态存储在JFFS2文件系统中的,二者用overlayfs机制黏合,对用户完全透明 。
因此我们可以在文件系统中肆意发挥、随便折腾,出现任何问题则可像手机一样恢复出厂设置,并提供fail-safe模式帮助用户修复系统 。
而在传统的嵌入式Linux里,固件是静态的,对系统做任何一点与可运行程序相关的变动,比如增加一个模块,删除一个应用程序,都要重新编译全部固件,并重新刷写,就好比你一个Android手机要升级微信就要重新刷机 。这种反人类的传统文件系统完全阻挡了非专业兴趣者进入嵌入式Linux这一领域 。
UCI(Unified Configuration Interface)帮助用户在任何平台的OpenWrt上用同样的方法配置系统、网络和应用 。在Boardcom的平台上,在Atheros的平台上,甚至x86的平台上,修改系统配置均为同样的命令 。
而UCI的机制并不是二进制硬件虚拟层实现的,是由Linux shell脚本实现的 。
这毫无疑问是一种别致的创新,比Android来的轻便得多 。OpenWrt里的Linux shell脚本用得很帅很高端,那种感觉怎么形容呢?就似乎精通十八般武艺的高手有一天特殊复古地拿起铅笔刀在硬盘上刻出来了系统,就是这种感觉 。
Opkg包治理系统与丰富的软件源是一个与桌面级Linux使用的apt-get、yum等同级别的包治理系统,使用形如:opkg install xxxx-app的命令从互联网软件源中安装大约3000余种各种软件 。
- 机 斐讯路由器刷固件 常见问题解答
- 新路由3 高恪魔改版固件下载
- 路由器刷梅林,作用强盛!什么是梅林你知道吗?
- 路由器刷机之:什么路由器才能刷梅林固件?
- 路由器第三方固件OpenWRT
- 路由器刷固件图文教程 刷机OpenWrt第三方固件
- R3P 小米路由器3 Pro刷机 OpenWrt
- 路由器怎么重启?无线路由器重启教程
- 家用路由器怎么选择合适 各个价位无线路由器推荐
- WIFI路由器什么牌子好?