[syslinux] Issues with syslinux_run_command(str) and parameters

Ady ady-sf at hotmail.com
Tue Apr 29 16:32:05 PDT 2014

> Thanks Ady, you were spot on, and I should have tested that scenario! 
> I narrowed the issue down to a line in my config: 
> The comment next to it in my config indicates this was added to 
> disallow users dropping to the console with Escape or Tab, a 
> restriction I would like to keep. BUT, when this is set whichsys 
> fails to function in the manner I described. And similarly if I end 
> up at the console prompt for any other reason and try to run 
> something, no parameters make it through).
> Is this expected? Seems a bit odd. 
> Thank you very much!
> --Ian

The directive you are referring to is "ALLOWOPTIONS 0" (no "ED"), 
which prevents users from editing commands. In other words, the user 
can only execute LABELs "as-is". Yet, I doubt this is the (only) 

My guess is that you are using another directive, "NOESCAPE 1", 
which, when combined with additional directives ("PROMPT 0" and/or 
"UI"), prevents the possibility of "forcing" the "boot:" prompt (with 
either SHIFT / ALT / CAPS LOCK / NUM LOCK) at boot time.

In practice, "NOESCAPE 1" forces either the DEFAULT command or the UI 
directive (the latter takes precedence), thus preventing the 
possibility of using the CLI at *any* time, even after executing some 
other command.

So, take for example "ls.c32". Normally, after executing "ls.c32" you 
would end (back) at the CLI. But with "NOESCAPE 1", you jump 
immediately to the UI directive (or, if UI is not used, to the 
DEFAULT command); the CLI is not allowed.

My guess is that something in your cfg is being (automatically) 
executed and then it is exiting (whether after failure or success) 
back to Syslinux. Since the CLI is not allowed (by "NOESCAPE 1"), the 
Syslinux menu is seen again. Once the menu is loaded, the same entry 
is again automatically executed... producing a loop.

I don't really know yet whether you are actually using "NOESCAPE 1". 
Whichever the case, I would repeat my suggestion to post the content 
of your cfg file, so we might find out which command is failing (and 
therefore sending you to a loop).

Additionally, it could be helpful to double check the paths to your 
images. For instance, if you have "APPEND initrd=/myimage", is 
"myimage" really located in "/"?


More information about the Syslinux mailing list