Injecting a sequential job

Steve Langasek steve.langasek at ubuntu.com
Wed Feb 29 20:34:51 UTC 2012


Hi Svein,

On Wed, Feb 29, 2012 at 09:06:11PM +0100, Svein Seldal wrote:
> I'm working on an embedded system using armel Ubuntu Natty, and I
> want to inject a sequential task (script) rather early in the boot
> (after filesystems/mountall, prior to network). The job needs to
> finish before the next tasks can run.

> Specifically, I'd like to start my job with start on filesystem, but
> can I postpone the other tasks (particularely dbus and udev) until
> my job is done? (That without modifying dbus.conf and udev.conf as
> this is not permitted according to Debian Policy Manual)

> If I set my task job to "start on stopping mountall" would that
> delay the emits (filesystem, mounting, etc.) until my task is done?

What you're describing is not possible, because:

 - udev starts *before* the filesystem event is emitted; indeed, for a
   general-purpose distribution it absolutely must, since otherwise disks
   aren't guaranteed to have been probed aside from the root disk and your
   filesystem may never be mounted.

 - networking also starts in parallel with the filesystem.  Again, in a
   general-purpose OS it has to, since parts of the filesystem may be
   mounted across the network.

 - the filesystem event is a signal, not a hook (as described in
   upstart-events(7)), and everything that's keyed off a single event starts
   in parallel anyway.  So there's no way to block the boot by starting on
   this event.

 - 'stopping mountall' is emitted only when the mountall process is exiting
   - well after the 'filesystem' event has been sent.

Could you provide some more detail about what the job is that you're trying
to run?  There's probably a solution that lets you achieve your end goal,
but would need to know what that end goal is to provide useful guidance
here.

Also, note that if this is just for local use, there's not necessarily any
reason for you to care about the Debian Policy requirements to not modify
the config files; that's a prohibition that applies to packages in the
distribution, you can modify things to your heart's content if you're doing
it locally. :)

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/upstart-devel/attachments/20120229/fb1158a3/attachment.pgp>


More information about the upstart-devel mailing list