[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