pbatard / EfiFs

EFI FileSystem drivers
https://efi.akeo.ie
GNU General Public License v3.0
528 stars 80 forks source link

Unable to load EFISTUB 5.9 kernel #26

Closed marlock9 closed 2 years ago

marlock9 commented 4 years ago

I'm unable to boot recent (> 5.7) kernels with your xfs (probably f2fs too) driver. Refind output is: ERROR: buffer too small If I try to load from EFI shell, then I got:

ERROR: Unable to load file info
ERROR: Unable to load initramfs

5.4.77 kernel boots via both Refind and EFI Shell. Both 5.4.77 and 5.9.8 boot via GRUB 2.04. I don't know how to get any debug logging for this, set FS_LOGGING 4 doesn't apply to this.

xfs driver v1.5 Archlinux, kernel 5.9.8 MoBo MSI Z390 MPG Gaming Edge

pbatard commented 2 years ago

See #38#issuecomment-1236164699

This is basically a kernel issue with the fixed size structure they are using to retrieve the initrd/initramfs data. Now, we could work around this in EfiFs by reducing the default size of our own structure, and we probably will do that, but ultimately, the kernel should not expect that the Info buffer's MAX_FILE_NAME_LEN will be less than 512 bytes, especially as there are counter examples of this in the UEFI code...