[syslinux] regression: relocatable kernels on a chromebook
Scot Doyle
lkml14 at scotdoyle.com
Thu Feb 5 19:18:27 PST 2015
A Toshiba CB35 Chromebook running Google's stock SeaBIOS reboots after
selecting a relocatable kernel from extlinux 6.03.
This is a regression caused by commit 8f470e7b
movebits: Add syslinux_memmap_find()
which factors syslinux_memmap_find() out of bios_boot_linux(). Prior to
the refactoring, prot_mode_size was passed as the length in the first call
to syslinux_memmap_type(). After the refactoring, hdr.init_size was
passed. Now, with commit ef81a3ad, one or the other is passed according to
whether the kernel is relocatable.
bios_boot_linux() reaches syslinux_shuffle_boot_rm(), rebooting if the
kernel is relocatable and successfully starting the kernel if not.
If I modify syslinux_memmap_find() to pass prot_mode_size as the length to
syslinux_memmap_type(), extlinux 6.03 is able to start both types of
kernel.
Possibly related to
https://bugzilla.redhat.com/show_bug.cgi?id=1135793
https://bugs.archlinux.org/task/40637
I'd be happy to submit a patch or test one. Thoughts?
More information about the Syslinux
mailing list