Introducing Upstart

  • June 19, 2007
  • Avatar for jacob
    Jacob
    Peddicord

Since the days of early Unix, systems have always had different methods of starting up, shutting down, and managing jobs. Throughout the development of Linux distributions, many saw the usage of System V init, the most common starting system, to be suitable. Distributions have a system that one way or another is compatible with this System V initialization.

Then came the time when distributions began to split apart more and more. Slackware Linux now uses a BSD-style init system, and Gentoo uses completely its own. Writing a cross-distribution initialization script now is not probable nor feasible.

Fast forward to mid 2006: Canonical software saw the release of Ubuntu 6.06, the most popular distribution at its time. But, it had still used the somewhat venerable System V Init process that had still not been changed. Canonical software employee Scott James Remnant had began to test out a new startup system based on System V Init. He called it "upstart," and the system gradually began to make its way into Ubuntu 6.10.

This new system had promised to be a replacement for the System V init process. Currently, it is based off of it, so some initialization scripts may still be compatible. It also promises to be a complete replacement for cron, atd, among other various processes while still trying to stay backwards-compatible.

While replacing cron and atd, for example, Upstart will add new features to it. You will be able to start events and applications a certain time after another. For example, I could have an IRC chat bot start up 5 minutes after Apache does. This level of order in Upstart should help bring organization to many distros.

Ubuntu 7.04 has had a newer revision of Upstart since then, mostly making changes to the boot process. Now, the plan for Ubuntu 7.10 is to have every event handled with Upstart. While we are not 100% sure it will make it into the release, it has a very good chance of it. This means that the Gutsy Gibbon (7.10) will have a much improved starting system, all the way down to core applications.

Other distributions are gradually beginning to adopt Upstart. Since it is still a very experimental process, we won't see too many distributions using it yet, but within a few years you should see many Linux systems running it. Debian currently has a testing version in their experimental systems, and Frugalware plans to integrate it into their 0.7 release.

Could this be the beginning of a startup system where all distributions are compatible with one another? Only time will tell.

Avatar for jacob Jacob Peddicord

Home » Articles »