What is Upstart?

Jan 06, 2011

Originally created for use in Ubuntu, Upstart is suitable for deployment in all Linux distributions as an alternative to the System-V init.

Scott James Remnant - Photo by: Simon Law

Follow along as Scott James Remnant, Upstart designer, explains what Upstart is and why it’s important to both the end user and developer.

Linux Pro Magazine: Can introduce yourself and explain what your relation to Upstart is?

Scott James Remnant: My name’s Scott James Remnant, I’m a software developer for Ubuntu and member of the Ubuntu Technical Board; having previously been a member of the Debian Project before joining Canonical back in 2004. I designed and have been developing the Upstart init daemon for the last few years.

LPM: I know you used to work for Canonical but recently you’ve made some changes. Can you tell readers a little about your new job and what you’ll be doing?

SJR: After almost seven years working for Canonical on Ubuntu, it was time for a change. I accepted a new job working at Google on their Chrome OS project, which as many of you know is derived from Ubuntu and uses Upstart as one of its core components. I’ll be still working on Ubuntu as well, and will be still a member of the Ubuntu Technical Board.

LPM: Upstart was originally developed for Ubuntu? How did this need come about and what distributions are now using Upstart.

SJR: Lots of needs all came together at similar times that led to the development of Upstart; we wanted to improve not just the speed but also the reliability of the boot process as well as looking to reduce the bloat and overhead of a running Linux distribution - even more important now with the increased popularity of low memory and embedded systems.

LPM: What makes Upstart important?

SJR: It’s part of the ongoing modernisation of Linux distributions, not important in of itself, but as part of the toolbox it’s helpful.

LPM: What impact does Upstart have on the average end user and for the Linux developer?

SJR: For the end user, their computer boots faster, runs faster and is better able to support their hardware. For the Linux developer, it takes care of a lot of the hard work for them.

LPM: Since Upstart is an open source project is there an upstart community? If so, how can people get involved with this project? What is Upstarts greatest need currently, and how can developers help with this need?

SJR: The greatest need is documentation, which happily is something everyone can help with! The Upstart Development Blog and upstart-devel mailing list are great places to start learning about it.

LPM: Is there anything about Upstart I haven’t asked you about that you would like to share with readers. For that matter are there other projects you are working on that you would like to make readers aware of?

SJR: Probably one thing worth discussing is what Upstart’s relationship to systemd is and why Upstart development is carrying on despite systemd existing?

Upstart and systemd have similar goals, but are quite different implementation. While both intend to support the modern system, Upstart works in an event-based manner while systemd is still a traditional dependency-based init system underneath.

I think there’s room for both, and that both projects will benefit from the competition between them. Just as there’s room for both Dpkg and RPM, and both GNOME and KDE. The important thing is that Lennart and I collaborate in certain areas to avoid fragmentation, for example in the current discussion about D-Bus Activation where we’re working together on a common spec we’ll both support.

More information on Upstart can be found on the Upstart Website.

Related content

  • Upstart Improved Documentation and New Features for Ubuntu Natty Release

    "Jobs and Events are the primary Upstart concepts," writes James Hunt Ubuntu Upstart maintainer at Canonical. "The version of Upstart provided with Ubuntu Natty provides a new “initctl” command “show-config” which when coupled with a new tool “initctl2dot” allows these interactions to be understood visually."

  • Init Systems

    SysV init was formerly the sole candidate for starting processes on Linux, but today, a tech-savvy generation of init systems is waiting in the starting blocks.

  • Upstart

    The slow Linux boot has troubled users for years. Now the Upstart project offers a fresh approach to the problem of booting Linux.

  • Straggler: Debian Decides to Replace Sysvinit with Upstart

    The current Debian Sysvinit boot system will gradually be replaced by upstart due to sysvinit's unreliability, according to Debian boot system maintainers.

  • Packages in systemd

    You might need to tweak your Debian or Ubuntu packages to get them to work with systemd.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More