[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