I’m running with the latest experimental UEFI firmware for Xavier AGX board.
The problem I’m hitting is, no matter what UEFI bootloader (tried both grub and systemd-boot), they all failed to load the initramfs created by
mkinitcpio from Arch.
At booting time, the following error message show up:
EFI stub: Booting Linux Kernel…
EFI stub: Using DTB from configuration table
EFI stub: ERROR: Failed to load initrd!
EFI stub: Exiting boot services and installing virtual address map…
[ 0.000000] Linux version 5.12.0-rc8-custom+ (adam@adam-pc) (aarch64-linux-gnu-gcc (GCC) 10.3.0, GNU ld (GNU Binutils) 2.36.1) #31 SMP PREEMPT Sun May 9 13:58:55 CST 2021
Without the ability to load an initramfs, I can still compile a bootable kernel, although tegra-xusb probe will timeout after 60s.
One thing to note, since my kernel is custom built, I use something like “Image-custom” for my kernel and “initramfs-custom.img” for my initrd.
While Manjaro ARM provides upstream kernel and its initramfs with filename like “Image-linux” and “initramfs-linux.img”, while the initramfs can be loaded without problem.
(Both initramfs are created by the same tool)
Is the UEFI doing extra check on the initramfs filename?
Rejecting a initramfs just depending on the filename seems overkilled to me.