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

Regid Ichira regid23 at nt1.in
Sun Sep 15 11:26:26 PDT 2013


On Sun, Sep 15, 2013 at 04:31:09PM +0300, Ady wrote:
> 
> > 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").
> 


  I am using 6.01 now.
I tried with a c:\syslinux directory, instead of the longer path I 
tried before.  It is worse then before.  After the syslinux copyright
line, the disk activity led shines steadily.  But noting comes on the
screen.  And nothing else happens.  Eventually I rebooted the machine.
That experience happend several times, after I tried absolute and 
relative paths for the display command.
  I think your instructions tried to be most accurate.  Not leave
something to chance.  I was trying to follow that in my tests.  I
can't tell why for me, a dedicated c:\syslinux directory was behaving
worse then my former, longer path, syslinux directory.


More information about the Syslinux mailing list