Changeset a0d96d25
- Timestamp:
- 04/13/2006 08:17:52 PM (17 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/parallelism, xry111/pip3, xry111/rust-wip-20221008
- Children:
- 470b5d4
- Parents:
- d2c332bc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/kernfs.xml
rd2c332bc ra0d96d25 32 32 class="devicefile">console</filename> and <filename 33 33 class="devicefile">null</filename> devices. The device nodes will be created 34 on the hard disk so that they are available before <command>udev</command> 35 has been started, and additionally when Linux is started in single user mode 36 (hence the restrictive permissions on <filename 37 class="devicefile">console</filename>). Create the devices by running the 34 on the hard disk so that they are available before <command>udevd</command> 35 has been started, and additionally when Linux is started with 36 <parameter>init=/bin/bash</parameter>. Create the devices by running the 38 37 following commands:</para> 39 38 -
chapter07/udev.xml
rd2c332bc ra0d96d25 96 96 97 97 <para>The <command>S10udev</command> initscript takes care of creating 98 device nodes when Linux is booted. The script starts by unsetting the99 hotplug event handler from the default of <command>/sbin/hotplug</command>100 This is done because, instead of the kernel calling out to an external101 binary,<command>udevd</command> will listen on a netlink socket for102 hotplug events that the kernel raises. The bootscript copies any static98 device nodes when Linux is booted. The script unsets the uevent handler 99 from the default of <command>/sbin/hotplug</command>. This is done 100 because the kernel no longer needs to call out to an external binary. 101 Instead <command>udevd</command> will listen on a netlink socket for 102 uevents that the kernel raises. Next, the bootscript copies any static 103 103 device nodes that exist in <filename 104 104 class="directory">/lib/udev/devices</filename> to <filename 105 105 class="directory">/dev</filename>. This is necessary because some devices, 106 directories and symlinks are needed before the dynamic device handling106 directories, and symlinks are needed before the dynamic device handling 107 107 processes are available during the early stages of booting a system. 108 Creating static device nodes in 109 <filename class="directory">/lib/udev/devices</filename> also provides110 an easy workaround for devices that are not supported by the dynamic111 device handling infrastructure. The bootscript then starts the Udev112 daemon, <command>udevd</command>, which will act on any hotplug events it113 receives. Finally, the bootscript "coldplugs" any devices that114 have already been registered with the kernel by forcing them to raise115 hotplug events which <command>udevd</command> will then handle.</para>108 Creating static device nodes in <filename 109 class="directory">/lib/udev/devices</filename> also provides an easy 110 workaround for devices that are not supported by the dynamic device 111 handling infrastructure. The bootscript then starts the Udev daemon, 112 <command>udevd</command>, which will act on any uevents it receives. 113 Finally, the bootscript forces the kernel to replay uevents for any 114 devices that have already been registered and then waits for 115 <command>udevd</command> to handle them.</para> 116 116 117 117 </sect3> … … 178 178 <para>When you plug in a device, such as a Universal Serial Bus (USB) MP3 179 179 player, the kernel recognizes that the device is now connected and 180 generates a hotplug event. This hotplugevent is then handled by180 generates a uevent. This uevent is then handled by 181 181 <command>udevd</command> as described above.</para> 182 182 … … 198 198 class="filesystem">sysfs</systemitem>. In other cases, one should 199 199 arrange module loading by other means. With Linux-&linux-version;, Udev is 200 known to load properly-written drivers for PCI, USB, SCSI, SERIO and 201 FireWire devices.</para> 202 203 <!-- After linux-2.6.16, add INPUT and IDE to the list above --> 200 known to load properly-written drivers for INPUT, IDE, PCI, USB, SCSI, 201 SERIO and FireWire devices.</para> 204 202 205 203 <para>To determine if the device driver you require has the necessary … … 218 216 directory under <filename class="directory">/sys/bus</filename>, this 219 217 means that the kernel developers have not yet added modalias support to 220 this bus type. With Linux-&linux-version;, this is the case with ISA and 221 IDE busses. Expect this issue to be fixed in later kernel versions.</para> 222 223 <!-- Remove IDE from the list above after Linux-2.6.16 --> 218 this bus type. With Linux-&linux-version;, this is the case with ISA 219 busses. Expect this issue to be fixed in later kernel versions.</para> 224 220 225 221 <para>Udev is not intended to load <quote>wrapper</quote> drivers such as … … 270 266 271 267 <para>This usually happens if a rule unexpectedly matches a device. For 272 example, a poorly-writen rule can match b y both a SCSI disk (as desired)268 example, a poorly-writen rule can match both a SCSI disk (as desired) 273 269 and the corresponding SCSI generic device (incorrectly) by vendor. 274 270 Increase the logging verbosity of Udev, find the offending rule by
Note:
See TracChangeset
for help on using the changeset viewer.