第一课--OpenWRT 概述

来自Microduino Wikipedia
跳转至: 导航搜索

OpenWrt 系统的定义

OpenWrt 可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有dd-wrt,tomato,openwrt 三类)而不是试图建立一个单一的、静态的系统。OpenWrt 的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。对于开发人员,OpenWrt 是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。

OpenWRT 是一个高度模块化、高度自动化的嵌入式Linux 系统,拥有强大的网络组件和扩展性,常常被用于工控 设备、电话、小型机器人、智能家居、路由器以及VOIP 设备中。 同时,它还提供了100 多个已编译好的软件,而且数量还在不断增加,而 OpenWrt SDK 更简化了开发软件的工序。

OpenWRT 不同于其他许多用于路由器的发行版,它是一个从零开始编写的、功能齐全的、容易修改的路由器操作系统。实际上,这意味着您能够使用您想要的功能而不加进其他的累赘,而支持这些功能工作的linux kernel 又远比绝大多数发行版来得新

OpenWrt 系统的特点

如果对 Linux 系统有一定的认识, 并想学习或接触嵌入式 Linux 的话, OpenWRT 很适合。 而且OpenWRT支持各种处理器架构,无论是对ARM,X86,PowerPC 或者MIPS 都有很好的支持。 其多达3000 多种软件包,囊括从工具链(toolchain),到内核(linux kernel),到软件包(packages),再到根文件系统(rootfs)整个体系,使得用户只需简单的一个make 命令即可方便快速地定制一个具 有特定功能的嵌入式系统来制作固件。 一般嵌入式 Linux 的开发过程, 无论是 ARM, PowerPC 或 MIPS 的处理器, 都必需经过以下的开发过程:

  • 1、创建 Linux 交叉编译环境;
  • 2、建立 Bootloader;
  • 3、移植 Linux 内核;
  • 4、建立 Rootfs (根文件系统);
  • 5、安装驱动程序;
  • 6、安装软件;

熟悉这些嵚入式 Linux 的基本开发流程后,不再局限于 MIPS 处理器和无线路由器, 可以尝试在其它处理器, 或者非无线路由器的系统移植嵌入式 Linux, 定制合适自己的应用软件, 并建立一个完整的嵌入式产品。

OpenWrt 系统的发展历史

OpenWrt 项目由 2004 年 1 月开始, 第一个版本是基于 Linksys 提供的 GPL 源码及 uclibc 中的buildroot 项目, 这个版本称为 “stable” 版, 在网上至今仍有很多项目使用这个版本, 较为有名。 到了2005 年初, 一些新的开发人员加入了这项目, 几个月后他们释出了第一个 “experimental” 版本, 这和以前版本不同的是, 这版本差不多完全舍弃了 Linksys 的 GPL 源码, 使用了 buildroot2 作为核心技术, 将 OpenWrt 完全模块化,OpenWrt 使用 Linux 正式发行的核心源码(2.4.30),加上了一些补丁和网络驱动,开发队伍更为OpenWrt 添加了许多免费的工具,可以直接把Image 写入 Flash (mtd)里面,设定无线功能和VLAN 交换功能,这个版本名为“White Russian”,而1.0 版本于2005 年底公布。