README revision 65e9e8c5e8de192b2b6eea0dcb6089268eb9ad2a
ee9c9500ab13c1093fc3feaf2aa5a0d330d0bfadKay Sieversudev - userspace device management
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan EngelhardtFor more information see the files in the docs/ directory.
cff452c7e974db5053cdbd0d7bbbab2e3b4c91b9Kay SieversImportant Note:
cff452c7e974db5053cdbd0d7bbbab2e3b4c91b9Kay Sievers Integrating udev in the system has complex dependencies and differs from distro
cff452c7e974db5053cdbd0d7bbbab2e3b4c91b9Kay Sievers to distro. All major distros depend on udev these days and the system may not
7c66aeba0f28cb82027d6015405ed71afa3b6059Kay Sievers work without a properly installed version. The upstream udev project does not
7c66aeba0f28cb82027d6015405ed71afa3b6059Kay Sievers recommend to replace a distro's udev installation with the upstream version.
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers - Version 2.6.18 of the Linux kernel for reliable operation of this release of
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers udev. The kernel may have a requirement on udev too, see Documentation/Changes
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers in the kernel source tree for the actual dependency.
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering - The kernel must have sysfs, unix domain sockets and networking enabled.
20ffc4c4a9226b0e45cc02ad9c0108981626c0bbKay Sievers (unix domain sockets (CONFIG_UNIX) as a loadable kernel module may work,
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt but it does not make any sense - don't complain if anything goes wrong.)
ea92ae33e0fbbf8a98cd2e08ca5a850d83d57faeMaciej Wereski - The proc filesystem must be mounted on /proc, the sysfs filesystem must
04ac799283f517672a5424e7c5bf066cfa4ca020Zbigniew Jędrzejewski-Szmek be mounted at /sys. No other locations are supported by udev.
466784c8710e5cb0e0b86a16506d992d7ec5b619Kay Sievers Udev creates and removes device nodes in /dev, based on events the kernel
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering sends out on device discovery or removal.
7b4da18c1717f811bae67ea3d39290495857c03eLennart Poettering - Very early in the boot process, the /dev directory should get a 'tmpfs'
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poettering filesystem mounted, which is populated from scratch by udev. Created nodes
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poettering or changed permissions will not survive a reboot, which is intentional.
55d32caf94d8df547ca763be52b0c35bb6388606Lennart Poettering - The content of /lib/udev/devices directory which contains the nodes,
466784c8710e5cb0e0b86a16506d992d7ec5b619Kay Sievers symlinks and directories, which are always expected to be in /dev, should
55d32caf94d8df547ca763be52b0c35bb6388606Lennart Poettering be copied over to the tmpfs mounted /dev, to provide the required nodes
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering to initialize udev and continue booting.
94bbc9915a4272a20feda86c5f97b8a587482aa1Lennart Poettering - The old hotplug helper /sbin/hotplug should be disabled on bootup, before
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering actions like loading kernel modules are taken, which may cause a lot of
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering - The udevd daemon must be started on bootup to receive netlink uevents
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering from the kernel driver core.
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering - All kernel events are matched against a set of specified rules in
049b4474b35d0b854f87b0795a5113665413f6a4Lennart Poettering /etc/udev/rules.d/ which make it possible to hook into the event
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart Poettering processing to load required kernel modules and setup devices. For all
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poettering devices the kernel exports a major/minor number, udev will create a
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poettering device node with the default kernel name, or the one specified by a
6fd4d0209827e5c3e52fa8c7144852f550f8f95cLennart Poettering matching udev rule.
6fd4d0209827e5c3e52fa8c7144852f550f8f95cLennart PoetteringCompile Options:
6fd4d0209827e5c3e52fa8c7144852f550f8f95cLennart Poettering Prefix of install target, used for package building.
6cc532fdccac8eff638da94fbcce0bb655e4689eLennart Poettering If set to 'true', udev is able to pass errors or debug information
49a6199b42b34ac16b03af9eec9b4ee7a31aa9f4Lennart Poettering to syslog. This is very useful to see what udev is doing or not doing.
49a6199b42b34ac16b03af9eec9b4ee7a31aa9f4Lennart Poettering It is enabled by default, don't expect any useful answer, if you
d16bd0556127962e0dc19f2b049edb09f354bedbLennart Poettering need to hunt a bug, but you can't enable syslog.
d16bd0556127962e0dc19f2b049edb09f354bedbLennart Poettering If set to 'true', very verbose debugging messages will be compiled
ced4d06784dbb19666688947901961f949f2aa6dLennart Poettering into the udev binaries. The actual level of debugging is specified
ced4d06784dbb19666688947901961f949f2aa6dLennart Poettering in the udev config file.
4ba93280223ceb5de1bcedb196c38252f334521aLennart Poettering If set to 'true', udev will be built with SELinux support
a427c13d26d08195f96679bde6753796f0e0b54aDavid Strauss enabled. This is disabled by default.
a427c13d26d08195f96679bde6753796f0e0b54aDavid Strauss list of helper programs in extras/ to build.
a427c13d26d08195f96679bde6753796f0e0b54aDavid Strauss make EXTRAS="extras/cdrom_id extras/scsi_id extras/volume_id"
c20fd707a2b8c75166096544ee6f1538505e40a9Lennart Poettering - The install target intalls the udev binaries in the default locations,
416446221d905b6815175dc4d525d27f8ae43d1bLennart Poettering All binaries will be installed in /lib/udev or /sbin.
416446221d905b6815175dc4d525d27f8ae43d1bLennart Poettering - The default location for scripts and binaries that are called from
416446221d905b6815175dc4d525d27f8ae43d1bLennart Poettering rules is /lib/udev. Other packages who install udev rules, may use
9db76355212de5eb7985829d352183d3bdfb56d5Lennart Poettering that directory too.
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt - It is recommended to use the /lib/udev/devices/ directory to place
7f79cd7109a60810140a045cc725291fc5515264Lennart Poettering device nodes and symlinks in, which are copied to /dev at every boot.
0b926f194aa117519bfc89a12ee6f01ffeeccc21Lennart Poettering That way, nodes for broken subsystems or devices which can't be
0b926f194aa117519bfc89a12ee6f01ffeeccc21Lennart Poettering detected automatically by the kernel, will always be available.
baa89da40a1d42242c9c62603501ada7e9e52613Lennart Poettering - Default udev rules and persistent device naming rules are required by other
360e09ea9ad3a8e84e1729ebd2967ab8f7348170Lennart Poettering software that depends on the data udev collects from the devices,
360e09ea9ad3a8e84e1729ebd2967ab8f7348170Lennart Poettering and should be installed by default with every udev installation.
0aafd43d235982510d1c40564079f7bcec0c7c19Lennart PoetteringPlease direct any comment/question/concern to the linux-hotplug-devel mailing list at:
19aadacf92ad86967ffb678e37b2ff9e83cb9480Jan Engelhardt linux-hotplug@vger.kernel.org