UdevRoadmap

Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2005-11-02 17:22:51
Size: 478
Editor: 209
Comment: New udevroadmap page to split out udev items from HardwareDetection
Revision 4 as of 2005-11-03 16:27:57
Size: 2227
Editor: 209
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
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.
Line 12: Line 14:
== Use cases ==  * Many components of the Linux system will require a newer udev. These include ProbeForRootFilesystem, LinuxKernelRoadmap, and HardwareDetection.
Line 16: Line 18:
== Design == Newer versions of udev affect the following packages:

 * initramfs-tools

 * hotplug

 * klibc

 * hal

 * linux-image-*
Line 20: Line 32:
=== initramfs ===
Update the initramfs startup sequence to reflect the following:

* Create base device nodes
* Touch /dev/.udev_scoreboard
* 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
* Walk the ide, scsi, and i2o busses
* Attempt hibernate recovery
* Walk the pci sysfs tree for usb controllers

=== udev ===

* Upgrade to at least udev-071.
* Add scoreboard to udevd

=== 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.
Line 21: Line 57:

The scoreboading component will need to be written.
initramfs-tools needs to be modified to handle event driven coldplugging.
Line 24: Line 64:
Custom written hotplug rules will need to be migrated to be udev rules. There is no way to do this in an automated fashion.
Line 25: Line 67:

== BoF agenda and discussion ==

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

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 * Touch /dev/.udev_scoreboard * 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 * Walk the ide, scsi, and i2o busses * Attempt hibernate recovery * Walk the pci sysfs tree for usb controllers

udev

* Upgrade to at least udev-071. * Add scoreboard to udevd

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.

Code

The scoreboading component will need to be written. initramfs-tools needs to be modified to handle event driven coldplugging.

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

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