Summary

This specification discusses what messages will be output on boot, which are available to other processes such as usplash and what is logged to /var/log/boot; including the mode of dispatch and translation of those messages.

Rationale

The messages output during the boot process often carry useful information, yet scroll past too quickly to be read by all but the fastest eyes. Additionally much could be output that is not, such as status messages or detailed error messages, because there is no writable filesystem at that point in the boot process.

Such messages are useful to developers and system administrators for debugging problems but are not so useful, and indeed can often scare off, novice users.

Use cases

Scope

This specification is proposed for edgy and initially affects only the init process, though can touch particular init scripts.

Design

To allow for differing requirements of the number and style of messages displayed and logged during the boot process, the following levels of output are defined. Each includes all of the messages from the previous log levels, unless otherwise stated.

Quiet

This is the level of information that will be passed to usplash by default, and sent to /dev/console when usplash is normally running.

Failures

This is the level of information that will be sent to /dev/console on servers where usplash is not normally running.

Services

(example during boot, once boot has complete it looks the same as the Failures mode)

Verbose

This is the level of information that will be placed in /var/log/boot.

Implementation

The precise implementation of how messages are obtained from the init scripts is largely dependant on the outcome of the ReplacementInit discussion, however it is likely that at least the following will be true:

Script changes

The initial necessary script changes are minimal, if not zero, as any messages the scripts print today would be shown only in the verbose mode. The only additions would be to ensure scripts exit with a failure code to indicate failure (largely handled by LSB init functions) and supply a useful reason for the failure where appropriate; these things can be added on an individual basis as time permits.

The only scripts that will need to be changed are those that can cause a critical failure of, or delay to, the boot process such as filesystem checking and mounting. The following is noted:

Code

A tiny logging daemon needs to be implemented to co-ordinate the messages being logged and displayed.

The named executables would include usplash_write and for the SpokenBoot specification, spd-say.

For future expansion, this program could also write the messages to a designated network socket (on the kernel command-line, causing the network card to be configured in initramfs) providing peace-of-mind during remote reboots.


CategorySpec

BootMessageLogging (last edited 2008-08-06 16:30:31 by localhost)