diff mbox series

initramfs-framework: allow opting out of efivarfs mount

Message ID 20260914071041.1909881-1-wenwfu@qti.qualcomm.com
State New
Headers show
Series initramfs-framework: allow opting out of efivarfs mount | expand

Commit Message

Wenwen Fu Sept. 14, 2026, 7:10 a.m. UTC
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 <wenwfu@qti.qualcomm.com>
---
 .../initrdscripts/initramfs-framework/init             | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
diff mbox series

Patch

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