開發背景
當
Linksys釋放 WRT54G/GS 的源碼後,網上出現了很多不同版本的 Firmware 去增強原有的功能。大多數的 Firmware 都是99%使用 Linksys的源碼,只有1%是加上去的,每一種 Firmware 都是針對特定的市場而設計,這樣做有2個缺點,第一個是難以集合各版本Firmware的長處,第二個是這版本距離 Linux 正式發行版越來越遠。
OpenWrt 選擇了另一條路,它
從零開始,一點一點的把各軟體加入進去,使其接近 Linksys 版
Firmware的功能,而OpenWrt 的成功之處是它的檔案系統是可寫的,開發者無需在每一次修改後重新編譯,令它更像一個小型的 Linux
電腦系統。
發展歷程
OpenWrt 項目由 2004 年 1 月開始, 第一個版本是基於 Linksys 提供的 GPL 源碼及
uclibc 中的 buildroot 項目, 這個版本稱為 “stable” 版, 在網上至今仍有很多項目使用這個版本, 較為有名 Freifunk-Firmware 和 Sip@Home.
到了2005年初, 一些新的開發人員加入了這項目, 幾個月後他們釋出了第一個 “experimental” 版本, 這和以前版本不同的是, 這版本差不多完全捨棄了 Linksys 的 GPL 源碼, 使用了 buildroot2 作為核心技術, 將 OpenWrt 完全模組化,OpenWrt 使用 Linux 正式發行的核心源碼(2.4.30),加上了一些補丁和網路驅動,開發隊伍更為OpenWrt添加了許多免費的工具,可以直接把Image寫入 Flash (mtd)裡面,設定無線功能和VLAN交換功能,這個版本名為“White Russian”,而1.0版本於2005年底公布。
系統特點
OpenWRT是一個高度模組化、高度自動化的嵌入式Linux系統,擁有強大的網路組件和擴展性,常常被用於工控設備、電話、小型機器人、智慧型家居、路由器以及VOIP設備中。 同時,它還提供了100多個已編譯好的軟體,而且數量還在不斷增加,而 OpenWrt SDK 更簡化了開發軟體的工序。
OpenWRT不同於其他許多用於路由器的發行版,它是一個從零開始編寫的、功能齊全的、容易修改的路由器作業系統。實際上,這意味著您能夠使用您想要的功能而不加進其他的累贅,而支持這些功能工作的linux kernel又遠比絕大多數發行版來得新。
優勢
如果對 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, 定製合適自己的套用軟體, 並建立一個完整的嵌入式產品。
劣勢
由於CPU核心體系不同,造成很多應用程式移植到OpenWrt上的時候經常崩潰。
由於ADSL硬體模組的驅動程式沒有開放原始碼,造成很多ADSL一體
無線路由的ADSL模組不能工作而造成功能缺失(RG100A和DB120除外)。
由於OpenWRT並不是官方發布的路由器固件,所以要使用(刷入該固件)有困難,而且其基於Linux,導致OpenWRT的入門門檻較高。
歷史版本
White Russian
OpenWRT的初始版本,從2005年7月的White Russian RC1開始發展,一直到2007年1月才發布White Russian 0.9。
Kamikaze
OpenWRT的第二個版本,從2007年6月開始發布Kamikaze 7.06,一直更新到2010年1月的Kamikaze 8.09.2結束。這期間OpenWRT進行了大量改進,並為它的發展打下了堅實的基礎。
Backfire
2010年03月04日,OpenWrt Backfire 10.03 Beta發布,該版本是開源的路由器固件,基於linux,功能強大,支持很多主流的平台和路由器,甚至支持國內的君正jz4740平台,是學習和開發嵌入式,也是工業、 商業套用理想平台。更新方面: brcm-2.4 更新到 2.4.37 kernel ,other targets 更新到 2.6.30 or 2.6.32 ,arm/mips平台的 gcc 更新到 4.3.3 ,powerpc的gcc更新到 4.4.3 ,uClibc 更新到 0.9.30.1 , Broadcom 11g 晶片組的 b43 無線網卡驅動更新到 2.6 kernel ,支持Atheros 11n ath9k ,支持很多新的ar71xx設備,magicbox歸入ppc40x平台 。
2010年03月25日,OpenWrt 發布 Backfire 10.03-rc1,支持國內流行的
tp-link最新多款11n的路由器,是不是想讓路由器支持萬能中繼呢,或者增加路由器的多wan口支持呢,更多的這些高端路由才有的功能,或許能讓家用路由輕鬆具備。
2010年04月07日,OpenWRT放出Backfire 10.03正式版。
2010年08月29日,OpenWRT放出了Backfire 10.03.1。修正了很多BUG,提高了兼容性。TP-LINK WR841N v2 已經可以正常使用了,包括無線部分和上網部分。 自rc1之後的變動:改進了防DNS重綁定攻擊,改進了uhttpd穩定性, Rootfs生成修復(Orion景象),修正了基於BRCM47XX的PCI初始化,添加了rtl8366 vlan 改變的 整合腳本,還原了一般x86鏡像 GRUB控制台,提高了ar71xx系列乙太網驅動程式性能,添加了ar7240 交換機驅動,一些swconfig 和 交換機驅動的改進,RDC 使用啟動載入器支持波特率,允許原生HID 支持 通過添加 kmod-input-hid,6in4:適當的處理了PPPoE連線並且修復了終端隧道更新。
Attitude Adjustment
於2013年4月25日放出。相對於Backfire版本,Attitude Adjustment將核心更新至linux 3.3,改進了網路配置方法,並添加了諸多新特性,例如對IPv6的初步支持。同時,這個版本也改善了防火牆,更新了許多新的驅動,並添加了許多新的支持的型號。對ramips、bcm2708(即樹莓派)等方案提供了支持。
Barrier Breaker
於2014年10月2日放出。Barrier Breaker更新了3個RC版本,相對Attitude Adjustment,其核心升級至 3.10,添加了原生IPv6支持;改進了檔案系統,添加了nand快閃記憶體的系統更新,並支持檔案系統的快照和回滾;UCI配置工具也得以改進,支持測試性配置並允許將配置回滾至上一次穩定工作的狀態;加強了網路功能,對動態防火牆規則、空間等添加了支持。這個版本相當穩定。
Chaos Calmer
當前的更新版本,仍然在持續更新。
版本時間軸
版本號 | 發布日期 | 代號 |
---|
18.06.0 | 2018年7月 | |
17.01.6 | 2018年9月 | Reboot |
17.01.5 | 2018年7月 | Reboot |
17.01.4 | 2017年10月 | Reboot |
17.01.3 | 2017年10月 | Reboot |
17.01.2 | 2017年6月 | Reboot |
17.01.1 | 2017年3月 | Reboot |
17.01.0 | 2017年2月 | Reboot |
15.05.1 | 2016年3月 | Chaos Calmer |
15.05 | 2015年6月 | Chaos Calmer |
14.07 | 2014年10月 | Barrier Breaker |
12.09 | 2013年4月 | Attitude Adjustment |
10.03.1 | 2011年12月 | Backfire |
10.03 | 2010年4月 | Backfire |
8.09.2 | 2010年1月 | Kamikaze |
8.09.1 | 2009年6月 | Kamikaze |
8.09 | 2008年9月 | Kamikaze |
7.09 | 2007年9月 | Kamikaze |
7.07 | 2007年7月 | Kamikaze |
7.06 | 2007年6月 | Kamikaze |
0.9 | 2007年1月 | White Russian0.9 |
0.x | 2006年11月 | White RussianRC6 |
0.x | 2006年3月 | White RussianRC5 |
0.x | 2005年11月 | White RussianRC4 |
0.x | 2005年9月 | White RussianRC3 |
0.x | 2005年7月 | White RussianC2 |
0.x | 2005年6月 | White RussianRC1 |
0.x | 2005年2月 | Before experimental |
國內版本
鑒於
開源軟體在國內的發展態勢,目前國內有基於OpenWRT改進而來的OpenWRT-DreamBox。
開發Dreambox的lintel之後開發了基於Barrier Breaker的PandoraBox。
這個版本的OpenWRT集成了很多常用功能(包括脫機下載等),使用了改進過的較為穩定的硬體驅動,通過這個版本的OpenWRT可以把路由器的功能發揮得淋漓盡致,同時也保證路由器的穩定運行。