The fields ConsoleInHandle, ConsoleOutHandle, ConsoleErrHandle must point
to the handles with the respective console protocols. Failure to do so
leads to an error in the EFI Shell:

    No SimpleTextInputEx was found. CTRL-based features are not usable.

Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
---
 lib/efi_loader/efi_boottime.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 253f9f75ef..e65ca6a4cb 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -3956,8 +3956,11 @@ efi_status_t efi_initialize_system_table(void)
         * These entries will be set to NULL in ExitBootServices(). To avoid
         * relocation in SetVirtualAddressMap(), set them dynamically.
         */
+       systab.con_in_handle = efi_root;
        systab.con_in = &efi_con_in;
+       systab.con_out_handle = efi_root;
        systab.con_out = &efi_con_out;
+       systab.stderr_handle = efi_root;
        systab.std_err = &efi_con_out;
        systab.boottime = &efi_boot_services;
 
-- 
2.37.2

Reply via email to