[syslinux] config.c32 fails in 5.00pre11

Ady ady-sf at hotmail.com
Wed Nov 28 13:25:39 PST 2012


The config.c32 module (and the CONFIG directive) is not behaving as 
expected when using syslinux.exe 5.00pre11 as installer. To 
replicate:


1_ The content of the device:

/dira
/cat.c32
/config.c32
/ldlinux.c32
/ldlinux.sys
/libcom32.c32
/pwd.c32
/syslinux.cfg

/dira/dira.cfg
 
2_ Content of /syslinux.cfg:


DEFAULT pwd1
PROMPT 0
LABEL config1
COM32 config.c32 /dira/dira.cfg
APPEND /dira/
LABEL pwd1
COM32 pwd.c32
LABEL config11
CONFIG /dira/dira.cfg
APPEND /dira/

3_ Content of /dira/dira.cfg

DEFAULT pwd2
LABEL pwd2
COM32 /pwd.c32
LABEL config2
COM32 /config.c32 /syslinux.cfg
APPEND /
LABEL config21
CONFIG /syslinux.cfg
APPEND /


3_ Boot and Run "config1" label.

4_ Run config2 label

5_ Press TAB.

Since "config2" should have loaded syslinux.cfg, pressing [TAB] 
should bring the labels in syslinux.cfg, but it doesn't. Instead, it 
brings again the labels from dira.cfg.

6_ Run /pwd.c32
Undef symbol FAIL: getcwd

5_ pwd.c32
(without the "/") does nothing and returns to the prompt.

6_ config2
Undef symbol FAIL: fprintf


The above is just one of several ways I see config.c32 (and the 
CONFIG directive) failing, specially when using the second argument 
(to change the soon-to-be-current working directory), whether in 
absolute or relative notations.

In addition, if I also use a DISPLAY file in syslinux.cfg, the screen 
is cleaned up when running step #3 above, and step #5 doesn't show 
any available labels. I personally don't see this clean up as 
necessary (and it even be inconvenient in certain situations). I 
don't know why using DISPLAY would affect the above procedure, but it 
does.

In the above procedure, change step #3 to "config11" and step #4 to 
"config21" so to use the CONFIG directive instead of the config.c32 
module. The result is even worse: after step #4; it hangs.

One possibility (among many): It may be related to changing the 
working directory to an upper level directory.

TIA,
Ady.




More information about the Syslinux mailing list