prpl Foundation 是一個開源、社群驅動、協作性質的非營利組織,致力於提升嵌入式設備的安全性與互操作性。該基金會的核心目標是透過開放的技術框架,促進嵌入式設備的標準化與創新。
其中,prplWrt 是一個企業級的開源軟體框架,專為下一代 WiFi 路由器與閘道器設計。prplWrt 結合了社群專案與商業軟體堆疊的優勢,旨在從目前高度分散的供應商軟體堆疊,順利過渡到一個統一的基線架構。該架構提供了高客製化與差異化的 API 和框架,同時不犧牲安全性與更新能力。
一旦 prplWrt 完全推出,網際網路服務供應商(ISPs)與零售品牌將能要求其供應商實施並遵循 prplWrt 標準。這不僅提供了一個安全穩定的軟體基線,還包含測試工具、專業認證、每月安全更新以及持續的功能開發。
支援的高通平台
目前,prplWrt 支援以下高通平台:
- IPQ95xx - RDP0433
- IPQ53xx - RDP0441
- IPQ54xx - RDP0466
prplWrt 的技術基礎與特性
prplWrt 是基於 OpenWrt 的架構,並進一步擴展了多項功能模組(feeds),以滿足不同應用場景的需求。以下是部分新增的 feeds 配置:
- CONFIG_FEED_feed_qca=y
- CONFIG_FEED_feed_opensource=y
- CONFIG_FEED_feed_amx=y
- CONFIG_FEED_feed_gmap=y
- CONFIG_FEED_feed_net_core=y
- CONFIG_FEED_feed_qos_firewall=y
- CONFIG_FEED_feed_net_services=y
- CONFIG_FEED_feed_wifi_core=y
- CONFIG_FEED_feed_tr69=y
- CONFIG_FEED_feed_prpl=y
此外,prplWrt 採用了 lighttpd 與 FastCGI 作為其網頁伺服器的核心技術,進一步提升了性能與效率。
prplWrt 的開發與建置流程
prplWrt 的開發基於高通的開源 SDK QCA_Networking_2024_ATH.SPF.13.0,以下是建置 Single Image 的步驟:
1. 建立工作區並下載 OEM 發行版
```bash
$ mkdir BUILD_WS; cd BUILD_WS
$ Chipcode_tag=r13.0_00003.0
$ git config --global credential.helper 'cache --timeout=7200'
$ git config --global http."https://qpm-git.qualcomm.com".followRedirects true
$ git clone -b $Chipcode_tag --depth 1 \
https://qpm-git.qualcomm.com/home2/git//qca-networking-2025-ath-spf-13-0_qca_oem.git
```
2. 生成 IPQ 單一映像檔
進入目錄並執行以下指令:
```bash
$ cd qca-networking-2025-ath-spf-13-0_qca_oem/common/build
$ python -u prepare_build.py -p -b -d -u https://qpm-git.qualcomm.com/home2/git//qca-networking-2025-ath-spf-13-0_qca_oem --build_opt -a --party_id
```
3. 生成的映像檔位置
最終的映像檔將位於 `common/build/bin` 資料夾中,例如:
`norplusnand-ipq9574_64-single.img`。
使用 TFTP 將映像檔寫入 Flash 中。
prplOS 的建置細節
以下是建置 prplOS 的詳細步驟:
1. 克隆 prplOS 儲存庫
```bash
$ git clone https://gitlab.com/prpl-foundation/prplos/prplos.git
```
2. 切換到指定分支
```bash
$ cd prplos
$ git checkout dev_ath13.0-ipq95xx
```
3. 生成配置並建置
```bash
$ mkdir -p qca/src/
$ ./scripts/gen_config.py qca_ipq95xx prpl security
$ sed -i 's/CONFIG_PACKAGE_omci=y/# CONFIG_PACKAGE_omci is not set/g' .config
$ make V=e -j8
```
4. 生成的映像檔位置
- Kernel 映像檔:`build_dir/target-aarch64_cortex-a73+neon-vfpv4_musl/linux-ipq95xx_generic/qcom_alxx-uImage.itb`
- Rootfs 映像檔:`build_dir/target-aarch64_cortex-a73+neon-vfpv4_musl/linux-ipq95xx_generic/root.squashfs`
5. 使用 U-Boot 更新 Kernel 與 Rootfs
```bash
IPQ9574# tftpb qcom_alxx-uImage.itb
IPQ9574# flash kernel
IPQ9574# tftpb root.squashfs
IPQ9574# flash ubi_rootfs
```
prplOS 的網頁介面
完成安裝後,您可以透過瀏覽器進入 http://192.168.1.1,進入 prplOS 的登入畫面。
預設帳號與密碼為:`admin/admin`。登入後,您將看到 Dashboard 主畫面,提供系統狀態與管理功能。
結論
prplWrt 與 prplOS 的出現,為嵌入式設備的開發與管理帶來了全新的可能性。透過開源技術與標準化的框架,這些工具不僅提升了設備的安全性與穩定性,還為供應商與開發者提供了靈活的客製化選項。隨著技術的進一步發展,prpl 將成為推動物聯網與嵌入式設備創新的重要力量。
常見問題與解答
1. 什麼是 prplWrt?
prplWrt 是一個基於 OpenWrt 的開源軟體框架,專為下一代 WiFi 路由器與閘道器設計,提供高安全性與高客製化的解決方案。
2. prplWrt 支援哪些高通平台?
目前支援 IPQ95xx、IPQ53xx 與 IPQ54xx 等高通平台。
3. 如何進行 prplOS 的建置?
您需要克隆 prplOS 儲存庫,切換到指定分支,生成配置並執行建置指令,最後生成 Kernel 與 Rootfs 映像檔。
4. prplWrt 與 OpenWrt 有何不同?
prplWrt 在 OpenWrt 的基礎上進行了擴展,增加了多項功能模組與安全性增強,並針對企業級應用進行了優化。
5. 如何登入 prplOS 的網頁介面?
您可以透過瀏覽器進入 http://192.168.1.1,使用預設帳號 `admin/admin` 登入,進行系統管理與設定。
評論
haowei
3 個月前