[RFC] allow specifying startup event
Serge E. Hallyn
serge.hallyn at canonical.com
Fri Jan 14 18:24:14 UTC 2011
Quoting Scott James Remnant (scott at netsplit.com):
> On Fri, Jan 14, 2011 at 5:48 PM, Serge E. Hallyn
> <serge.hallyn at canonical.com> wrote:
> > Quoting Scott James Remnant (scott at netsplit.com):
> >> There should be no need to alter the existing code to do what you
> >> want, and changing things like the startup event means that any job
> >> specifying:
> >>
> >> start on startup and...
> >>
> >> would now no longer work!
> >
> > The lxc.conf which starts on lxc emits startup after doing some
> > pre-config, so these should keep working. (And my laptop with
> > these patches has been booting fine)
> >
> What kind of things do you do here?
In particular what I did was:
initctl emit -n startup BUILTIN_FSTAB=/lib/init/fstab.lxc || true
so that mountall would get the BUILTIN_FSTAB environment variable
through the startup event.
But, now that I can use 'env' to get the init parent environment, I
don't need that.
> (Johan's proposal was that if startup was replaced by a system event,
> you could do "starting system" instead of "started system")
I just saw 'starting' in Clint's 'best practices' RFC, and this lets
me avoid any patches to mountall at all, awesome!
> > when upstart was started as:
> >
> > 10991 execve("/sbin/init", ["/sbin/init", "container=lxc", "builtinfstab=/lib/init/fstab.lxc"], [/* 27 vars */] <unfinished ...>
> >
> This isn't how the kernel starts init when it has these kinds of
> things on its command-line, it places container=lxc and
> builtinfstab=/lib/init/fstab.lxc into init's *environment* not
> arguments.
Ah, I see. (Of course I don't have a kernel :) Boot succeeded when
I did
export container=lxc
export builtinfstab=/lib/init/fstab.lxc
lxc-start -n natty2
Looks like I can do what I need with no changes at all to upstart or
mountall. Thanks!
-serge
More information about the upstart-devel
mailing list