[syslinux] How to use --once? Does it work?

Arlie Stephens arlie at worldash.org
Wed Jun 4 15:42:46 PDT 2014


Hi Folks,

I've got what I hope is a clueless newbie question for you. I couldn't
find much about it in the last 8 or so months or achives, or anywhere
else, so I'm asking before settling down to read the fine source code
;-)

I'm working on a system derived from ARCH linux, running what they
call version 6.02-4 of the syslinux package (which would be your
version 6.02 plus their/our patches).  I've got a syslinux.cfg
with several named menu options, and the right things happen if I set
the DEFAULT option in syslinux.cfg, or select one of the options at
the console during boot. 

What I want to do is reboot into a particular menu option once, and if
that fails, reboot back on the usual default, without requiring anyone
to interact with the console. 

This appears to be the purpose of --once.

The best example of its usage I could find was at
https://bbs.archlinux.org/viewtopic.php?id=140049 comment #4

I modified this to be suitable to a linux system.  Unfortunately, the
results did not work. Perhaps I don't understand the correct syntax?
Or perhaps I'm hitting a bug? 

In my syslinux.cfg I have several menu options, simplified here. 

DEFAULT up

LABEL up
   MENU LABEL Generic
   LINUX ../vmlinuz-linux
   APPEND root=/disk/a
   INITRD ../pxe-linux.img

Label updebug
   MENU LABEL Debug
   LINUX ../vmlinuz-linux
   APPEND root=/disk/a debug
   INITRD ../pxe-linux.img


So I do $ sudo extlinux --once updebug /boot/syslinux 

The file /boot/debug/ldlinux.sys changes, and part of the change is 2
copies of the characters u p d e b u g

But when I reboot, it comes up from the first option. And if I sit at
the console, I see that option showing as gthe default, just as if I
hadn't been using --once to change it. 

However, the modifications _are_ removed from /boot/debug/ldlinux.sys
So part of the desired effect of --once is happening on boot up

Perhaps I don't understand what is meant by "command" in the man page:

      -o, --once=command
              Execute a command once upon boot.

Any help would be greatly appreciated.

Thank-you.

--
Arlie

(Arlie Stephens					arlie at worldash.org)


More information about the Syslinux mailing list