簡介
當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年底公布。
特點
LINKSYS WRT54G 是一個幾乎在任何電腦商場都可以買到的無線路由器, 只需拿出4-5百元, 就可以擁有一個配備 200MHz CPU, 4MB Flash, 16MB Ram的嵌入式開發系統, 而且在完成開發後, 還可以套用在生活上, 一點都不浪費。由於它使用 Linux 作為作業系統, 並公開源碼及驅動, 在網路上已有很多為它而設計的開源項目, 包括HyperWRT, OpenWRT, SIP Phone等等, 實在是學習嵌入式 Linux 的入門級首選。因為 Linux 提供了很多免費的軟體,可以用一個很低的價錢購買像WRT54G的硬體,做成一個小型的 Linux 系統,現在OpenWrt已經提供了100多個已編譯好的軟體,而且數量還在不斷增加,而 OpenWrt SDK 更簡化了開發軟體的工序。
缺陷
(1). 由於CPU核心體系不同,造成很多應用程式移植到OpenWrt上的時候經常崩潰。(2). 由於ADSL硬體模組的驅動程式沒有開放原始碼,造成很多ADSL一體無線路由的ADSL模組不能工作而造成功能缺失。
使用技巧
不需要對 MIPS 處理器有很深入的了解, 也不用懂得如何去設計一個 MIPS 處理器專用的核心, 因為這些在網上已有人為做好, 只需懂得如何安裝和使用就行了, 不過也可以找到相關的資料。如果對 Linux 系統有一定的認識, 並想學習或接觸嵌入式 Linux 的話, OpenWRT很適合, 將學會一些無線路由器的基本知識, 以及一般嵌入式 Linux 的開發過程, 會發現無論是 ARM, PowerPC 或 MIPS 的處理器, 都必需經過以下的開發過程1、 創建 Linux 交叉編譯環境;
2、建立 Bootloader;
3、 移植 Linux 核心;
4、建立 Rootfs (根檔案系統);
5、安裝驅動程式;
6、安裝軟體;
7、調試隨著 Linux 的成熟, 大量不同的處理器核心和套用軟體相繼出現。
熟悉這些嶔入式 Linux 的基本開發流程後,不再局限於 MIPS 處理器和無線路由器, 可以嘗試在其它處理器, 或者非無線路由器的系統移植嵌入式 Linux, 定製合適自己的套用軟體, 並建立一個完整的嵌入式產品。
版本發行
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日,繼RC1之後,OpenWRT迅速的放出了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連線並且修復了終端隧道更新。