First impression of upstart

Yesterday, I had a closer look at upstart, a replacement for the sysv init daemon. My goal is to speed up the boot process of my Debian desktop installations, and the two systems which could help with this are upstart and initng. There are packages for upstart in Debian experimental, and installing is quite simple, but besides the upstart package itself it is almost a must to also install the package upstart-compat-sysv, otherwise commands like reboot and shutdown are not available anymore. Also, this package provides a default configuration for the upstart jobs which simply emulates the sysv-init based rc mechanism. Upstart uses the notation of jobs to define the services to start. Unfortunately the sysv-init emulation simply defines jobs like rc1, rc2 and so on, i.e. one job per run level; then, the old sysv-init scripts are still used to launch the services one after the other. The result is that the boot process still took 31 seconds, exactly the same time it took with the sysv-init system. I then started to write some jobs to launch services like apache2 and sshd independently from the rc scripts, using upstart event definitions. Creating the scripts themselves is quite easy, but I did not manage to stop the services again through upstart’s initctl command line interface: it seems that, since the processes fork, upstart assumes that they are stoped again after they have been launched. Investigation is ongoing …