使用 UEFI-x86-GPIO-Board 的“恢复出厂设置”策略

使用 UEFI-x86-GPIO-Board 的“恢复出厂设置”策略

对于这个用例来说,“正确”的策略是什么?

  1. 带有 UEFI 的 x86_64 平台
  2. 提供 40 针 GPIO
  3. 适用于该平台/主板的 Ubuntu/Debian 和 Yocto-Custom-Build(由制造商提供)
  4. 提供 eMMC 和 SSD

目标是在 SSD 上安装一个可以正常工作的 Debian 系统,并进行标准化加载。同时,应该有一个选项,即在启动过程中按下 GPIO 按钮进行“恢复出厂设置”。 “恢复出厂设置”意味着 SSD 上的 Debian 系统将被完全清除,并替换为(新分区?和)“新”准备好的映像(保存在 eMMC 中)。

问题在于 GPIO 按钮按下识别需要加载带有内核/驱动程序的 Linux。

因此,我的“策略”是通过 UEFI 启动顺序在 eMMC 上加载单独的 Linux,它可以识别 GPIO 按钮状态,并且通常无需按下按钮,它就会更改 UEFI 启动顺序以首先启动 SSD 并重新启动。然后 Debian 系统 (SSD) 将首先启动,并在启动时再次更改 UEFI 启动顺序以在下次再次首先启动 eMMC-Linux(它可以识别最终按下的按钮或通常再次加载 SSD)。

问题是,如果 SSD 上的 Debian-linux 因任何原因出现故障,它都无法在启动时将启动顺序改回 eMMC-linux。

那么,解决这个问题的“正确”方法是什么?我认为这太简单还是太复杂?在这种情况下,有哪些选择?

答案1

从上面的评论中我得到了 Jaromanda X 的答案。

efibootmgr选项--bootnext正好实现了我想要实现的功能。

相关内容