Hi all,
On Wed, 18 Oct 2023 at 12:17, Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
On 10/18/23 10:34, Ard Biesheuvel wrote:
(cc Heinrich)
Hello Ben,
Thanks for the report.
On Wed, 18 Oct 2023 at 03:19, Ben Schneider ben@bens.haus wrote:
Hi Ard,
I have an ESPRESSObin Ultra (aarch64) that uses U-Boot as its bootloader. It shipped from the manufacturer with with v5.10, and I've been trying to upgrade. U-Boot supports booting Image directly via EFI (https://u-boot.readthedocs.io/en/latest/usage/cmd/bootefi.html), and I have been using it that way to successfully boot the system up to and including v6.0.19. However, v6.1 and v6.5 kernels fail to boot.
When booting successfully, the following messages are displayed:
EFI stub: Booting Linux Kernel...EFI stub: ERROR: FIRMWARE BUG: efi_loaded_image_t::image_base has bogus value EFI stub: ERROR: FIRMWARE BUG: kernel image not aligned on 64k boundary EFI stub: Using DTB from configuration table EFI stub: ERROR: Failed to install memreserve config table! EFI stub: Exiting boot services... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
I suspect many of the above error messages are simply attributable to using U-Boot to load an EFI stub and can be safely ignored given that the system boots and runs fine.
These messages are not typical for launching a kernel via the EFI stub from U-Boot. It should look like this:
The alignment one might be true depending on the U-Boot version that's used. The alignment was fixed on commit ebdea88d57d5e ("efi_loader: Fix loaded image alignment") The rest indeed make little sense for now
=> load mmc 0:1 $fdt_addr_r boot/dtb 28846 bytes read in 6 ms (4.6 MiB/s) => load mmc 0:1 $kernel_addr_r boot/vmlinuz 53686664 bytes read in 2223 ms (23 MiB/s) => setenv bootargs root=/dev/mmcblk0p1 efi=debug earlyprintk initrd=boot/initrd.img => bootefi $kernel_addr_r $fdt_addr_r Card did not respond to voltage select! : -110 Failed to load EFI variables Booting /boot\vmlinuz EFI stub: Booting Linux Kernel... EFI stub: EFI_RNG_PROTOCOL unavailable EFI stub: Loaded initrd from command line option EFI stub: Using DTB from configuration table EFI stub: Exiting boot services... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[...]
Cheers /Ilias