systemd-boot 可以从任意分区加载内核吗?

systemd-boot 可以从任意分区加载内核吗?

我有一个包含三个分区的磁盘:引导分区(带有 systemd-boot)、根文件系统 1 和根文件系统 2

在我过去做过的嵌入式系统中,我将每个文件系统的内核存储在这些文件系统上(而不是在引导分区上),并且 u-boot 能够加载我想要的任何一个。

我找不到使用 systemd-boot 复制此行为的方法。 systemd-boot 只能从启动的同一分区加载内核吗?

作为示例,这是我当前的启动条目:

title boot
linux /bzImage
options LABEL=boot  rootwait console=ttyS0,115200 console=tty0 root=/dev/mmcblk1p2 psplash=false

我想有效地将​​ linux 行更改为:

linux {/dev/mmcblk1p2}/boot/bzImage

这可能吗?

答案1

是的,systemd-boot 使用 EFI 文件系统驱动程序来加载内核和 initrd,而不是自带它自己的驱动程序,并且仅访问 EFI 系统分区。

相关内容