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

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下运行还存在问题。

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

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

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

时间: 2024-09-20 00:08:36

《智能路由器开发指南》——1.1 OpenWrt简介的相关文章

《智能路由器开发指南》——导读

前 言 OpenWrt成功的秘密 可以实现路由器功能的开源软件很多,为什么只有OpenWrt成功了?OpenWrt软件成功的关键在于3个方面:领导者.基础设施以及实现软件的技术.通常领导者是最重要的,因为领导者决定着社区的规则和技术方向,但是每个人都是独特的而且是无法复制的,因此通常无法借鉴.基础设施和实现软件的技术则是可以借鉴的. OpenWrt社区采用六大基础设施工具支撑整个社区的运转,这六大基础设施工具分别是代码管理工具Git.邮件列表.自动构建工具buildbot.文档管理工具WiKi.

《智能路由器开发指南》——第1章 智能路由器概述 1.1 OpenWrt简介

第1章 智能路由器概述 近年来,智能路由器领域越来越火,但这方面的开发资料却很少,并且不成体系.因此,本书针对智能路由器领域的开发进行了详细介绍,也可以用于指导其他智能家庭设备的开发. 接入网络的家庭用户终端越来越多,路由器控制越来越复杂,因此需要一个智能网关来管理家庭的设备.另外,这个智能网关直接连在互联网上,需要隔离家庭网和互联网的连接,因此需要带有防火墙功能.智能路由器就像智能手机一样,其定义并非其字面含义所表现出的那样(可以智能地选择路由),而是其带有可扩展功能,用户自己可以安装软件进行

《智能路由器开发指南》——第2章 开发环境及编译分析 2.1 安装编译环境

第2章 开发环境及编译分析 如果你想从事智能路由器OpenWrt开发,首先必须掌握如何编译OpenWrt.本章将从搭建环境,到编译代码,再到安装部署运行以及VirtualBox虚拟网络环境的搭建,一步一步地教你如何进入到OpenWrt大门. OpenWrt是一个针对嵌入式设备的Linux发行版.OpenWrt提供了非常方便的开发环境,使用流行的Linux操作系统Ubuntu即可搭建好编译环境.OpenWrt有非常多的平台适应性,可以运行在ARM/MIPS/X86平台上,因此我们的研发网络部署也可

《智能路由器开发指南》——1.3 开源嵌入式操作系统比较

1.3 开源嵌入式操作系统比较 开源嵌入式操作系统,其字面意思有3点,即开放源代码.嵌入式和操作系统,但实质上其流行的关键在于其可扩展性. 开源是指开放源代码,是指软件在开放源代码许可证下发布软件,保障软件用户自由查看软件源代码的权利.这同时也保障了用于修改.复制和再分发的权利,但仍需遵守开源许可协议中的一些约束.开放源代码不仅仅指开放源代码的软件,也是一种软件开发模式. "许可证"是指授权条款,是指使用.修改.复制和再分发的条款和条件的法律文件.最常见的开源许可证有几种:GNU GP

《智能路由器开发指南》——1.2 整体功能组件

1.2 整体功能组件 1.2.1 整体架构 路由器的典型架构划分为管理平面.控制平面和数据转发平面,如图1-1所示. 管理平面是提供网络管理人员使用UCI.Web.SNMP和TR069等方式来管理路由器,以及执行这些管理功能所需的配置命令等,管理平面提供了控制平面正常运行所需的配置参数. 控制平面用于控制和管理所有网络协议的运行,例如ARP.DHCP.DNS及组播协议的管理和控制. 转发平面用于处理和转发不同网络接口上各种类型的数据,例如进行网络地址转换.路由.ACL等.典型路由器在数据转发平面

《智能路由器开发指南》——2.5 VirtualBox虚拟机网络设置

2.5 VirtualBox虚拟机网络设置 VirtualBox提供了7种网络接入模式,最常用的网络模式有以下4种. 1.网络地址转换(Network Address Translation,NAT)模式 如果你想使用虚拟机浏览网站.下载文件和查看邮件,这个模式最适合.NAT模式是实现虚拟机上网的最简单的方式. 2.桥接模式 VirtualBox连接你的真实网卡并和真实网卡直接交换数据,这是高级网络需求,例如在虚拟机中直接对外提供服务.相当于一个网卡有两个MAC地址. 3.内部网络模式 这个模式

《智能路由器开发指南》——2.2 编译脚本分析

2.2 编译脚本分析 2.2.1 顶层目录概述 OpenWrt代码有8个固定的顶层目录及6个编译时创建的临时目录,顶层的固定目录含义如表2-3所示. 目录config是编译配置文件目录,是OpenWrt 15.05的新增目录,是将一些编译选项配置文件分类放在这里,包含全局编译设置.开发人员编译设置.目标文件格式设置和内核编译设置等4部分. 目录include和scripts包含各种脚本和Makefile.目录target是指目标嵌入式设备,针对不同的平台有不同的特性代码.针对这些平台特性,"ta

《智能路由器开发指南》——2.1 安装编译环境

2.1 安装编译环境 2.1.1 Ubuntu安装 首先安装Linux操作系统Ubuntu 14.4.个人机器多为Windows 操作系统,为了方便使用及节省硬件资源,我们采用虚拟机VirtualBox来安装编译软件环境.如果是实体机安装Linux操作系统,则可略过安装虚拟机这一步.硬件设备只需要一台连接互联网的计算机.软件从互联网下载.建议使用VirtualBox虚拟机来搭建编译环境及开发调试. 下载和安装VirtualBox和ubuntu 14.04.3.下载地址分别为: http://do

《智能路由器开发指南》——2.3 使用VirtualBox部署

2.3 使用VirtualBox部署 首先将编译完成的安装文件openwrt-x86-generic-combined-ext4.img.gz解压缩,然后将解压后的img文件复制出来并转换为VirtualBox支持的vdi文件. zhang@zhang-laptop:~/cc/bin/x86$ gunzip openwrt-x86-generic-combined- ext4.img.gz zhang@zhang-laptop:~/cc/bin/x86$ cp openwrt-x86-gener