The question seems to be simple but I have a problem : I have a DTB file that is mandatory to boot my ARM64 computer. And I fail at trying to tell him to use it !
On the ISO at side of the "vmLinuz" and "initrd.gz" file, i've placed the "msm8998-mtp.dtb" file.
grub.cfg interesting part :
Code: Select all
menuentry 'Linux 4.20 No ACPI build MSM8998 DTB' {
set background_color=black
linux /install.a64/vmLinuz --- dtb=/install.a64/msm8998-mtp.dtb
initrd /install.a64/initrd.gz
}
Also, I think it's a CDROM Filesystem, because it's an ISO file I'm placing on the USB Key with dd. But I guess Linux know what a CD-ROM filesystem is !
I have to give this DTB file to the Kernel, if not it has no chance to boot. When it's saying "using DTB from configuration table" it's not going to work (somebody told me that the DTB inside the UEFI Configuration Tables is not complete enough on this device), I have to read "using DTB from command line" into the feedback.
I'm failing at that which is pretty sad and frustrating.
I get an error message saying "Failed to handle fs_proto" when I try to give the address of the file. It makes no differences if the adress is valid or invalid, which probably means I have to use a precise syntax in order to have Linux looking into the good device>file system, at the correct folder... But I don't know which syntax and searching on the Internet gives anything but that...
Thank you in advance !
EDIT : after a lot of frustrating searches telling me uninteresting things over hundreds of pages, I'm back to this page talking about "dtb=" command. https://www.kernel.org/doc/Documentation/efi-stub.txt but giving some clues some lines upper, into initrd explanations.
It seems that the syntax (at least for initrd) should be with backslashes and can only be relative to ESP root... However my DTB file is not into ESP root so I'll try to find a way to add it by moving / resizing partitions of the ISO (hoping that GRUB will still be able to find its files) in order to add my file on it. If not I will try to add fs0, fs1, fs2, or fs0:\, fs1:\, fs2:\... and hope that Linux would be able to understand what I'm talking about !
I'll keep you informed