How to test dependency based sysv boot system in Debian

Petter Reinholdtsen pere at
Sat Sep 9 14:33:34 UTC 2006

[Marc Haber]
> Is insserv compatible with file-rc, or does it mandate using the
> rather clumsy link-based scheme?

As far as I know, it only support the link-based scheme.  But it has
debug output that seem to contain the information needed by file-rc,
so I guess it should be possible to implement support for file-rc as
well.  Not something I'm going to start on anytime soon, thought.

I just tested this system in a freshly installed sid chroot, and had
to update it to get rid of some loops.  These problems will be fixed
after the archive is updated tomorrow.

Apply this patch:

--- /var/tmp/old-init.d/umountfs        2006-09-09 14:12:59.000000000 +0000
+++ /etc/init.d/umountfs        2006-09-09 14:14:38.000000000 +0000
@@ -2,8 +2,8 @@
 # Provides:          umountfs
 # Required-Start:
-# Required-Stop:
-# Should-Stop:       halt reboot
+# Required-Stop:     umountroot
+# Should-Stop:
 # Default-Start:
 # Default-Stop:      0 6
 # Short-Description: Turn off swap and unmount all local file systems.
diff -u /var/tmp/old-init.d/umountroot /etc/init.d/umountroot
--- /var/tmp/old-init.d/umountroot      2006-09-09 14:12:59.000000000 +0000
+++ /etc/init.d/umountroot      2006-09-09 14:13:50.000000000 +0000
@@ -1,10 +1,11 @@
 #! /bin/sh
 # Provides:          umountroot
-# Required-Start:    umountfs
-# Required-Stop:     umountfs
-# Default-Start:     6
-# Default-Stop:
+# Required-Start:
+# Required-Stop:
+# Should-Stop:       halt reboot
+# Default-Start:
+# Default-Stop:      0 6
 # Short-Description: Mount the root filesystem read-only.

And remove /usr/share/insserv/overrides/umountfs,
/usr/share/insserv/overrides/halt and
/usr/share/insserv/overrides/reboot to avoid mixing the override
values with the correct headers.

I started with this boot sequence:

  README               S18ifupdown-clean         S39ifupdown          S20module-init-tools      S40networking       S20modutils          S25libdevmapper1.02
  S05bootlogd             S55urandom              S99stop-bootlogd-single 

  README       S11klogd    S20openbsd-inetd  S99rc.local   S99stop-bootlogd
  S10sysklogd  S20makedev  S89cron           S99rmnologin

And this is the new boot order after converting:

  README               S04ifupdown-clean         S07networking          S04module-init-tools      S07urandom       S04modutils                S05ifupdown     
  S03bootlogd          S05libdevmapper1.02       S10stop-bootlogd-single

  README      S10openbsd-inetd  S11sysklogd  S12klogd          S14rmnologin
  S07makedev  S10rc.local       S12cron      S13stop-bootlogd

As you might see, the new boot order make sense, and there are more
scripts that will run in parallel if CONCURRENCY=shell is used.

There are still a few bugs, example example should
probably run just after, and should run
just after, but it also work with the current sequence.

I hang out on the IRC channel #pkg-sysvinit for those interested in
discussing these things. :)

Petter Reinholdtsen

More information about the initscripts-ng-devel mailing list