[syslinux] How to use --once? Does it work?
Arlie Stephens
arlie at worldash.org
Thu Jun 5 11:53:21 PDT 2014
On Jun 05 2014, Ady wrote:
> > 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
>
> ArchLinux currently is already using 6.03-pre12 or newer, so I would
> suggest for you to update.
I want to keep the affected machines more-or-less stable, i.e. we're
not tracking arch closely. But we'll happily pick up a fixed version
of syslinux, or a specific patch for the problem we've been hitting.
> > 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
>
> I would guess you are not using "/boot/debug/" but actually
> "/boot/syslinux/" as installation path, right? Where is your
> ldlinux.sys really located?
Yes, that was a typo. It's /boot/syslinux/ldlinux.sys
> > 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.
>
> The command should (better) be label in your cfg file. FWIW, labels
> shall not include space characters and shall be unique.
Good, that part is right then. Though I see I had another typo above.
Label updebug
is really
LABEL updebug
when I look at the actual file on my test machine.
I have no spaces in the LABEL lines. I *do* have spaces in the MENU LABEL
lines, but I believe that's OK.
> According to your report (and you are not the first one), there seems
> to be some partial success but the desired result is not achieved.
> Have you tried using the "=" sign and the "--install" option too? For
> instance:
>
> $ sudo extlinux --once=updebug --install /boot/syslinux
>
> where "updebug" is a unique label in your syslinux.cfg file and
> "/boot/syslinux/" is the mounted point where SYSLINUX will be
> re-installed.
Same wrong effect at a gross level - I still boot off the default
label, not the one named with --once. Some differences in the effects
on ldlinux.sys - the post-boot version is not identical to the one I
had in place before running "sudo extlinux --once=updebug --install /boot/syslinux"
--
Arlie
More information about the Syslinux
mailing list