1 簡(jiǎn)介
現階段openwrt官方支持的路由列表:wiki.openwrt.org/toh/start
如果要學(xué)習openwrt的話(huà),買(mǎi)些列表中二手的路由器來(lái)實(shí)踐下更容易學(xué)習,大部分要升級一下rom芯片和內存芯片,典型配置都是4M、64M。
OpenWrt 可以被描述為一個(gè)嵌入式的 Linux 發(fā)行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類(lèi))而不是試圖建立一個(gè)單一的、靜態(tài)的系統。OpenWrt的包管理提供了一個(gè)完全可寫(xiě)的文件系統,從應用程序供應商提供的選擇和配置,并允許您自定義的設備,以適應任何應用程序。
對于開(kāi)發(fā)人員,OpenWrt 是使用框架來(lái)構建應用程序,而無(wú)需建立一個(gè)完整的固件來(lái)支持;對于用戶(hù)來(lái)說(shuō),這意味著(zhù)其擁有完全定制的能力,可以用前所未有的方式使用該設備。
當Linksys釋放 WRT54G/GS 的源碼后,網(wǎng)上出現了很多不同版本的 Firmware 去增強原有的功能。大多數的 Firmware 都是99%使用 Linksys的源碼,只有1%是加上去的,每一種 Firmware 都是針對特定的市場(chǎng)而設計,這樣做有2個(gè)缺點(diǎn),第一個(gè)是難以集合各版本Firmware的長(cháng)處,第二個(gè)是這版本距離 Linux 正式發(fā)行版越來(lái)越遠。
OpenWrt 選擇了另一條路,它從零開(kāi)始,一點(diǎn)一點(diǎn)的把各軟件加入去,使其接近 Linksys 版 Firmware的功能,而OpenWrt 的成功之處是它的文件系統是可寫(xiě)的,開(kāi)發(fā)者無(wú)需在每一次修改后重新編譯,令它更像一個(gè)小型的 Linux 電腦系統。
2 OpenWrt發(fā)展歷程
OpenWrt 項目由 2004 年 1 月開(kāi)始, 第一個(gè)版本是基于 Linksys 提供的 GPL 源碼及 uclibc 中的 buildroot 項目, 這個(gè)版本稱(chēng)為 “stable” 版, 在網(wǎng)上至今仍有很多項目使用這個(gè)版本,較為有名 Freifunk-Firmware 和 Sip@Home.
到了2005年初, 一些新的開(kāi)發(fā)人員加入了這項目,幾個(gè)月后他們釋出了第一個(gè) “experimental” 版本, 這和以前版本不同的是,這版本差不多完全舍棄了 Linksys 的 GPL 源碼, 使用了 buildroot2 作為核心技術(shù),將OpenWrt 完全模塊化,OpenWrt 使用 Linux 正式發(fā)行的核心源碼(2.4.30),加上了一些補丁和網(wǎng)絡(luò )驅動(dòng),開(kāi)發(fā)隊伍更為OpenWrt添加了許多免費的工具,可以直接把Image寫(xiě)入 Flash (mtd)里面,設定無(wú)線(xiàn)功能和VLAN交換功能,這個(gè)版本名為“White Russian”,而1.0版本于2005年底公布。
3 OpenWrt特點(diǎn)
OpenWRT是一個(gè)高度模塊化、高度自動(dòng)化的嵌入式Linux系統,擁有強大的網(wǎng)絡(luò )組件和擴展性,常常被用于工控設備、電話(huà)、小型機器人、智能家居、路由器以及VOIP設備中。 同時(shí),它還提供了100多個(gè)已編譯好的軟件,而且數量還在不斷增加,而 OpenWrt SDK 更簡(jiǎn)化了開(kāi)發(fā)軟件的工序。
OpenWRT不同于其他許多用于路由器的發(fā)行版,它是一個(gè)從零開(kāi)始編寫(xiě)的、功能齊全的、容易修改的路由器操作系統。實(shí)際上,這意味著(zhù)您能夠使用您想要的功能而不加進(jìn)其他的累贅,而支持這些功能工作的linux kernel又遠比絕大多數發(fā)行版來(lái)得新。
4 OpenWrt的優(yōu)缺點(diǎn)
4.1 優(yōu)點(diǎn)
如果對 Linux 系統有一定的認識, 并想學(xué)習或接觸嵌入式 Linux 的話(huà), OpenWRT很適合。而且OpenWrt支持各種處理器架構,無(wú)論是對ARM,X86,PowerPC或者M(jìn)IPS都有很好的支持。其多達3000多種軟件包,囊括從工具鏈(toolchain),到內核(linux kernel),到軟件包(packages),再到根文件系統(rootfs)整個(gè)體系,使得用戶(hù)只需簡(jiǎn)單的一個(gè)make命令即可方便快速地定制一個(gè)具有特定功能的嵌入式系統來(lái)制作固件。
4.2 缺點(diǎn)
由于CPU內核體系不同,造成很多應用程序移植到OpenWrt上的時(shí)候經(jīng)常崩潰。
由于ADSL硬件模塊的驅動(dòng)程序沒(méi)有開(kāi)放源代碼,造成很多ADSL一體無(wú)線(xiàn)路由的ADSL模塊不能工作而造成功能缺失(RG100A和DB120除外)。
由于OpenWRT并不是官方發(fā)布的路由器固件,所以要使用(刷入該固件)有困難,而且其基于Linux,導致OpenWRT的入門(mén)門(mén)檻較高。
5 OpenWrt的開(kāi)發(fā)過(guò)程
一般嵌入式 Linux 的開(kāi)發(fā)過(guò)程, 無(wú)論是 ARM, PowerPC 或 MIPS 的處理器, 都必需經(jīng)過(guò)以下的開(kāi)發(fā)過(guò)程:
1)創(chuàng )建Linux交叉編譯環(huán)境;
2)建立Bootloader;
3)移植Linux內核;
4)建立Rootfs (根文件系統);
5)安裝驅動(dòng)程序;
6)安裝軟件;
熟悉這些嵚入式 Linux 的基本開(kāi)發(fā)流程后,不再局限于 MIPS 處理器和無(wú)線(xiàn)路由器, 可以嘗試在其它處理器, 或者非無(wú)線(xiàn)路由器的系統移植嵌入式 Linux, 定制合適自己的應用軟件, 并建立一個(gè)完整的嵌入式產(chǎn)品。
6 OpenWrt的歷史版本
- White Russian
OpenWRT的初始版本,從2005年7月的White Russian RC1開(kāi)始發(fā)展,一直到2007年1月才發(fā)布White Russian 0.9。
- Kamikaze
OpenWRT的第二個(gè)版本,從2007年6月開(kāi)始發(fā)布Kamikaze 7.06,一直更新到2010年1月的Kamikaze 8.09.2結束。這期間OpenWRT進(jìn)行了大量改進(jìn),并為它的發(fā)展打下了堅實(shí)的基礎。
- Backfire
2010年03月04日,OpenWrt Backfire 10.03 Beta發(fā)布,該版本是開(kāi)源的路由器固件,基于linux,功能強大,支持很多主流的平臺和路由器,甚至支持國內的君正jz4740平臺,是學(xué)習和開(kāi)發(fā)嵌入式,也是工業(yè)、 商業(yè)應用理想平臺。更新方面: 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 無(wú)線(xiàn)網(wǎng)卡驅動(dòng)更新到 2.6 kernel,支持Atheros 11n ath9k ,支持很多新的ar71xx設備,magicbox歸入ppc40x平臺。
2010年03月25日,OpenWrt 發(fā)布 Backfire 10.03-rc1,支持國內留下的 tp-link最新多款11n的路由器,是不是想讓路由器支持萬(wàn)能中繼呢,或者增加路由器的多wan口支持呢,更多的這些高端路由才有的功能,或許能 讓家用路由輕松具備。
2010年04月07日,OpenWRT放出Backfire 10.03正式版。
2010年08月29日OpenWRT放出了Backfire 10.03.1。修正了很多BUG,提高了兼容性。TP-LINK WR841N v2 已經(jīng)可以正常使用了,包括無(wú)線(xiàn)部分和上網(wǎng)部分。 自rc1之后的變動(dòng):改進(jìn)了防DNS重綁定攻擊,改進(jìn)了uhttpd穩定性, Rootfs生成修復(Orion景象),修正了基于BRCM47XX的PCI初始化,添加了rtl8366 vlan 改變的 整合腳本,還原了一般x86鏡像 GRUB控制臺,提高了ar71xx系列以太網(wǎng)驅動(dòng)程序性能,添加了ar7240 交換機驅動(dòng),一些swconfig 和 交換機驅動(dòng)的改進(jìn),RDC 使用啟動(dòng)加載器支持波特率,允許原生HID 支持 通過(guò)添加 kmod-input-hid,6in4:適當的處理了PPPoE連接并且修復了終端隧道更新。
- Attitude Adjustment
于2013年4月25日放出。相對于Backfire版本,Attitude Adjustment將內核更新至linux 3.3,改進(jìn)了網(wǎng)絡(luò )配置方法,并添加了諸多新特性,例如對IPv6的初步支持。同時(shí),這個(gè)版本也改善了防火墻,更新了許多新的驅動(dòng),并添加了許多新的支持的型號。對ramips、bcm2708(即樹(shù)莓派)等方案提供了支持。
- Barrier Breaker
于2014年10月2日放出。Barrier Breaker更新了3個(gè)RC版本,相對Attitude Adjustment,其內核升級至 3.10,添加了原生IPv6支持;改進(jìn)了文件系統,添加了nand閃存的系統更新,并支持文件系統的快照和回滾;UCI配置工具也得以改進(jìn),支持測試性配置并允許將配置回滾至上一次穩定工作的狀態(tài);加強了網(wǎng)絡(luò )功能,對動(dòng)態(tài)防火墻規則、空間等添加了支持。這個(gè)版本相當穩定。
- Chaos Calmer
OpenWrt已于2016年3月22號迎來(lái)了15.05.1版本更新,這也是“Chaos Calmer”系列的首個(gè)發(fā)行版。其更新了許多內部組件,首先是內核更新到了3.18.23,修復了keyring reference leak(CVE-2016-0728);其次還迎來(lái)了OpenSSL 1.0.2f、Samba 3.6,以及netid、uhttpd、rpcd、uci、procd、ubox和hostapd等改進(jìn)。
OpenWrt 15.05.1還帶來(lái)了諸多驅動(dòng)更新,挑重要來(lái)講的話(huà),有ledtrig-netdev、bcm47xxpart(支持在有壞塊的NAND上用bcm53xx)、brcmfmac(更好的TX功率/波束成型/站轉儲支持)、8139c、solos-pci(增加了RX動(dòng)態(tài)余量)、xrx200-net、以及mac80211。
除了上述這些底層改進(jìn),OpenWrt 15.05.1“Chaos Calmer”還添加了對新設備的支持,包括Linksys WRT1900ACS(mvebu)、LinkIt Smart7688(rampis)、TP-Link TL-WR841N/ND v10(ar71xx)、D-LINK DIR-615 rev. Ix(ar71xx)、ZBT WG2626(ramips)、以及Linksys WRT1900ACS(mvebu)。
此外,Gainstrong MiniBox v1.0 (ar71xx)、TP-LINK TL-WR941ND v6 international version (ar71xx)、TL-WR741ND v5 (ar71xx)、以及WR740N v5.0 (ar71xx) 也得到了支持。
最后,NETGEAR R8000迎來(lái)了USB與CPU速率方面的改進(jìn),樹(shù)莓派也迎來(lái)了系統更新。
目前而言, OpenWrt 15.05.1版本將不再被合并的項目所支持,而這些版本將不會(huì )有任何未來(lái)的安全性或bug修復。OpenWrt 15.05發(fā)行版將獲得有限數量的安全性和bug修復。
- LEDE
LEDE其實(shí)就是Openwrt的衍生物,目前官方主要主要致力于LEDE的開(kāi)發(fā),,LEDE 17.01是最新的版本,以后將繼續得到完整的安全性和bug修復支持。
目前,LEDE已經(jīng)和OpenWrt合并了。
審核編輯:湯梓紅
-
Linux
+關(guān)注
關(guān)注
87文章
11026瀏覽量
207158 -
路由器
+關(guān)注
關(guān)注
22文章
3587瀏覽量
111811 -
源碼
+關(guān)注
關(guān)注
8文章
592瀏覽量
28708 -
應用程序
+關(guān)注
關(guān)注
37文章
3168瀏覽量
56974 -
OpenWrt
+關(guān)注
關(guān)注
10文章
120瀏覽量
38989
發(fā)布評論請先 登錄
相關(guān)推薦
評論