UdevRoadmap

Differences between revisions 6 and 7
Revision 6 as of 2005-11-03 16:42:17
Size: 2129
Editor: 209
Comment:
Revision 7 as of 2005-11-03 16:52:18
Size: 2761
Editor: 209
Comment: periodic save
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/foo  * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/udev-roadmap
Line 5: Line 5:
 * '''Contributors''': JeffBailey
 * '''Packages affected''':
 * '''Contributors''': JeffBailey, ScottJamesRemnant
 * '''Packages affected''': initramfs-tools, hotplug, udev, klibc, linux-image-*
Line 17: Line 17:

This is an implementation for Dapper.
Line 32: Line 34:
Line 42: Line 43:
 * Walk the sysfs tree for harddrive devices and tickle uevents for those  * Walk the sysfs tree for harddrive devices and tickle uevents for those.

Some of the code for this exists in the current
Line 62: Line 66:

Rebooting the system shortly after the upgrade is critical. It is quite likely that hal will stop working, and the rules that are on the harddrive may then be completely incompatible. The cute little lightbulb "Please click on me for a message" in the corner is probably insufficiently invasive to make sure this happens. That notification applet should be refered to mpt for a case of the mean-and-ugly treatment. This is out of scope for this spec.

Summary

Upgrading from udev 060 to 071 is a major change that affects initramfs, udev, hotplug, hal, and many other pieces. The 2.6.15 kernel will require udev 071. Because these changes are invasive, this spec is split out from HardwareDetection to make sure that it can be reviewed and implemented independantly.

Rationale

Scope

This is an implementation for Dapper.

Newer versions of udev affect the following packages:

  • initramfs-tools
  • hotplug
  • klibc
  • hal
  • linux-image-*

Implementation

initramfs

Update the initramfs startup sequence to reflect the following:

  • Create base device nodes
  • Start udevd
  • 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.

  • Walk the sysfs tree for harddrive devices and tickle uevents for those.

Some of the code for this exists in the current

  • Walk the ide, scsi, and i2o busses
  • Attempt hibernate recovery
  • Walk the pci sysfs tree for usb controllers

udev

full userspace init scripts

  • Where udevstart and coldplugging routines are currently run, ensure that udevd is running (in case of custom kernels), and pass over entire sysfs tree to cause events to be rerun. This will ensure that device nodes are created with correct permissions and according to the rules of the running system.

Data preservation and migration

Custom written hotplug rules will need to be migrated to be udev rules. There is no way to do this in an automated fashion.

Outstanding issues

Rebooting the system shortly after the upgrade is critical. It is quite likely that hal will stop working, and the rules that are on the harddrive may then be completely incompatible. The cute little lightbulb "Please click on me for a message" in the corner is probably insufficiently invasive to make sure this happens. That notification applet should be refered to mpt for a case of the mean-and-ugly treatment. This is out of scope for this spec.

UdevRoadmap (last edited 2008-08-06 16:16:48 by localhost)