Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

There is not enough error handling when building new initrds. The order of operations is flawed, which leaves the system in a potentially unbootable state.

Additionally, at boot-time, there is no useful information about dealing with a system where the root filesystem cannot be found.

Release Note

Full-disk (and related) situations are now correctly handled by update-initramfs and update-manager. Systems should not be left in an unbootable state. Additionally, more information is available at boot-time when the root filesystem is missing.

Rationale

There is no reason update-initramfs should leave a system unbootable. Additionally, at runtime, there needs to be a better way to customize the reporting of a failed boot.

Use Cases

Assumptions

Design

The tool update-initramfs needs to expect to run out of disk space, and perform defensive atomic linking/moving of the new initrd. When installing new kernels, update-manager needs to guess at available size in /boot and complain when there will not be enough space.

A basic error handler for mountroot panics needs to be defined in scripts/functions. Scripts in scripts/init-top/ or scripts/${BOOT}-premount/ should be able to define mountroot failure handlers, which will be called in prereq order. Handlers should be informational only -- they should not attempt to actually do anything beyond querying the state of the failed-to-boot system. Booting with no-panic-handler should skip all handlers and go directly to the regular panic prompt.

Implementation

Code Changes

Ideas of what to add to the mdadm/lvm2 panic handler: https://lists.ubuntu.com/archives/ubuntu-devel/2007-September/024221.html

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.

Outstanding Issues

BoF agenda and discussion

Handling build-time initramfs failures

Handling run-time initramfs failures


CategorySpec

HardyInitramfsErrorHandling (last edited 2008-08-06 16:15:09 by localhost)