HardwareActivation

Revision 9 as of 2005-11-01 18:00:00

Clear message

Summary

Our current boot process has parts that rely on certain pieces of hardware being available, such as networking, bluetooth, sound and printers. We should instead provide a means to activate these when the hardware is detected rather than assuming it exists, and move the startup scripts into activation scripts instead.

Rationale

Solve the problem that coldplugging needs to complete before carrying on. This completing must be based on kernel events.

Specifically, this spec does NOT cover activating various services based on kernel events. This is too invasive for the Dapper release.

Use cases

Scope

Design

New Initramfs:

o Create base device nodes o Start udevd o Load modules from /etc/mkinitramfs/modules (and other force_load calls)

** Note: without udevstart, something needs to correct permissions, or we need to provide the rules.

o Walk the sysfs tree for harddrive devices and tickle uevents for those o Walk the ide, scsi, and i2o busses o Attempt hibernate recovery o Walk the pci sysfs tree for usb controllers

Implementation

Update to UDEV 071. Add scoreboard to udevd. Track scoreboard status during coldplug by looking for existance of /dev/.udev_scoreboard. We create the file initially, and udev will unlink it.

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion