[syslinux] Boot iPXE from syslinux/isolinux

Christian Hesse list at eworm.de
Wed Dec 4 00:38:50 PST 2013


"H. Peter Anvin" <hpa at zytor.com> on Tue, 2013/12/03 20:26:
> On 10/24/2013 01:09 AM, Christian Hesse wrote:
> >>> 
> >>> version 6.02-pre5 works, 6.02-pre6 does not.
> >> 
> >> Struggled with git bisect, but finally succeeded:
> >> 
> >> 8f470e7bfe75f6401f6c5432988c620b863ad274 is the first bad commit 
> >> commit 8f470e7bfe75f6401f6c5432988c620b863ad274 Author: Matt
> >> Fleming <matt.fleming at intel.com> Date:   Tue Jul 16 15:15:54 2013
> >> +0100
> >> 
> >> movebits: Add syslinux_memmap_find()
> >> 
> >> Refactor the code for finding a suitable location for kernel 
> >> protected-mode and real-mode data. It's complicated enough that
> >> it deserves to be separated into its own function.
> >> 
> >> Signed-off-by: Matt Fleming <matt.fleming at intel.com>
> >> 
> >> :040000 040000 a7f3dc3f6ac34bd09336eff39e2f3d2d1bd8c9b6 
> >> 3e4cbdfc3cb9928c5c809fc4400623eefbc398f4 M      com32
> > 
> > If anybody tries to reproduce: I have uploaded an iPXE zImage that
> > isolinux fails to boot: http://www.eworm.de/tmp/ipxe.lkrn
> > 
> > Let be know if you need any more info.
> > 
> 
> So this looks to be a zImage file (as opposed to a bzImage file), but
> it does have a substantial payload (0x59f50 bytes.)
> 
> I am guessing that that is the source of the problems, but I'm still
> at a loss from staring at the code.  If you could try turning on
> debugging output by having debug.c32 installed on the system and running:
> 
> debug bios_boot_linux calc_cmdline_offset
> 
> ... from the command line before trying to load ipxe.lkrn?
> 
> I should try it out myself if I can find the time...

Sure. Here we go:

boot: debug -e bios_boot_linux calc_cmdline_offset
boot: ipxe.lkrn
Loading ipxe.lkrn... ok
cmdline_offset at 0x9f7e0
Initial memory map:
Could not find location for protected-mode code
Booting kernel failed: Invalid argument
-- 
main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
"CX:;",b;for(a/*    Chris           get my mail address:    */=0;b=c[a++];)
putchar(b-1/(/*               gcc -o sig sig.c && ./sig    */b/42*2-3)*42);}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20131204/f4b758c8/attachment.sig>


More information about the Syslinux mailing list