为何OpenWrt能在这十年里脱颖而出?

标签: 业界 OpenWRT | 发表时间:2014-03-06 18:14 | 作者:Noel
出处:http://www.leiphone.com

【编者按】本文首发于微信公众账号“WRTnode”。

如果不是为了写这篇文章,笔者还真没意识到OpenWrt这个项目已经10年了。

在这个重新强调人工智能、机器学习,重新重视物理机械交互的新兴智能机器人的时代,我们有理由相信因为其纯正的Linux味道,小型化、亲近物理交互的特征,身为Linux社区与物理交互的最佳桥梁,OpenWrt会迎来新一轮的发展。

一切都始于2002年12月,Linksys发布了定义家用无线路由器产品形态的WRT54G,由于成本的原因,Linksys使用Linux作为固件而不是授权费用很高的vXworks。根据GPL条款,据称是哥伦比亚大学法学院教授Eben Moglen向Linksys提出了开源要求,Linksys随即照办,之后在一堆各种hack WRT54G固件中,2004年生长出来了OpenWrt。2005年到2007年,最初的稳定版叫White Russian,之后的Kamikaze延续到2010年,Backfire到2013年,随后Attitude Adjustment发布,而最新版的Barrier Breaker也已经在持续开发中,据称将很快发布。

从一开始,OpenWrt就是各类路由器hack固件中的领头羊,并成为嵌入式Linux系统的核心贡献者之一,特别是Linux on mips,最近的内核更新代码有很大部分是由OpenWrt社区贡献的。

在各种路由器的hack固件中,OpenWrt为什么能脱颖而出?笔者认为关键原因是OpenWrt社区彻底的开源精神,不要忽视OpenWrt.org上面明晃晃的“Wireless Freedom”几个字。OpenWrt社区的组织者Gregers Petersen第一title是人类学家,专注于自由软件及相关社会学研究。以此为基因,OpenWrt社区聚集了一大批纯正的Linux各个方向的死忠级专家,从而使OpenWrt具备了如下与传统NorFlash嵌入式Linux截然不同的高级特征:

1、SquashFS与JFFS2文件系统的整合形成的overlayfs机制

对用户而言,OpenWrt的整个文件系统是完全动态可读写的,而其中的固件部分是用SquashFS实施的只读压缩文件系统,而用户所有的对文件系统的增删改都是用类似“差值”的形态存储在JFFS2文件系统中的,二者用overlayfs机制黏合,对用户完全透明。因此我们可以在文件系统中肆意发挥、随便折腾,出现任何问题则可像手机一样恢复出厂设置,并提供fail-safe模式帮助用户修复系统。

而在传统的嵌入式Linux里,固件是静态的,对系统做任何一点与可运行程序相关的变动,比如增加一个模块,删除一个应用程序,都要重新编译全部固件,并重新刷写,就好比你一个Android手机要升级微信就要重新刷机。这种反人类的传统文件系统完全阻挡了非专业爱好者进入嵌入式Linux这一领域。

2、UCI(Unified Configuration Interface)

帮助用户在任何平台的OpenWrt上用同样的方法配置系统、网络和应用。在Boardcom的平台上,在Atheros的平台上,甚至x86的平台上,修改系统配置均为同样的命令。而UCI的机制并不是二进制硬件虚拟层实现的,是由Linux shell脚本实现的。这毫无疑问是一种别致的创新,比Android来的轻巧得多。OpenWrt里的Linux shell脚本用得很帅很高端,那种感觉怎么形容呢?就好像精通十八般武艺的高手有一天特别复古地拿起铅笔刀在硬盘上刻出来了系统,就是这种感觉。

3、Opkg包管理系统与丰富的软件源

是一个与桌面级Linux使用的apt-get、yum等同级别的包管理系统,使用形如:opkg install xxxx-app的命令从互联网软件源中安装大约3000余种各种软件。3000款软件,数量没法跟手机的应用市场比,但是要知道,这里头的任何一个软件都来头不小,是经过Linux社区千锤百炼的东西,一个应用折腾一个月都玩不够。类型覆盖网络、音频、视频、编程开发、Linux系统管理等。当然,如果是专业比较偏的东西OpenWrt的软件源里还是不够完善,比如笔者团队用到的OpenCV的东西,源里就没有,就靠自己交叉编译了。

4、Luci WEB界面系统

除CLI命令行终端界面外,不同于桌面级Linux使用屏幕GUI作为交互界面,OpenWrt使用WEB界面交互。而不同于传统路由器web管理界面的是,luci是用户可订制的,安装了支持luci的软件后,WEB界面系统就中出现了新的模块,而opkg本身也web化了。这个特征让用户感觉很像手机的app store。

5、积极、完整的社区

OpenWrt与Arch Linux、Debian、FFmpeg、MinGW、PostgreSQL等开源领域重要的软件一起,是Software in the Public Interest, Inc.资助和保护的项目,OpenWrt社区在美国、欧洲、中国、俄罗斯有大量的追随者,有不计其数的分支和代码贡献者。社区活跃度非常高。

这几个特征加起来,赋予OpenWrt比肩桌面级Linux和现代移动操作系统(Android)的用户体验,完全回避了传统嵌入式Linux的磨叽和枯燥,使一个小小的路由器真正成为完整的、现代的、开放的计算系统,降低了入门门槛,产生了大量非嵌入式专业的爱好者群体。OpenWrt框架的奠定者们和广泛的代码贡献者们,在桌面级和现代操作系统的理念下,也使OpenWrt成为嵌入式Linux领域个性十足而广受追捧的佼佼者。

