《智能路由器开发指南》——1.1 OpenWrt简介

简介:

本节书摘来异步社区《智能路由器开发指南》一书中的第1章,第1.1节,作者:张永智 ,李章明,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.1 OpenWrt简介

OpenWrt是一个嵌入式设备的Linux发行版,以GPL许可协议发行。

OpenWrt项目始于2004年1月,其第一个版本采用了LinkSys的源码。在LinkSys的代码收费后,改为采用正式发布的Linux内核来集成,并将OpenWrt完全模块化,不断推出补丁和驱动。OpenWrt的主要特点在于其高扩展性,并且文件系统可写,开发者无需在每一次修改后完全重新编译,只要编译自己的软件包即可,这样就加快了开发的进度。另外OpenWrt提供了SDK,每个运行软件均能够以SDK来进行编译,以软件包形式进行安装和卸载。其主要特点有如下几个。

代码里不含第三方开源包,只包含开源包地址链接。
编译时自动下载源代码、打补丁来满足指定平台要求,并编译。还可以修改Makefile来下载最新的软件包。
使用LuCI作为最终用户管理界面。LuCI以Apache许可协议发布Web管理功能代码。
UCI通用配置管理方法。
通过脚本来调用iptables来实现防火墙功能,配置保存在UCI文件中。
开放和可扩展的OPKG格式安装升级包。
OpenWrt历史
OpenWrt在2004年由迈克·贝克和格里·罗泽马创立,到今天为止已经发展了12个年头了。OpenWrt定期发布版本,发行版本以代码线和日期作为版本号。它的第一个正式版为Kamikaze 7.06,第二个正式版本为Backfire 10.03。

Backfire
2010年4月7日,OpenWrt发布Backfire 10.03正式版。相对上一个稳定版本,其内核升级为Linux 2.6.32,使用了新的Web服务器uhttpd,支持了一些新的平台硬件(如TP-Link TL-WR1043ND等),增加了机器可读的版本信息/etc/openwrt_release。

2011年12月21日,OpenWrt发布了Backfire 10.03.1正式版。期间,OpenWrt发布了6个RC版本。这一版本将内核升级为Linux 2.6.32.16,修正了很多BUG,并增加了对TP-Link、TL-MR3420等的支持。

Attitude Adjustment
2013年4月25日,OpenWrt发布12.09正式版。相对于Backfire版本,Attitude Adjustment将内核更新至Linux 3.3,改进了并行编译支持;使用密文存储密码;各种防火墙功能增强;无线驱动更新及稳定性增强;新平台支持ramips、bcm2708(树莓派)等;发布镜像文件中支持网桥防火墙。

Barrier Breaker
2014年7月31日,OpenWrt发布14.07正式版。相对于Attitude Adjustment版本,内核升级到3.10,增加了原生IPv6支持,文件系统增强;UCI配置增强,支持测试配置和回滚最近工作状态机制,增加配置更改按需触发服务重启机制;网络功能增强,可以支持动态防火墙规则,增加网桥的多播传输到单播传输的转换等。

Chaos Calmer
OpenWrt于2015年9月11日发布15.05正式版。Chaos Calmer中间发布了3个RC版本。相对于 Barrier Breaker,其内核升级到了3.18;网络功能增强,添加了多个3G/4G路由器支持,改进了IPv6等功能增强,增加了自管理网络的支持;各种平台和驱动设备的支持,例如飞思卡尔i.MX23/28系列等各种品牌,增加了树莓派的支持。这个版本在64位平台的VirtualBox下运行还存在问题。

c21e9fbbf0bb42af78628842ecaf99ae3be0b5e4

注1:对于各种硬件平台内核版本可能不一致。因为每个平台的内核版本在独立的文件中定义(target/linux/<平台>/ Makefile:LINUX_VERSION),在Barrier Breaker及以后的发布版中,内核版本定义变量改为KERNEL_PATCHVER。

注2:最新的两个发布版本没有创建标签,需要根据SVN版本号来下载代码。

注3:2016年3月,OpenWrt已经从SVN代码仓库切换到Git代码仓库了,因此不再支持SVN。

相关文章
|
安全 物联网 Unix
[HarmonyOS][鸿蒙专栏开篇]快速入门OpenHarmony的LiteOS微内核
[HarmonyOS][鸿蒙专栏开篇]快速入门OpenHarmony的LiteOS微内核
345 0
[HarmonyOS][鸿蒙专栏开篇]快速入门OpenHarmony的LiteOS微内核
|
传感器 API 调度
openHarmony系统简介
今天带大家了解一下openHarmony系统,很多人可能听说过Harmony OS,今天要介绍的openHarmony系统就是Harmony OS的抽象,即基础版的,鸿蒙系统最终要实现的就是脱离安卓系统成为一个独立的系统,目前的环境使得鸿蒙系统仍然需要兼容安卓,故openHarmony诞生了,为了更好的进行过渡,同时也为更好的宣传鸿蒙系统。
616 0
openHarmony系统简介
|
编解码 Java 开发者
《鸿蒙理论知识 05》HarmonyOS 概述之下载与安装软件
DevEco Studio 支持 Windows 和 macOS 系统,下面将针对两种操作系统的软件安装方式进行介绍。
113 0
|
Linux 开发工具
麒麟系统开发笔记(九):在国产麒麟系统上搭建宇视摄像头SDK基础环境Demo
国产麒麟系统开发上,使用宇视摄像头,本篇使用宇视官网的提供的SDK,搭建基础的国产系统上宇视摄像头SDK开发化境Demo。
麒麟系统开发笔记(九):在国产麒麟系统上搭建宇视摄像头SDK基础环境Demo
|
Ubuntu Linux C语言
麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12
麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12
麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12
|
前端开发 Linux 芯片
鸿蒙系统在Hi3816平台上初体验
鸿蒙系统在Hi3816平台上初体验
375 0
|
监控 AliOS-Things 物联网
使用线下开发板进行开发调试 |《AliOS Things快速开发指南》
本文主要介绍如何使用VSCode进行项目编译、固件烧录及串口监控。
使用线下开发板进行开发调试 |《AliOS Things快速开发指南》
|
NoSQL 物联网
使用线上的开发板做开发调试 |《AliOS Things快速开发指南》
当您手上没有现成可用的开发板时,也可以使用线上的开发板来调试验证您的程序。本文主要介绍线上开发板的使用流程。
使用线上的开发板做开发调试 |《AliOS Things快速开发指南》