[syslinux] elf.c32 plus it's library

H. Peter Anvin hpa at zytor.com
Tue Sep 25 12:39:22 PDT 2007

Geert Stappers wrote:
>> Hi,
>> With linux.c32, there is the following error message:
>> loadind /kernel/hello.exe... ok
>> kernel load failure (insuficient memory?)
>> boot:
> ~ CPU + Clock       | P4 3GHz   | P4  2GHz      | P3 866MHz
>> memory            |  2048 M   |   512 M       |  256 M
>> Vendor            |  none     | DOLCH FlexPAC | HP Kayak XU800
>> BIOS              | Intel     |  Award        |    HP
>              versions dropped, latest available assumed
>> pxelinux.0        |   OK      |    OK         |    OK
>> elf.c32           |   OK      |   FAIL        |   FAIL
>> linux.c32         |  FAIL     |   FAIL        |   FAIL
> All linux.c32 configs failing, strange ...
> Has any one a working configuration for linux.c32?
> ( Is a special kernel needed? Or another special configuration? )

No, but I think this strengthens my belief that there is something
subtly wrong with the shuffle library (used by elf.c32 and linux.c32.)

To explain in more detail: after loading the kernel into memory, the
shuffle library takes a list of memory segments and a list representing
the final configuration, and computes a sequence of moves that makes it
possible to get from point A to point B.  This depends in part on the
memory configuration of the system, as well, of course, as on random events.

It always works on my test machine, of course (2 GB RAM), but that's
probably as much selection effect as anything else.  It's also possible
that having lots of memory makes it less likely to provoke failure.

It would be *extremely* interesting if you could recompile elf.c32 with
"#define DEBUG 0" in com32/lib/syslinux/movebits.c changed to "#define
DEBUG 1" and see what prints out.


More information about the Syslinux mailing list