Re: Grub doesn’t load devicetree

Peter Robinson pbrobinson at gmail.com
Thu Aug 29 11:44:33 CEST 2024


On Thu, 29 Aug 2024 at 10:40, Tomaž Zaman <tomaz at mono.si> wrote:

> I get this:
>
> No UEFI binary known at 0x81000000
>

Are you building the kernel with all the appropriate UEFI shim bits?
Installing the EFI kernel pieces etc?

Sorry, I can't help with kernel build process bits, you'll need to google
that.


> *Tomaž Zaman, *CEO
> Mono Technologies Inc.
> +386 30 651 645
>
>
>
> On 29 Aug 2024 at 11:38 +0200, Peter Robinson <pbrobinson at gmail.com>,
> wrote:
>
>
>
> On Thu, 29 Aug 2024 at 10:31, Tomaž Zaman <tomaz at mono.si> wrote:
>
>> Doesn’t work - at least not correctly:
>>
>> => fatload mmc 0:1 $fdt_addr_r /boot/dtb/fsl-ls1046a-rdb-sdk.dtb
>> 31793 bytes read in 4 ms (7.6 MiB/s)
>> => fatload mmc 0:1 $kernel_addr_r /EFI/boot/grubaa64.efi
>> 3978688 bytes read in 168 ms (22.6 MiB/s)
>> => setenv fman_ucode
>> => bootefi $kernel_addr_r $fdt_addr_r
>> Failed to load EFI variables
>> WARNING failed to get smmu node: FDT_ERR_NOTFOUND
>> WARNING failed to get smmu node: FDT_ERR_NOTFOUND
>> Booting /\EFI\boot\grubaa64.efi
>> Welcome to GRUB!
>>
>> Because of those FDT_ERR_NOTFOUND kernel reports a bunch of errors and
>> doesn’t boot with all the hardware support I need it to.
>>
>> On the other hand, if I run the same kernel/devicetree/initramfs with
>> booti, bypassing the Grub completely, it works fine. The problem is, I need
>> Grub2 for his project.
>>
>
> What if you boot the kernel directly using bootefi rather than booti?
>
>
>> *Tomaž Zaman, *CEO
>> Mono Technologies Inc.
>> +386 30 651 645
>>
>>
>>
>> On 29 Aug 2024 at 10:02 +0200, Peter Robinson <pbrobinson at gmail.com>,
>> wrote:
>>
>> On Thu, 29 Aug 2024 at 05:14, Tomaž Zaman <tomaz at mono.si> wrote:
>>
>>
>> I’m working on an arm64 board with an NXP LS1046A CPU and I simply cannot
>> get Grub to load a different device tree than the one that’s provided to it
>> by the EFI Stub.
>>
>> => fatload mmc 0:1 $kernel_addr_r /EFI/boot/grubaa64.efi
>> => fatload mmc 0:1 $fdt_addr_r /boot/dtb/fsl-ls1046a-rdb-sdk.dtb
>> => bootefi $kernel_addr_r $fdt_addr_r
>>
>> At his point, I get a couple of errors like “smmu node not found”.
>>
>> However, if I, instead of "fsl-ls1046a-rdb-sdk.dtb” use
>> "fsl-ls1046a-rdb.dtb”, then I get to Grub without any errors.
>>
>> And this is where I encounter the issue. Because I would like to use a
>> different DTB for booting Linux than the one that’s provided by the EFI
>> configuration table, I set
>>
>> devicetree /boot/dtb/fsl-ls1046a-rdb-sdk.dtb
>> linux /boot/vmlinuz-6.6.3-arm64
>> initrd /boot/initrd.img-6.6.3-arm64
>>
>> In this case, the devicetree instruction gets ignored completely, and
>> before I see kernel loading, the message “Using FDT from the EFI
>> configuration table"
>>
>> Is there a way for me to override/replace the device tree that u-boot
>> passed to Grub? I tried passing the “dtb=“ parameter to the kernel boot
>> command, but in that case, I get "EFI stub: ERROR: Failed to handle
>> fs_proto” because kernel when booting doesn’t appear to have access to the
>> same filesystem that Grub does.
>>
>>
>> Why don't you load a new one into memory with u-boot and then grub
>> will already have the one you want to use and grun doesn't need to do
>> anything. Something like this on the U-Boot command line would load
>> the DT and grub and start to boot:
>>
>> load mmc 0:1 ${kernel_addr_r} EFI/BOOT/BOOTAA64.EFI
>> load mmc 0:1 ${fdt_addr_r} dtb/${fdtfile}
>> bootefi ${kernel_addr_r} ${fdt_addr_r}
>>
>> You'll need to adjust for storage, partitions, file paths etc.
>>
>> Thank you!
>>
>>
>> (this is my first time using *any* mailing list, so apologies if this is
>> the wrong address to send this question to)
>>
>> Tomaž Zaman, CEO
>> Mono Technologies Inc.
>> +386 30 651 645
>>
>> [cid:18EB2FEE485A4DD7A1CE716CE14FCBC7]
>>
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: C1D504EAD21B41379FD3EEB7B3129E94.png
Type: image/png
Size: 5014 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240829/09130af6/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 98510E94234546F0B7D19E62D33FDFCC.png
Type: image/png
Size: 5014 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240829/09130af6/attachment-0001.png>


More information about the U-Boot mailing list