1

When booting the Linux kernel from Grub on my ARM machine, it results in an immediate reboot.

The efi stub output the following:

grub2> set root=(hd6,gpt1)
grub2> linux /efi/linux/vmlinuz
grub2> initrd /efi/linux/initrd.img
grub2> boot
EFI stub: Booting Linux kernel...
EFI stub: Using DTB configuration table
EFI stub: Exiting boot services...

(I know, there's no information on the Linux root partition yet, I first just want to find out whether I can actually boot the kernel.)

The machine is powered by a Qualcomm Snapdragon 8cx on an ARM64 UEFI by American Megatrends. As it was initially shipped with a proprietary operating system, I found no way so far to e.g. boot it using a proper DTB file.

Is it possible to boot the kernel on an ARM64-UEFI machine without DTB file but just with the UEFI-given hardware information?

The kernel I want to boot was just compiled Linux 5.16.1, enabling all ARM64 features and the Qualcomm-configuration.


EDIT:

Even with a proper DTB file, the same behavior occurred.

grub2> devicetree /efi/linux/my-devicetree.dtb

1 Answer 1

0

Currently, it is not possible to boot Linux Kernel on Qualcomm chipsets without devicetree as most drivers depend on devicetree for platform data. Most of the Qualcomm specific drivers have no knowledge of ACPI.

For your question about not being able to boot the kernel even without devicetree, make sure you have enabled the kernel config CONFIG_EFI_STUB and disabled CONFIG_EFI_DISABLE_PCI_DMA. The first one lets GRUB to boot the kernel with the help of EFI stub added to the kernel image and disabling the second one keeps the PCI devices functional after exiting the UEFI services. Enabling the second option might cause boot failure with some PCI devices.

See: https://github.com/pftf/RPi4/issues/168

Also, you could enable the EFI earlycon by passing earlycon=efifb command line parameter.

1
  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Jun 20, 2022 at 16:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .