The initramfs mounts efivarfs before parsing the kernel command line. This was added so EFI metadata is available to early consumers such as mdadm when assembling Intel VROC RAID root devices.
On systems where the real root filesystem mounts efivarfs later, the early mount is redundant and adds work to the initramfs critical path. Allow these systems to opt out with initramfs.efivarfs=0. Parse the command line before deciding whether to mount efivarfs. Keep the existing mount behavior by default for initramfs users that need EFI variables before switch_root. Signed-off-by: Wenwen Fu <[email protected]> --- .../initrdscripts/initramfs-framework/init | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/init b/meta/recipes-core/initrdscripts/initramfs-framework/init index e2da3511b8..5dbf32a12d 100755 --- a/meta/recipes-core/initrdscripts/initramfs-framework/init +++ b/meta/recipes-core/initrdscripts/initramfs-framework/init @@ -87,10 +87,6 @@ mount -t sysfs sysfs /sys mount -t tmpfs tmpfs /run mkdir -p /run/lock -if [ -d $EFI_DIR ];then - mount -t efivarfs none /sys/firmware/efi/efivars -fi - # populate bootparam environment for p in `cat /proc/cmdline`; do if [ -n "$quoted" ]; then @@ -137,6 +133,12 @@ for p in `cat /proc/cmdline`; do fi done +# Keep efivarfs available in the initramfs by default. Systems which +# provide it from the real root filesystem can opt out of the early mount. +if [ "${bootparam_initramfs_efivarfs:-1}" != "0" ] && [ -d "$EFI_DIR" ]; then + mount -t efivarfs none /sys/firmware/efi/efivars +fi + # use /dev with devtmpfs if grep -q devtmpfs /proc/filesystems; then mkdir -p /dev -- 2.43.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#245759): https://lists.openembedded.org/g/openembedded-core/message/245759 Mute This Topic: https://lists.openembedded.org/mt/121239117/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
