目录

前言

一、为什么需要嵌入式构建系统?

二、OpenWrt系统历史 

总结


前言

        本章节我们将对OpenWrt系统产生的背景进行介绍。


一、为什么需要嵌入式构建系统?

通常我们构建嵌入式系统构建通常比较繁琐:

  • 通常需要交叉工具链、bootloader、 kernel、文件系统等;
  • 众多软件包多为开源软件,经常出现相互依赖和不兼容、软件包的配置五花八门;
  • 内核和软件补丁需要手动安装
  • ...

openwrt 应用架构 openwrt简介_pandas

        庆幸的是芯片厂商、开发者、开发者社区意识到了这些问题,并积极改变这种状况。嵌入式系统在10几年时间的变化趋势:由封闭转向开放。

 

openwrt 应用架构 openwrt简介_openwrt 应用架构_02

传统系统:

  • 聚焦单个SOC
  • 零散发布版本
  • 重复的驱动和中间件

开放系统:

  • 以客户、社区为中心
  • 强大的上游力量
  • 分层内核,用户控件组件
  • 分离中间件和解决方案
  • 支持多社区发行版
  • 积极参与社区工作

openwrt 应用架构 openwrt简介_openwrt 应用架构_03

嵌入式系统的构建流程:

openwrt 应用架构 openwrt简介_嵌入式_04

       

二、OpenWrt系统历史 

  OpenWrt项目始于2004年1月,最早的OpenWrt版本基于Cisco Linksys为遵守GPL而放出的、为WRT54G所编写的代码 2005年初,一些新的开发者进入了团队。在封闭开发了数月之后, 团队决定发布OpenWrt的第一个“实验版本,这个实验版本使用的 build系统是基于buildroot2大改而成的,而buildroot2来自于uclibc 项目。

openwrt 应用架构 openwrt简介_openwrt 应用架构_05

 CISCO Linksys GPL代码下载列表:https://www.linksys.com/us/support-article?articleNum=114663

openwrt 应用架构 openwrt简介_开发者_06

 不得不说OpenWrt是踩在思科这个巨人的肩膀上。

openwrt 应用架构 openwrt简介_pandas_07

        正式介绍一下我们OpenWrt: OpenWrt系统是一个高度模块化、高度自动化的嵌入式Linux 系统构建项目。支持各种处理器架构。无论是对ARM,X86, PowerPC或者MIPS都有很好的支持。其多达3000多种软件包囊括从工具链(toolchain),到内核(linux kernel),到软件(packages),再到根文件系统(rootfs)整个体系。模块化设计,其模块化设计也可以方便的移植各类功能到OpenWrt下,加快开发速度拥有强大的网络组件,常常被用于工控设备、电话、边缘计算、物联网网关、小型机器人、智能家居、数字货币矿机、路由器以及VOIP设备等,成为事实上的网络设备的构建系统标准 。

谁在用OpenWrt

  •  小米、360、磊科、Tp-link、Cisco、极路由等
  • MTK、高通、NXP、全志、矽昌等
  • 路由器工厂、矿机生产厂、玩具制造商、教育、工业控制等
  • 创客、玩家
  • ...

        与OpenWrt类似的项目还有DD-Wrt、Tomato、Gargoyle(石像鬼)、Padavan和Merlin(梅林,基于华硕固件源码)等。DD-Wrt和OpenWrt源自同一套Cisco Linksys的wrt系列的代码,内核几乎相同,名字中都有Wrt。DD-Wrt则是开源商业项目alchemy(炼金术)的免费衍生品。alchemy是sveasoft从linksys代码上衍生出来的商业化产品。


OpenWrt的主要版本

版本很多,大家可以自行查询,我们统计到2019年。老毛子起的代号还挺有意思的~

版本

代号

发发布时间

说明

Attitude Adjustment

12.09

调整态度 AA

2012年9月

2012年9月发布Attitude

Adjustment正式版本以后,

openwrt在国内知名度比较高了。

这个版本也就是我们所说的AA,也

是从这个版本开始,openwrt开始

模拟Ubuntu系统的命名方式(2个单

词,形容词+名词),AA是两个单词

的首字母缩写。Attitude

Adjustment正式版本发布于2012

年9月,故其版本名为Attitude

Adjustment 12.09,AA的内核使

用3.3.8

Barrier Breaker 14.07

破雷舰 BB

2014年7月

2014年的7月,Barrier Breaker

14.07。BB的内核使用3.10.49。

Chaos Calmer 15.05

Chaos Calmer 15.05.1

混乱的平静CC

2015年5月

CC版本的内核是3.14.xx

LEDE 17.01.0

LEDE 17.01.1

LEDE 17.01.2

LEDE 17.01.3

LEDE 17.01.4

LEDE 17.01.5

LEDE

(Linux 嵌

入开发环

境)

2017年1

2016年5月初,一群 OpenWrt 核心开发者不满

OPENWRT 项目组缓慢的决议,而在OPENWRT基础上

开发的新项目分支LEDE。LEDE 项目是 OpenWrt 的一

个衍生项目,曾被形容为 OpenWrt 社区的一次重启,

旨在解决无法从 OpenWrt 内部去修复的长期问题。

OpenWrt 18.06.0

OpenWrt 18.06.1

OpenWrt 18.06.2

OpenWrt 18.06.3

OpenWrt 18.06.4

(最新稳定版2019年7月)

openwrt 应用架构 openwrt简介_openwrt 应用架构_08

2018年6

LEDE之后由于 OpenWrt 开发者青黄不接,活跃较低,

二者倾向于重新合并。合并后的项目仍用 OpenWRT

命名。合并后的 OpenWrt 项目将按照 LEDE 制定的规

范进行管理。原有的 LEDE 和 OpenWrt 项目的活跃成

员将继续在合并后的 OpenWrt 上工作。 固件代码不再

使用 BB/CC/DD这样的代号, 使用LEDE 的17.01命名方

式。OpenWrt 18.06 合并了自 LEDE 17.01 发布以来

的 4000 多个 commits,经历了超过一年时间的开发。

这个版本将尝试为合并后的 OpenWrt 项目定义一个未

来开发的基线。主要变化包括:根据不同的处理器架构

Linux kernel 更新到 4.9.111 或 4.14.52

 本章节简单的对OpenWrt的产生历史进行了回顾,从本章节之后,我们正式开启OpenWrt开发之旅~


总结

        OpenWrt最初是群众发现发现思科用了开源代码,并且没有按照协议上的规定公开代码,后来被迫公开源码。才有了今天你和我的故事~