在嵌入式Linux中製作復原分割區

在嵌入式Linux中製作復原分割區

我有一個運行 Angstrom 的 Atmel SAM9X 系統。我正在嘗試創建一個恢復分區,以便當用戶在啟動過程中按住按鈕時,恢復分區就會啟動。

我修改了引導程序,因此當啟動時按住按鈕時,會載入備用 Linux 核心。我想要的是從恢復引導分割區而不是正常的主分割區載入 Linux 的備用核心。

這可能嗎?或者我可以在不使用兩個核心的情況下載入恢復分區嗎?

我想要這樣做的原因是,如果主可啟動分割區損壞,復原分割區會將自身複製到主分割區(類似於具有復原分割區的戴爾或惠普 Windows 機器),並且主可啟動分割區將會被復原。

編輯
賈爾斯的建議做到了。引導程式正在設定內核命令列參數,我剛剛添加了root=/dev/mmcblk0p3(從第三個 SD 分區引導),它從所需的分區引導!

答案1

核心包含在編譯時確定的預設根分割區設定(您可以使用命令在二進位映像中變更它rdev)。您可以在核心命令列上傳遞參數,以在啟動時覆寫此預設值,例如root=/dev/mmcblk9p42從 MMC 裝置 9 分割區 42 而不是預設值啟動。命令列由引導程式傳遞到內核,因此您需要更改引導程式配置。

如果有 initrd 或 initramfs,它可能會覆寫引導程式編譯或傳遞的根分割區。

相關內容