USB Keyboard not available for GRUB encrypted /boot on Le Potato

When using the Le Potato, is it possible to use a USB keyboard to enter the password for an encrypted /boot when using GRUB?

My setup is:

  • I’m building u-boot and flashing it to my microSD card as describe in the u-boot docs.
  • I then setup encrypted partitions for full disk encryption with GRUB as described in the Arch Linux wiki.
  • Then I install Debian using debootstrap and configure GRUB.

I can enter the password over UART, and everything works great.

But, I haven’t been able to get a USB keyboard to work, so I can’t just plug in HDMI and my keyboard and boot normally. I’ve tried adding “usb usb_keyboard ohci uhci ehci” to GRUB_PRELOAD_MODULES, and I’ve tried doing the equivalent to u-boot’s config when building it.

Am I missing something? Or is it just impossible to bring up a USB keyboard at this stage in the boot process on the le potato?

You should just use our bootloader and not build your own. GRUB runs as an UEFI application so it supports UEFI input devices (USB keyboard and UART).

Does that mean I can build u-boot using your fork of u-boot, and that your fork has the necessary changes that are not in the upstream repo?

EDIT: Flashing the bootloader with the libretech-flash-tool does indeed work, but I’d still prefer to build it myself.

See How to Build Your Own Bootloader for Libre Computer Boards