一、概述
OpenWrt 可以被描述為一個嵌入式的 Linux 發行版。(主流路由器固件有 dd-wrt,tomato,openwrt,padavan四類)對比一個單一的、靜態的系統,OpenWrt的包管理提供了一個完全可寫的文件系統,從應用程序供應商提供的選擇和配置,並允許您自定義的設備,以適應任何應用程序。
二、系統特點
- OpenWRT是一個高度模塊化、高度自動化的嵌入式Linux系統,
- 擁有強大的網絡組件和擴展性,常常被用於工控設備、電話、小型機器人、智能家居、路由器以及VOIP設備中。
- 提供了100多個已編譯好的軟件,而且數量還在不斷增加,而OpenWrt SDK 更簡化了開發軟件的工序。
- OpenWRT是一個從零開始編寫的、功能齊全的、容易修改的路由器操作系統。實際上,這意味着您能夠使用您想要的功能而不加進其他的累贅,而支持這些功能工作的linux kernel又遠比絕大多數發行版來得新。
四、優勢
- OpenWRT支持各種處理器架構,無論是對ARM,X86,PowerPC或者MIPS都有很好的支持。
- 多達3000多種軟件包,囊括從工具鏈(toolchain),到內核(linux kernel),到軟件包(packages),再到根文件系統(rootfs)整個體系,使得用戶只需簡單的一個make命令即可方便快速地定制一個具有特定功能的嵌入式系統來制作固件。
一般嵌入式 Linux 的開發過程, 無論是 ARM, PowerPC 或 MIPS 的處理器, 都必需經過以下的開發過程:
- 創建 Linux 交叉編譯環境;
- 建立 Bootloader;
- 移植 Linux 內核;
- 建立 Rootfs (根文件系統);
- 安裝驅動程序;
- 安裝軟件;
熟悉這些嵌入式 Linux 的基本開發流程后,不再局限於 MIPS 處理器和無線路由器, 可以嘗試在其它處理器, 或者非無線路由器的系統移植嵌入式 Linux, 定制合適自己的應用軟件, 並建立一個完整的嵌入式產品。
五、劣勢
-
由於CPU內核體系不同,造成很多應用程序移植到OpenWrt上的時候經常崩潰。
-
由於ADSL硬件模塊的驅動程序沒有開放源代碼,造成很多ADSL一體無線路由的ADSL模塊不能工作而造成功能缺失(RG100A和DB120除外)。
-
由於OpenWRT並不是官方發布的路由器固件,所以要使用(刷入該固件)有困難,而且其基於Linux,導致OpenWRT的入門門檻較高。