
Hi Simon,
[...]
Can we use the best-match compatible approach as expected by the new 'make image.fit' in Linux?
Filenames should be deprecated IMO. I am happy to help work on how to do that if you agree.
Hello Simon,
It is the OS that creates boot options. The OS can determine the exact dtb file based on the compatible string and the kernel version once per kernel upgrade. This is much more efficient than doing the same on every boot.
Replacing $fdtfile by a matching logic could make sense. But please consider the effect on boot time if have to read through more than 1000 arm64 dtbs with U-Boot's non-caching file-system drivers.
The suggested option here is to use FIT, which is very fast at scanning the files. Please see [1]
Failing that, we could implement a way (in FIT) of specifying that the FDT is in an external file. In that case FIT would become a mapping from compatible strings to filenames.
This is kind of irrelevant to FIT. This is how the efibootmgr configures the files it has to load. commit 76e8acce12fe, commit 53f6a5aa8626, and doc/develop/uefi/uefi.rst, Chapter Load file 2 protocol has enough information of how the initrd is implemented. What Heinrich is doing here is extending the existing code to load a DT
Regards /Ilias
Regards, Simon
[1] https://github.com/open-source-firmware/flat-image-tree/blob/main/source/cha...