On Mon, Feb 24, 2025 at 10:50:58PM +0100, Aurelien Jarno wrote:
> It works fine when the kernel is directly started from U-Boot with
> bootefi. It only fails when U-Boot launches Grub and Grub launches the
> EFI file.

Okay, so exactly the one use case "hardware -> u-boot -> grub -> kernel"
does not work.  Also I found reports that it seems to work for others on
this hardware.[1]  So this whole ordeal is not a bug fix, but a workaround
for another as yet not identified bug in either of the components.

So, I see the following steps to see what the heck happens:
- Upgrade u-boot.  The version in Debian is one year old and several new
  releases exist since then.
- Build u-boot with SHOW_REGS to see what exactly it failed on.  The
  already shown TVAL register should contain the trapping address and
  that is pretty near to the loaded u-boot.
- Try to find what this code is for.  Sadly the Linux package does not
  retain debugging infos for the EFI wrappers.
- Change the instruction into a trap to be able to see the same error in
  other environments and compare.

> You should use OpenSBI as the bios, and U-Boot in S-mode as the kernel.

Yeah, thanks, found that as well.  With that Linux is able to boot
correctly.

Bastian

[1]: At least I read the last lines in this log this way
https://libera.irclog.whitequark.org/u-boot/2024-05-10
-- 
If I can have honesty, it's easier to overlook mistakes.
                -- Kirk, "Space Seed", stardate 3141.9

Reply via email to