[syslinux] regression: relocatable kernels on a chromebook
Scot Doyle
lkml14 at scotdoyle.com
Fri Feb 6 17:52:56 PST 2015
On Fri, 6 Feb 2015, Ady wrote:
...
> Testing with public popular kernels that are known to work (so to
> compare the behavior) might be useful too, but I don't know of any
> particular kernels to suggest for such tests.
Right, I've confirmed boot failure using CONFIG_RELOCATABLE with
unmodified Linux 3.12.24, 3.13, 3.15, 3.18, and 3.19-rc7 kernels.
> I know that for EFISTUB, the kernel config should include:
>
> CONFIG_RELOCATABLE=y
> CONFIG_EFI=y
> CONFIG_EFI_STUB=y
> CONFIG_FB_EFI=y
> CONFIG_FRAMEBUFFER_CONSOLE=y
>
> For UEFI ia32 firmware, it should be possible (in theory, and if I
> understand correctly) to use 32 bit Syslinux to load a 64 bit kernel,
> as long as the latter has CONFIG_EFI_MIXED enabled.
>
> We have seen reports of failure to boot relocatable kernels when they
> are not built using also (some of) the other config settings.
>
> Even when we are now talking about booting in CSM mode, perhaps the
> relocatable kernel needs all these config settings so to be bootable by
> current Syslinux 6.03?
>
How about these five config combinations given that CONFIG_FB_EFI
requires CONFIG_EFI and CONFIG_EFI_STUB requires CONFIG_EFI and
CONFIG_RELOCATABLE?
1. linux 3.19-rc7 with
CONFIG_RELOCATABLE=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
2. linux 3.19-rc7 with
CONFIG_RELOCATABLE=y
CONFIG_EFI=y
# CONFIG_EFI_STUB is not set
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
3. linux 3.19-rc7 with
CONFIG_RELOCATABLE=y
# CONFIG_EFI is not set
CONFIG_FRAMEBUFFER_CONSOLE=y
4. linux 3.19-rc7 with
# CONFIG_RELOCATABLE is not set
CONFIG_EFI=y
# CONFIG_EFI_STUB is not set
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
5. linux 3.19-rc7 with
# CONFIG_RELOCATABLE is not set
# CONFIG_EFI is not set
CONFIG_FRAMEBUFFER_CONSOLE=y
Using the 32-bit extlinux pre-built package from kernel.org, only 4 and 5
boot, while the others reboot as previously described. Using the patched
extlinux, all five boot.
More information about the Syslinux
mailing list