[IND] 6 分鐘閱讀OraCore 編輯部

Linux 7.1 的 Arm、RISC-V、MIPS 變更清單

這篇操作指南帶你讀懂 Linux 7.1 在 Arm、RISC-V、MIPS 的架構更新,並用實際指令確認你的板子與 kernel tree 是否已對上新支援。

分享 LinkedIn
Linux 7.1 的 Arm、RISC-V、MIPS 變更清單

這篇操作指南說明 Linux 7.1 在 Arm、RISC-V、MIPS 的架構更新,並教你驗證板子與 kernel tree 是否對上新支援。

這篇給 kernel 開發者、板級支援工程師,以及需要追 release 變更的嵌入式 Linux 使用者。照著做完,你會得到一份可直接對照的變更清單,知道哪些更新影響硬體 bring-up,還能在本機與目標板上完成驗證。

重點放在 Linux 7.1 對 Arm、RISC-V、MIPS 的支援擴充,包含 Microchip PIC64GX 的 RISC-V 新增支援,以及你在 upstream 對齊時最該先看的架構差異。

開始之前

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

  • Linux kernel source checkout:Linux 7.1 對應的本地原始碼或 release branch。
  • Git 2.40+:用來查看 release commit 與架構差異。
  • Build host:Linux、macOS 或 WSL2,記憶體至少 16 GB。
  • Cross-compiler:aarch64-linux-gnu-gcc、riscv64-linux-gnu-gcc、mips-linux-gnu-gcc。
  • Target board 或 emulator:至少一個 Arm64 SBC、一個 RISC-V 開發板或一個 MIPS 目標。
  • Kernel docs 與 LKML 存取權:用來補足 release 背景與 patch 討論。

Step 1: 讀 release 重點

目的:先建立 Linux 7.1 的變更地圖,避免只盯著單一架構而漏掉會影響 board support 的內容。

Linux 7.1 的 Arm、RISC-V、MIPS 變更清單

先整理這版的主題:檔案系統、Landlock、安全性、高解析度 timer、swap 清理,以及舊 486 子架構移除。對嵌入式工作來說,更重要的是它同時帶來 Arm、RISC-V、MIPS 的架構更新。

驗收:你應該能用一句話說出 Linux 7.1 的重點,並列出至少三個會影響 kernel 維護或板級支援的區塊。

Step 2: 檢查 Arm 架構更新

目的:找出會影響你的 Arm 板子開機流程、device tree、電源管理或中斷處理的變更。

Linux 7.1 的 Arm、RISC-V、MIPS 變更清單

先看 Arm 9.6 LSUI 相關更新,再看 futex 對新指令的使用。接著檢查 Memory Partitioning and Monitoring 的改善,以及 Allwinner、Rockchip、Amlogic、Samsung、Qualcomm 等平台的 device tree 更新。這版也補進或修正了不少 board 定義、clock driver、PCIe tracepoint 與 timer 支援。

驗收:你應該在 release shortlog 或架構 patch 中看到新的 Arm64 device-tree 項目、clock controller 新增,還有平台修補記錄。

git show --stat v7.1 -- arch/arm64

Step 3: 確認 RISC-V 板級支援

目的:確認 RISC-V 這次對嵌入式 bring-up 有哪些實質影響,特別是新 SoC 啟用。

最重要的是 Microchip PIC64GX 的支援,這顆嵌入式 RISC-V 晶片使用 SiFive U54 CPU cores。這代表 upstream kernel 已開始提供啟動這顆晶片所需的平台掛鉤,通常會牽涉 device tree、中斷路由、timer 設定與 early console。

驗收:你應該在 RISC-V 的 diff 或 shortlog 裡看到 PIC64GX、SiFive U54,或其他平台 enablement 的條目。

git show --stat v7.1 -- arch/riscv

Step 4: 核對 MIPS 與舊碼清理

目的:判斷 MIPS 相關變更是否會碰到你的舊板子或 downstream 分支。

Linux 7.1 在 MIPS 上沒有大張旗鼓的新功能,但它延續了整體清理方向。對 MIPS 使用者來說,重點是確認你的 downstream tree 是否還依賴被移除的舊程式碼路徑,或還在使用過時的 board file。

驗收:你應該能確認自己的 MIPS 平台是否仍符合 upstream 預期,並列出需要 rebasing 的舊支援點。

git show --stat v7.1 -- arch/mips

Step 5: 驗證你的 target kernel tree

目的:把 release 內容落到實際 build 與 boot 測試,確認新版本能接上你的硬體基線。

先拉 release branch,對每個目標架構設定對應 config,再執行 build。接著在實機或 emulator 上開機,對照前一版的 dmesg。Arm 與 RISC-V 要特別看 early boot 訊息、device-tree 解析、timer 初始化與新 driver probe。MIPS 則聚焦在舊外設與板級初始化是否退化。

驗收:你應該拿到成功編譯結果,並看到能進入 userspace 的 boot log,且沒有新的架構警告或 missing-device 錯誤。

make ARCH=arm64 defconfig && make -j$(nproc)
make ARCH=riscv defconfig && make -j$(nproc)
make ARCH=mips defconfig && make -j$(nproc)

常見錯誤

  • 只看 generic kernel 變更。修法:先掃架構段落,因為嵌入式板級支援常常藏在那裡。
  • 只在一塊板子上測試。修法:每個你使用的架構家族至少驗證一個目標,避免 Arm、RISC-V、MIPS 的差異被漏掉。
  • 忽略 device-tree 更新。修法:仔細 rebasing DTS,因為很多問題其實來自 clock、timer 或 interrupt 不對齊。

接下來可以看什麼

下一步可以直接讀 Linux 7.1 的 shortlog 與各架構 patch series,進一步整理你的 board support、device tree 與 regression test 清單,特別是 Arm64 與 RISC-V 的 upstream 對齊工作。