在嵌入式Linux中制作恢复分区

在嵌入式Linux中制作恢复分区

我有一个运行 Angstrom 的 Atmel SAM9X 系统。我正在尝试创建一个恢复分区,以便当用户在启动过程中按住按钮时,恢复分区就会启动。

我修改了引导程序,因此当启动时按住按钮时,会加载备用 Linux 内核。我想要的是从恢复引导分区而不是正常的主分区加载 Linux 的备用内核。

这可能吗?或者我可以在不使用两个内核的情况下加载恢复分区吗?

我想要这样做的原因是,如果主可启动分区损坏,恢复分区会将自身复制到主分区(类似于具有恢复分区的戴尔或惠普 Windows 机器),并且主可启动分区将被恢复。

编辑
贾尔斯的建议做到了。引导程序正在设置内核命令行参数,我刚刚添加了root=/dev/mmcblk0p3(从第三个 SD 分区引导),它从所需的分区引导!

答案1

内核包含在编译时确定的默认根分区设置(您可以使用命令在二进制映像中更改它rdev)。您可以在内核命令行上传递一个参数,以在引导时覆盖此默认值,例如root=/dev/mmcblk9p42从 MMC 设备 9 分区 42 而不是默认值引导。命令行由引导加载程序传递到内核,因此您需要更改引导加载程序配置。

如果有 initrd 或 initramfs,它可能会覆盖引导加载程序编译或传递的根分区。

相关内容