Steve Lawrence wrote:
> I can't see any straightforward way to interrupt boot without changing the
> milestone. You could make lots of services dependent on a patching
> service, but that will have a maintenance burden. It also may not play well
> with 3rd party services.
Hmm. I just realized a flaw in my mental model of an SMF system.
In a traditional rc-based system, everything runs in sequence. When you
get to the "single user" point, it doesn't matter whether your target
was to get to "single user" mode or to get to "multi user" mode - in
either case, the system is in the same state.
In an SMF system, on the other hand, you could have a service that is
intended for "multi user" mode that doesn't have any dependencies. It
could come up instantly, even before the system has reached
milestone/single-user. I had previously thought that
milestone/single-user was equivalent to the legacy end-of-rcS /
beginning-of-rc2 point, but that's not true. Although
milestone/single-user guarantees that a particular set of services is
running, it *does not* guarantee that other services are *not* running!
The only way that you can get *that* guarantee is by using the
milestone mechanism to limit the system to a particular milestone, as
In fact, argh. This problem affects even your proposed scheme. By the
time that your patch-test-service is running, there could (in theory) be
all kinds of services running that didn't happen to depend on anything.
Maybe in practice we could ignore that possibility, but it's still
Argh. Not quite back to Square One, but that certainly tosses a wrench
into most of my theories on how to solve this problem.
zones-discuss mailing list