2019年9月21日 星期六

OpenWrt

OpenWrt 是一個 Linux 發行版本和開發環境。

特點
  • Linux 發行版本 (distribution)
  • 支援許多硬體
  • 跨平台編譯環境
  • 許多套件支援各種功能
  • 許多使用輕量版軟體提供相當的功能 (所以快?)
  • 套件安裝
  • 不含 non-free 驅動程式,以至於有些硬體無法運作。(dd-wrt、Tomato 則有 non-free 的部份)

  • OpenWrt 一開始是在 2004 年基於 Linksys 無線路由器 WRT54G 的 GPL 原始碼。
  • OpenWrt 開發環境基於大量修改過的 Buildroot。
  • 2016 年分出 LEDE,2018 年併回 OpenWrt。
軟體
  • 原始碼:git clone https://git.openwrt.org/openwrt/openwrt.git
  • 開機:preinit
  • uClibc
  • 系統軟體:procd、ubus、netifd
  • 設定管理:uci
  • busybox
  • shell
  • json
  • 套件管理:opkg
  • wget 由 uclinet-fetch 取代
  • telnetd 由無密碼的 dropbear 取代
  • syslog => ubox's logd and logread
  • https://wiki.openwrt.org/doc/techref/netifd 有個表格跟一般 Linux Distribution 及 Android 等比較系統軟體架構
作業系統架構比較
OpenWrtBuildrootDesktop
C 標準函式庫uClibc?glibc
initprocd?systemd
網路設定netifd?NetworkManager
套件管理opkg?apt, ...
原始碼
  • 下載:http, ftp, git, ...。壓縮檔或目錄
  • 不是壓縮檔的話產生壓縮檔:方便帶著走
  • 解壓縮
  • patch
  • configure
  • compile
  • install
參考
  • https://openwrt.org/
  • dd-wrt、Tomato、Gargoyle
  • OpenWrt 開發框架較複雜而不好修改簡化。Buildroot 關聯性較低、比較沒那麼自動化。

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...