[syslinux] syslinux.exe, 5.01 on xp: Failed to load COM32 file, and more

Ady ady-sf at hotmail.com
Sun Sep 15 06:31:09 PDT 2013


> Platform: MS XP
> 
>   1. cfg file:
> prompt   1
> timeout  150
> display  /downloadedPrograms/syslinux/syslinux.cfg
> 
> default  xp
> label  xp
>         com32  chain.c32
>         append hd0  1  ntldr=/ntldr
> label  de
>         com32  chain.c32
>         append hd0  2
> label  memtest
>         linux  memtest86+.bin
> label  hello
>         com32  hello.c32
> 
>   2. Installed by
> From xp cmd prompt:
>     c:\downloadedPrograms\syslinux\syslinux.exe --active     \
>            --directory /downloadedPrograms/syslinux/ --force \
>            --install --mbr c:
> The line, and the contniuation slashes, are for clarity.  In reality
> it was on a single line.
> 
>   3. Result:
> Got a boot: prompt after displaying the cfg file.  But:
> 
>     boot: xp
>     Failed to load COM32 file chain.c32
>     boot: memtest
>     Loading memtest86+.bin... ok
>     Booting kernel failed: Bad file number
>     boot: hello
>     Hello, world, from 0x001FA200! malloc return 0x001fb660

 I'd like to suggest a simple change that should ease the situation: 
change the location of SYSLINUX to
 c:\syslinux\ 

instead of having "c:\downloadedPrograms\syslinux\".

This suggestion means that:
1_ all the files related to Syslinux (e.g. the cfg file, the c32 
modules...) should be located under "c:\syslinux\" (.c32 files should 
always match the same version of Syslinux being installed, and don't 
forget to use the lib*.c32 files.) - this should be your first step;

2_ all relevant absolute paths (like the one used in your "display" 
directive in your cfg) shall be edited accordingly (or, 
alternatively, use relative paths);

3_ The new suggested installation command would/should be:
  c:\syslinux\syslinux.exe --force --mbr --active /// 
              --directory /syslinux --install c: 

That's all one command. The "///" slashes are for clarity only.

The command shall be executed with administrator permissions.

Additionally, there is a chance that the specific version of Syslinux 
has some regression bug, so I would suggest trying with the latest 
official testing binaries. For Syslinux 6.xx, the official binaries 
are under respective directories ("/bios/", "/efi32/", "/efi64").

Regards,
Ady.


More information about the Syslinux mailing list