[Oneiric-Topic] Server Boot

Clint Byrum clint at ubuntu.com
Wed Apr 6 11:08:10 UTC 2011

Excerpts from Sander Smeenk's message of Wed Apr 06 00:00:18 -0700 2011:
> Quoting Louis RUPPERT (lruppert at louruppert.com):
> > They are for me.  In the rare instance of a hardware or boot failure, I
> > like to be able to watch the process happen, and to be able to have a
> > working console to login to.  Anything that requires bootsplash and
> > upstart potentially interferes with that.  I don't care if my server
> > looks pretty when it's booting.  I do care that I can see at what point
> > in the boot process a catastrophic failure has occurred.
> I do so much agree with this. I recently subscribed here to discuss
> exactly these concerns with Ubuntu's server edition.
> These things really, really bug me in my work with Ubuntu Server:
>  * GRUB's default HIDDEN_TIMEOUT_QUIET=true

This seems less of a problem since 10.10, which made the timeout a little
longer, you don't have to hold down shift just to see grub anymore.

>  * GRUB's default "graphical console"

Not sure I follow you .. whats the problem here? It looks pretty "texty"
to me, but I have been primarily booting it in VM's.

>  * Plymouth splashscreens (even textbased ones!)

With things starting in parallel, plymouth is just a multiplexer that
keeps messages and user interaction from running all over eachother. I'm
not sure why you'd be against that. What I think people are against is
that thus far this hasn't been fully utilized so there seem to be no
messages rather than a healthy stream of them. Some work has gone into
adding support for plymouth to show things like upstart's "starting"
and "started" events with the job descriptions. Its still not entirely
there, but this is definitely somewhere we need a lot of improvement and
ideas. However, plymouth, especially the text based "details plugin",
are not going away without replacing it with something that can similarly
manage parallel output.

$ cat /var/log/boot.log 
fsck from util-linux-ng 2.17.2
/dev/vda1: clean, 62654/495808 files, 291020/1979392 blocks
 * Starting mDNS/DNS-SD daemon                                                               [ OK ]
 * Starting Userspace bootsplash                                                             [ OK ]
 * Stopping Userspace bootsplash                                                             [ OK ]
 * Starting configure network device security                                                [ OK ]
 * Starting Uncomplicated firewall                                                           [ OK ]
 * Starting Mount network filesystems                                                        [ OK ]
 * Starting System V initialisation compatibility                                            [ OK ]
 * Starting SMB/CIFS File Server                                                             [ OK ]
 * Stopping Mount network filesystems                                                        [ OK ]
 * Starting Bridge socket events into upstart                                                [ OK ]
 * Starting configure network device                                                         [ OK ]
 * Starting AppArmor profiles                                                                        * Starting configure network device security                                                                                  [ OK ]
                                                                                             [ OK ]
Starting memcached: memcached.
 * Stopping System V initialisation compatibility                                            [ OK ]
 * Starting System V runlevel compatibility                                                  [ OK ]
 * Starting automatic crash report generation                                                [ OK ]
 * Starting save kernel messages                                                             [ OK ]
 * Starting regular background program processing daemon                                     [ OK ]
 * Starting deferred execution scheduler                                                     [ OK ]
 * Starting CPU interrupts balancing daemon                                                  [ OK ]
 * Starting HTTP proxy-cache                                                                 [ OK ]
 * Stopping save kernel messages                                                             [ OK ]
 * Stopping OpenSSH server                                                                   [ OK ]
 * Starting OpenSSH server                                                                   [ OK ]
 * Stopping System V runlevel compatibility                                                  [ OK ]

Its still not 100% perfect, but this shows what plymouth hears from
upstart, as well as init.d scripts' output ( the line buffering will need
some work, https://launchpad.net/bugs/752393 )

Until the very end of the boot (where gettys are started), this is what
you see. Failures are noted as well. So I think in some ways this is
starting to be addressed.

>  * Upstart hiding console-output

This was a known bug that I was sad to see didn't get fixed in natty. The
plan is to add a ring-buffer to upstart similar to the kernel's "dmesg"
that will receive every line of output from every job, and will eventually
be directed into plymouth and/or logs. I see no reason that this will
be removed from the plan in oneiric, and this should resolve problems like
daemons needing to print their errors on stderr when there is an invalid
logging configuration specified.

> I am fully aware of the fact that this is 'open source' and i can 'use
> the source, Luke!'. That's exactly what i do after installing a server:
> disable most of the above listed "features".
> What bugs me is the sheer illogical choices that have been made for
> Ubuntu Server. These things are perfect for Ubuntu Desktop installs as
> my mom doesn't need to see the kernel boot, but for a server, these
> messages are of essential value to debugging (boot)problems. A situation
> i face on a weekly basis hosting/maintaining >300 Ubuntu servers.

Agreed that some things have been done to the boot that make no sense for
servers. You've done a nice job identifying a few of them above.

Oneiric is, IMO, the prolonged beta for a lot of important things in "P".
We need to get some basic infrastructure pieces stable and "right" so that
P addresses the issues that many have had with 10.04.

Keep the ideas coming everybody!

More information about the ubuntu-server mailing list