From 6b5adcca6f002ab440d616186942ce44ca3bd152 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Wed, 19 Feb 2020 11:40:34 -0600 Subject: [PATCH] init: load usb modules for devices using USB keyboard Some (out of tree) servers require use of a USB keyboard, and need the USB kernel modules loaded prior to checking for keypress to enter a recovery console. Since loading the modules affects the value in PRC5 and can cause issues putting a LUKS key in TPM, guard the loading of the USB modules with CONFIG_USB_KEYBOARD and remove the unguarded call from gui-init. This should resolve issues #603 and #674. Signed-off-by: Matt DeVillier --- initrd/bin/gui-init | 3 --- initrd/init | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/initrd/bin/gui-init b/initrd/bin/gui-init index 2b28fc21..757dfc9a 100755 --- a/initrd/bin/gui-init +++ b/initrd/bin/gui-init @@ -128,9 +128,6 @@ clean_boot_check() "Clean Boot Detected - Perform OEM Factory Reset?" "$CONFIG_WARNING_BG_COLOR" } -# enable USB to load modules for external kb -enable_usb - if detect_boot_device ; then # /boot device with installed OS found clean_boot_check diff --git a/initrd/init b/initrd/init index 3bac630b..509024bf 100755 --- a/initrd/init +++ b/initrd/init @@ -64,6 +64,11 @@ if [ ! -z "$CONFIG_BOOT_RECOVERY_SERIAL" ]; then > "$CONFIG_BOOT_RECOVERY_SERIAL" 2>&1 & fi +# load USB modules for boards using a USB keyboard +if [ "$CONFIG_USB_KEYBOARD" = "y" ]; then + enable_usb +fi + # If the user has been holding down r, enter a recovery shell # otherwise immediately start the configured boot script. # We don't print a prompt, since this is a near instant timeout.