OpenWrt社区的组织者Gregers Petersen在一次采访中提到,除了传统的路由器用途,在智能家居主控设备、机器人、飞行器、工业控制设备、voIP设备等很多领域,都有爱好者和商业项目在使用OpenWrt,甚至有爱好者已经完整移植了Android系统并且真正打通了电话。而嫁接到OpenWrt上的Arduino Yun,使大家意识到Linux与物理世界交互一种非常简单的可能性,这赋予了OpenWrt更大的想象空间。

在新型智能设备和机器人的热潮中,OpenWrt的价值也越来越得到人们的重视。相比Android系统,OpenWrt被认为是更加适应智能设备和机器人的平台。Android的整体设计构架全部着眼于重度依赖屏幕与人进行交互,导致从硬件到软件的设计上都严重依赖于图形界面的展示,有过多的GPU硬件加速和软件上的图形、3D库,而智能设备和机器人并不强调屏幕,相对更多地依赖于机械、网络与人进行交互,Android上的这些图形图像特征反倒成为影响功耗、系统尺寸、稳定性的负面因素。再加之相对于Android的Java虚拟机对效率的严重损耗,OpenWrt直接的原生二进制代码得到了更高的计算效率。

在这个重新强调人工智能、机器学习,重新重视物理机械交互的新兴智能机器人的时代,我们有理由相信因为其纯正的Linux味道,小型化、亲近物理交互的特征,身为Linux社区与物理交互的最佳桥梁,OpenWrt会迎来新一轮的发展。

(若无特别注明, 雷锋网文章皆为原创,转载请注明出处)
原文链接: http://www.leiphone.com/openwrt-ten-years.html

相关 [openwrt 十年] 推荐:

为何OpenWrt能在这十年里脱颖而出?

- - 雷锋网
【编者按】本文首发于微信公众账号“WRTnode”. 如果不是为了写这篇文章,笔者还真没意识到OpenWrt这个项目已经10年了. 在这个重新强调人工智能、机器学习,重新重视物理机械交互的新兴智能机器人的时代,我们有理由相信因为其纯正的Linux味道,小型化、亲近物理交互的特征,身为Linux社区与物理交互的最佳桥梁,OpenWrt会迎来新一轮的发展.

OpenWrt路由器开发

- - SegmentFault 最新的文章
第一次尝试开发路由器,发现并不是想象中那么难,和普通嵌入式开发一样,也是一块ARM板刷上Linux系统. OpenWrt有很多好用的软件,附带流量监测. OpenWrt主要开发语言为Python、Lua、Shell,还可以做深入研究写ipk软件包. 写了几个脚本,主要实现了openwrt下面GPIO控制、系统信息获取、wifi扫描器、定时发送邮件系统报警等功能,下面会介绍.

OpenWRT+Shadowsocks科学上网教程

- - 细节的力量
本文中将会出现以下密码概念,请先准备:. 1.原厂路由器管理用户名密码,一般印在路由背面贴纸上,若已修改请使用修改后的密码或复位路由使用默认用户名密码. 2.路由器型号一般印在路由背面贴纸上,若未发现请联系销售给你路由器的商家. 3.宽带拨号用户名密码,一般在宽带账号开通单上,若不记得请联系当地接入商索取或修改.

OpenWRT 路由系统上抓包

- - CSDN博客研发管理推荐文章
做路由器开发,难免会遇到抓包的情况,但是抓包需要有Hub或者无线抓包网卡,调试无线问题,且目前手中没有无线抓包网卡,怎么办. 那不能分析无线连接建立的过程,我们就来分析下,其传输的数据,肯定是从ra0无线接口来进行了. 编译tcpdump.ipk, libpcap.ipk并且安装到OpenWRT系统中.

智能路由器后面的英雄OpenWRT

- - 钛媒体网
【文/搜狐IT 丁丁】小米日前正式推出了小米 路由器,在业界又一次引发了关于“抢占客厅”讨论. 这两款小米路由使用的miWiFi系统,不出所料是基于开源OpenWRT(OpenWRT也基于Linux开发)系统的定制版本. 360安全路由360SOS,是与硬件厂商共同基于开源Linux系统的定制版本.

OpenWrt——适用于路由器的Linux系统

- - CSDN博客互联网推荐文章
好吧, OpenWrt是什么. 它是一个适用于路由器的Linux发行版. 和其他Linux发行版一样,它也内置了 包管理工具,你可以从一个软件仓库里直接安装软件. OpenWrt可以用在所有需要嵌入式Linux的地方,它有众多功能,比如SSH服务器,VPN,流量整形服务,甚至是BitTorrent客户端.

WHR-G300N V2 上使用 OpenWrt 构建 WDS 无线网络扩展

- - LinuxTOY
Buffalo WHR-G300N V2 的硬件和 WHR-G301 一样,所以可以直接使用针对它的固件. 若是还没有在 Buffalo WHR-G300N V2 刷入 OpenWrt 或者更新至 15.05 的话,可以参照下面的方式操作:. 前往 OpenWrt 官网下载 WHR-G301 的固件: 从官方固件升级 或者.

十年

- Angela - 春日迟迟的BLOG
这个故事有意思,没有对错,只是选择. 十年前,假如你有二十万元,你是用它来买房子还是用它来出国留学. 那个时候的房子,3000元上下一平米. 我相信现在的你,肯定会说当然是买房子啦. 二十万元,能交多少套房子的首付啊. 我下面要说的是两个朋友的真实故事. 朋友A,十年前卖掉了家里惟一一套房子,出国留学去了.