Based on user feedback since Ubuntu 9.10, some of the changes that have been made to support faster and more event driven boot have negatively impacted server administrators' experience. This specification outlines some key improvements we can make to reverse those impacts and provide a more useful boot experience on servers in 11.10 and onward.

Release Note

The server boot experience has been made much more intuitive and clear, including more console output, logging, and visibility/control over the boot sequence.


See Summary.

User stories

As a systems administrator, when booting a server, its important that I am made aware of any problems during the boot, including what a server is doing if and when the boot stalls.

As a systems administrator I may need to skip a problematic job during boot without modifying the disk contents.

As a systems administrator I need a way to see what effect changes I'm making may have on the boot sequence for critical servers before reboot.



Boot Sequence

  • Add events for "static networking up", "system is done booting"
  • Transition upstart jobs from using 'runlevel' to following the 'network-services' job.
  • Add interactive-boot capability via a boot commandline and a special "start on starting" upstart job.

Console Improvements

  • Make the upstart-plymouth-bridge on by default on the server by removing 'quiet' from boot args.
  • Add dmesg like capability to log and report on job output (stderr & stdout) to upstart.


upstart visualization

The upstart visualization tool will have a more "real" view added that filters out non-existant events.


A lintian rule will be added to make sure upstart jobs have proper syntax.

UI Changes


Code Changes

  • Upstart will need some features added to support the visualization tool changes and logging of job output.



Test/Demo Plan

Automated boot/shutdown testing is addressed in a different spec, but will apply to these new features.

Unresolved issues


Oneiric/ServerBootExperience (last edited 2011-05-31 09:07:23 by 82-69-40-219)