[syslinux] Syslinux 6.03, kernel not relocatable.

Ady ady-sf at hotmail.com
Sun Nov 16 23:45:05 PST 2014


> 
> On 16/11/2014 18:33, Didier Spaier wrote:
> > Hi all,
> >
> > I have requested tests of this USB installer:
> > http://slint.fr/testing/slint64-14.1_syslinux.6.03.img
> > in both BIOS and UEFI modes.
> >
> > A test in UEFI mode:
> > http://www.linuxquestions.org/questions/slackware-14/%5Bann%5D-syslinux-6-03-has-been-released-4175521209/#post5270515 
> >
> > leaded to this message:
> >
> > "Cannot relocate kernel, bailing out"
> >
> > That leaded me to this post in the ML:
> > http://www.zytor.com/pipermail/syslinux-commits/2013-July/002381.html
> >
> > The kernel in the image file being not relocatable. I'll replace it 
> > with one with
> > CONFIG_RELOCATABLE=Y to confirm the issue.
> With CONFIG_RELOCATABLE=Y (only change to the kernel) the installer
> bow boots OK,
> > But meanwhile, is there some  other thing I can do, like moving the
> > kernel elsewhere in the image?
> Stupid idea, of course. I should have dropped an eye on
> /usr/src/linux/Documentation/x86/boot.txt
> I hardly understand anything there, but i guess this has something
> to do with the EFI handover protocol?
> 
> The sparse mentions of "relocatable" (about modules) are
> also hardly understandable by me.
> 
> Anyway Slackware-current (or next, if you prefer) has
> CONFIG_RELOCATABLE=Y so case closed, but maybe
> some kind soul could give me an "explanation for
> newbies"? In exchange I could propose (and maybe make,
> after approval) some changes/additions in the wiki to help
> newbies like me find their way (assuming that the target
> audience is not "only knowledgeable people", of course).
> 
> Thanks for reading and best regards,
> Didier
> 
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> 

FWIW, the Archlinux wiki also mentions "CONFIG_RELOCATABLE" in the 
context of UEFI kernels, but with no source for such information or any 
other explanation about it.

The Slackware Documentation Project wiki also mentions 
"CONFIG_RELOCATABLE" in:
 
<http://docs.slackware.com/howtos:slackware_admin:linux_kernel_options_f
or_uefi_and_elilo> 

and cites the Archlinux wiki too.

In addition to:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Do
cumentation/x86/boot.txt

there is:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Do
cumentation/x86/x86_64/uefi.txt

"CONFIG_RELOCATABLE" is not mentioned in this "uefi.txt" document, but 
there is "add_efi_memmap" as boot parameter.

I wonder if "add_efi_memmap" can be of any help when the kernel was not 
built with "CONFIG_RELOCATABLE".

Considering the Syslinux commit:
http://www.zytor.com/pipermail/syslinux-commits/2013-July/002381.html

"We don't absolutely need a kernel to be built with 
CONFIG_RELOCATABLE=y"

perhaps Matt Fleming or hpa might be so kind to comment?

Is there a case in which syslinux.efi can actually boot a kernel that 
was not built with "CONFIG_RELOCATABLE[=y]"?

If a kernel was not built with "CONFIG_RELOCATABLE [=y]", is there some 
boot parameter that could help overcome such situation (i.e. to boot 
such kernel by 
means of syslinux.efi anyway)?

TIA,
Ady.


More information about the Syslinux mailing list