跳到內容
返回官網

A/B 雙系統與切換

A/B 雙系統是 JelinaOS 可靠性的核心機制:核心與系統各儲存兩份完整副本,執行期間使用一套,更新寫入另一套。本頁介紹日常使用中與雙系統相關的操作。

Terminal window
jelina-info

在輸出中檢視目前啟動分割區(A 或 B)與系統健康狀態。裝置始終執行在某一套系統上,另一套作為備份。

目前執行 System A
│
▼ 更新寫入 System B
▼ 重新啟動後自動切換至 B
▼ 啟動檢查通過 → 繼續執行 B
│
▼ 檢查失敗 → 自動回退 A(業務不受影響)
  • 切換由系統自動完成,無需人工干預;
  • 兩套系統內容互為備份,均為出廠狀態;
  • 執行期間所有使用者寫入進入資料分割區,與切換無關。
  1. 透過系統更新發起更新;
  2. 更新寫入備用分割區,裝置持續執行;
  3. 重新啟動後自動切換至新系統並檢查。

新版本出現問題需要回退時:

  1. 透過系統更新機制指定回退到上一版本;
  2. 系統切換回原分割區並檢查;
  3. 裝置恢復正常執行。

也可以使用系統回復服務手動回退(root/kernel 回復在重新啟動後生效,應用區回復立即生效):

Terminal window
systemctl restart jelina-rollback@root # 回復系統分割區(重新啟動生效)
systemctl restart jelina-rollback@kernel # 回復核心分割區(重新啟動生效)
systemctl restart jelina-rollback@app # 回復應用區(立即生效)
systemctl restart jelina-rollback@adv # 回復元件區(立即生效)

執行回復前,系統會檢查目前實際掛載與設定一致,防止重複操作。

系統透過啟動計數(bootcount) 追蹤啟動狀態,實現分級自動復原:

  • 每次啟動計數遞增,系統正常啟動成功後自動清零;
  • 若啟動失敗(崩潰、斷電、看門狗重新啟動),計數保持遞增;
  • 連續多次啟動失敗後,系統自動進入恢復流程:先嚐試恢復啟動,仍失敗則依次回復系統分割區與核心分割區;
  • 恢復成功後回到正常啟動,計數重新清零。

這套機制保證:無論升級還是故障,裝置都不會陷入反覆重新啟動的迴圈,總能自動回到可用狀態。

每次啟動,系統都會檢查目前分割區:

  • 檢查通過:正常進入系統;
  • 檢查失敗:自動嘗試另一套系統,保證裝置總能進入可用狀態。

這保證了裝置“開機能用、壞了能回”,是無人值守場景的可靠保障。

如何確認目前執行在哪個分割區? 執行 jelina-info 檢視啟動分割區資訊。

兩個分割區的內容會同步嗎? 不會。兩套系統各自保持出廠狀態,使用者資料統一在資料分割區,透過系統更新機制維護版本關係。

可以手動選擇啟動分割區嗎? 日常使用無需手動選擇,系統自動管理。特殊維護場景可按平台提供的啟動管理能力操作(瑞芯微平台提供 jelina-rk-bootctl 啟動控制工具,具體用法以命令幫助為準)。