On Thu, 16 May 2024 at 14:24, Jan Čermák <sai...@sairon.cz> wrote: > > Hi Ard, everyone, > > On 23. 05. 23 17:31, Ard Biesheuvel wrote: > > Switch the x86 based EFI platform builds to the generic EFI loader, > > ... > > We use GRUB as the loader for the Home Assistant Operating System (based > on Buildroot, using mostly unpatched GRUB 2 build [1]) and after > updating to the latest 2.12 release, this patch (commit > cfbfae1aef0694b416aa199291cfef7596cdfc20) has been identified to break > boot on Intel Atom NM10, at least with upstream kernel 6.6 with > CONFIG_EFI_STUB enabled. I reproduced it on Intel D525MW board, and > there are some more reports from HAOS users on Github [2]. > > Initially, we decided to revert the patch [3] for the time being, > however, while it fixed issue for users running on those rather old > boards, it broke boot [4] on the comparatively newer Fujitsu Esprimo > Q920. From the user reports, there is no BIOS update available that will > make any difference but reverting to a "vanilla" 2.12 fixes that. > > Do you have a clue what could have gone wrong, either with the original > patch, or why the revert breaks the other platform? I'll be happy to get > any details and perform tests on the NM10 board I have here. > Alternatively, I can also ask users with the Q920 for more details or do > some tests. >
Upstream GRUB 2.06 does not boot Linux via the EFI stub, it uses the legacy EFI boot method where the Linux kernel is only entered after the EFI firmware has been shut down. GRUB 2.12 changed this, and will know always use the pure EFI boot sequence, relying on the EFI stub in the Linux kernel to shut down the firmware services. Does your Kconfig have EFI_DISABLE_PCI_DMA enabled by any chance? That could definitely produce the issues you are observing. In any case, given that you never relied on the EFI stub in the past on x86_64 (as GRUB 2.06 does not rely on it), you could just disable that in your Kconfig. That of course does not solve the Fujitsu issue, which apparently requires boot via the EFI stub, but I don't have a solution for that - I suppose that simply never worked with the old 'working' version of the OS? _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel