NEWS revision d1c13ddcb3497e0c6a37cd9bd117b74ef010bc15
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-SzmekThe default install location moved from /lib/udev to /usr/lib/udev,
b3ae710c251d0ce5cf2cef63208e325497b5e323Zbigniew Jędrzejewski-Szmekto support systems without the / vs. /usr split. --libexecdir=
f957632b960a0a42999b38ded7089fa602b41745Kay Sieverscan still be configured to install things to /lib/udev.
f957632b960a0a42999b38ded7089fa602b41745Kay SieversThe default install location of the 'udevadm' tool moved from 'sbin'
f957632b960a0a42999b38ded7089fa602b41745Kay Sieversto /usr/bin. --bindir= can still be configured to install it in
8adaf7bd23baa6e2cd99e9e88e55d0f5f5db29a2Richard Maw/sbin. Some tools expect udevadm in 'sbin'. A symlink to udevadm
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-Szmekin /usr/bin needs to be manually created if needed.
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-SzmekKernel modules are now loaded directly by linking udev to 'libkmod'.
d19e85f0d474ed1882561b458d528cbae49f640eZbigniew Jędrzejewski-SzmekThe /sbin/modprobe tool is no longer executed by udev.
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-SzmekThe /sbin/blkid tool is no longer executed from udev rules. Udev links
3e495a6651609d0a45b62aab5c3ed5a3b40e11abZbigniew Jędrzejewski-Szmekdirectly to libblkid now.
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringThe 'udevadm control --reload-rules' option has been renamed to '--reload'.
f85857df75cfedbc0d10b8ca2400188dc8f4c22eLennart PoetteringIt reloads the kernel module configuration.
bafb15bab99887d1b6b8a35136531bac6c3876a6Lennart PoetteringThe systemd socket files use PassCred=yes, which requires systemd
5e524b404b7b319aa6a24bf21132b1074b206996Lennart PoetteringThe udev build system only creates a .xz tarball now.
fd6c2363af2cb144bb6a7d6b8bdba9f777440078Lennart PoetteringThe udev daemon moved to /lib/udev/udevd. Non-systemd init systems
47ee3ee03483efd271642d5043070cbd171f19d4Lennart Poetteringand non-dracut initramfs image generators need to change the init
de7399eb7427da46c5cd355181080274f69567a2Lennart Poetteringscripts. Alternatively the udev build needs to move udevd back to
de7399eb7427da46c5cd355181080274f69567a2Lennart Poettering/sbin or create a symlink in /sbin, which is not done by default.
de7399eb7427da46c5cd355181080274f69567a2Lennart PoetteringThe path_id, usb_id, input_id tools are built-in commands now and
de7399eb7427da46c5cd355181080274f69567a2Lennart Poetteringthe stand-alone tools do not exist anymore. Static lists of file in
de7399eb7427da46c5cd355181080274f69567a2Lennart Poetteringinitramfs generators need to be updated. For testing, the commands
0d4c4b7141c494fd8db273cf637a17af53674b2fLennart Poetteringcan still be executed standalone with 'udevadm test-builtin <cmd>'.
3efc8c72f02423ece08b5c4d5c812420092cc10aLennart PoetteringThe fusectl filesystem is no longer mounted directly from udev.
3efc8c72f02423ece08b5c4d5c812420092cc10aLennart PoetteringSystemd systems will take care of mounting fusectl and configfs
3efc8c72f02423ece08b5c4d5c812420092cc10aLennart Poetteringnow. Non-systemd systems need to ship their own rule if they
03364e472bccf64544e3a0d36d09f90c78f9f699Lennart Poetteringneed these filesystems auto-mounted.
03364e472bccf64544e3a0d36d09f90c78f9f699Lennart PoetteringThe long deprecated keys: SYSFS=, ID=, BUS= have been removed.
03364e472bccf64544e3a0d36d09f90c78f9f699Lennart PoetteringThe support for 'udevadm trigger --type=failed, and the
03364e472bccf64544e3a0d36d09f90c78f9f699Lennart PoetteringRUN{fail_event_on_error} attribute was removed.
03364e472bccf64544e3a0d36d09f90c78f9f699Lennart PoetteringThe udev control socket is now created in /run/udev/control
573831165360e89a880f90627753962ab28c4f37Lennart Poetteringand no longer as an abstract namespace one.
abab50081c8c12cc46482a43264deb46853bb8faLennart PoetteringThe rules to create persistent network interface and cdrom link
e6a26d8c972d45a0927ad0b7c654c830daa2243eLennart Poetteringrules automatically in /etc/udev/rules.d/ have been disabled by
e6a26d8c972d45a0927ad0b7c654c830daa2243eLennart Poetteringdefault. Explicit configuration will be required for these use
e6a26d8c972d45a0927ad0b7c654c830daa2243eLennart Poetteringcases, udev will no longer try to write any persistent system
e6a26d8c972d45a0927ad0b7c654c830daa2243eLennart Poetteringconfiguration from a device hotplug path.
a2088fd025deb90839c909829e27eece40f7fce4Lennart PoetteringThe udev-acl extra is no longer enabled by default now. To enable it,
a2088fd025deb90839c909829e27eece40f7fce4Lennart Poettering--enable-udev_acl needs to be given at ./configure time. On systemd
a2088fd025deb90839c909829e27eece40f7fce4Lennart Poetteringsystems, the udev-acl rules prevent it from running as the functionality
a2088fd025deb90839c909829e27eece40f7fce4Lennart Poetteringhas moved to systemd.
affb71da79b0c3cbcd6ff6c0cedb218a14162c7cLennart PoetteringUdev now enables kernel media-presence polling if available. Part
affb71da79b0c3cbcd6ff6c0cedb218a14162c7cLennart Poetteringof udisks optical drive tray-handling moved to cdrom_id: The tray
ff609b8ecd0e36bfff0ba120932307274d993dc8Lennart Poetteringis locked as soon as a media is detected to enable the receiving
ff609b8ecd0e36bfff0ba120932307274d993dc8Lennart Poetteringof media-eject-request events. Media-eject-request events will
ff609b8ecd0e36bfff0ba120932307274d993dc8Lennart Poetteringeject the media.
eedb4ac83158bad6f74305612660b4aff6acc6b4Lennart PoetteringLibudev enumerate is now able to enumerate a subtree of a given
63432f5d9570b76a8efe82702d69611c20645530Lennart PoetteringThe mobile-action-modeswitch modeswitch tool was deleted. The
63432f5d9570b76a8efe82702d69611c20645530Lennart Poetteringfunctionality is provided by usb_modeswitch now.
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart PoetteringThe systemd service files require systemd version 28. The systemd
eba6fd30f2a27f51fa328484cb241807c6934ce1Zbigniew Jędrzejewski-Szmeksocket activation make it possible now to start 'udevd' and 'udevadm
eba6fd30f2a27f51fa328484cb241807c6934ce1Zbigniew Jędrzejewski-Szmektrigger' in parallel.
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart PoetteringFix bug in control message handling, which can lead to a failing
d89e647542a6ceeefac15fbe8e193de7418bf449Lennart Poetteringudevadm control --exit. Thanks to Jürg Billeter for help tracking
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringWe require at least Linux kernel 2.6.32 now. Some platforms might
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poetteringrequire a later kernel that supports accept4() and similar, or
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart Poetteringneed to backport the trivial syscall wiring to the older kernels.
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringThe hid2hci tool moved to the bluez package and was removed.
d72bc5973465018e077fcecdcc720840bc1e9cfdLennart PoetteringMany of the extras can be --enable/--disabled at ./configure
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poetteringtime. The --disable-extras option was removed. Some extras have
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poetteringbeen disabled by default. The current options and their defaults
07cc65c70150faa68a63a444d615f922517c7d94Lennart Poetteringcan be checked with './configure --help'.
07cc65c70150faa68a63a444d615f922517c7d94Lennart PoetteringUdev logs a warning now if /run is not writable at udevd
c2570ab99be82eddbee0f397fbf8704a95f6f736Lennart Poetteringstartup. It will still fall back to /dev/.udev, but this is
0a0215783159b9c3a3652b231df36dbff08e0ac5Lennart Poetteringnow considered a bug.
dcd12626734ce81e89c74515eaca601ef9edf785Lennart PoetteringThe running udev daemon can now cleanly shut down with:
dcd12626734ce81e89c74515eaca601ef9edf785Lennart Poettering udevadm control --exit
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart PoetteringUdev in initramfs should clean the state of the udev database
17978b17d9f5d3591f1c644938efc9c27aa60485Lennart Poetteringwith: udevadm info --cleanup-db which will remove all state left
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poetteringbehind from events/rules in initramfs. If initramfs uses
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poettering--cleanup-db and device-mapper/LVM, the rules in initramfs need
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poetteringto add OPTIONS+="db_persist" for all dm devices. This will
48e6d6a6e911af0cf4e3ef12b0a3eeb2c8031d8aLennart Poetteringprevent removal of the udev database for these devices.
8aa203819fc7f2a840191f8d9d0e65566c0ce98eLennart PoetteringSpawned programs by PROGRAM/IMPORT/RUN now have a hard timeout of
b18d23d7ac6a53d52b99dbf0b2048d5a946a2e28Lennart Poettering120 seconds per process. If that timeout is reached the spawned
b18d23d7ac6a53d52b99dbf0b2048d5a946a2e28Lennart Poetteringprocess will be killed. The event timeout can be overwritten with
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart PoetteringIf systemd is used, udev gets now activated by netlink data.
449a22a58f0fa55d9d0fd2eb597272446e032acdLennart PoetteringSystemd will bind the netlink socket which will buffer all data.
60d17b74d714fa15d68639062dc2932d7b096229Lennart PoetteringIf needed, such setup allows a seemless update of the udev daemon,
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poetteringwhere no event can be lost during a udevd update/restart.
60d17b74d714fa15d68639062dc2932d7b096229Lennart PoetteringPackages need to make sure to: systemctl stop udev.socket udev.service
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poetteringor 'mask' udev.service during the upgrade to prevent any unwanted
60d17b74d714fa15d68639062dc2932d7b096229Lennart Poetteringauto-spawning of udevd.
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart PoetteringThis version of udev conflicts with systemd version below 25. The
2f653bded321fc2271edcda43d54fcc3e6c20dc9Lennart Poetteringunchanged service files will not wirk correctly.
e342b74468870f2e4f3e15f7277a0adea42183caZbigniew Jędrzejewski-SzmekThe udev runtime data moved from /dev/.udev/ to /run/udev/. The
036a4773ffa1152e4cabd27473450b8cc01e019bLennart Poettering/run mountpoint is supposed to be a tmpfs mounted during early boot,
036a4773ffa1152e4cabd27473450b8cc01e019bLennart Poetteringavailable and writable to for all tools at any time during bootup,
036a4773ffa1152e4cabd27473450b8cc01e019bLennart Poetteringit replaces /var/run/, which should become a symlink some day.
a88abde72169ddc2df77df3fa5bed30725022253Lennart PoetteringIf /run does not exist, or is not writable, udev will fall back using
a88abde72169ddc2df77df3fa5bed30725022253Lennart PoetteringOn systemd systems with initramfs and LVM used, packagers must
f93b36affa5ac5710cd84bfb8ff0dafabe99fbf1Lennart Poetteringmake sure, that the systemd and initramfs versions match. The initramfs
f93b36affa5ac5710cd84bfb8ff0dafabe99fbf1Lennart Poetteringneeds to create the /run mountpoint for udev to store the data, and
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poetteringmount this tmpfs to /run in the rootfs, so the that the udev database
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poetteringis preserved for the udev version started in the rootfs.
20760dcf5df7e253c21a51886cdb02dee612730bLennart PoetteringThe command 'udevadm info --convert-db' is gone. The udev daemon
20760dcf5df7e253c21a51886cdb02dee612730bLennart Poetteringitself, at startup, converts any old database version if necessary.
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart PoetteringThe systemd services files have been reorganized. The udev control
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart Poetteringsocket is bound by systemd and passed to the started udev daemon.
df22b0bbfde403b3fa71f3c2f1e2ca38af946388Lennart PoetteringThe udev-settle.service is no longer active by default. Services which
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poetteringcan not handle hotplug setups properly need to actively pull it in, to
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poetteringact like a barrier. Alternatively the settle service can be unconditionally
73cb77549536deab85d8d1261b5381e87d80ab23Lennart Poettering'systemctl'enabled, and act like a barrier for basic.target.
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart PoetteringThe fstab_import callout is no longer built or installed. Udev
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poetteringshould not be used to mount, does not watch changes to fstab, and
477e75ef9ea6bb2e7e8cc76278c442942110f227Lennart Poetteringshould not mirror fstab values in the udev database.
7dfb0404b3b6882d582a571f61a52b2f56961675Lennart PoetteringNew and updated keymaps.
63b20d5c0fa61e3aa8235de269161d0ee877ebccMichal SekletarThe udev database has changed, After installation of a new udev
63b20d5c0fa61e3aa8235de269161d0ee877ebccMichal Sekletarversion, 'udevadm info --convert-db' should be called, to let the new
63b20d5c0fa61e3aa8235de269161d0ee877ebccMichal Sekletarudev/libudev version read the already stored data.
63b20d5c0fa61e3aa8235de269161d0ee877ebccMichal Sekletarudevadm now supports quoting of property values, and prefixing of
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poettering $ udevadm info --export --export-prefix=MY_ --query=property -n sda
31a11e8f30449a81867e8fd081e3e76cf6664bb4Lennart Poettering MY_MAJOR='259'
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poettering MY_DEVTYPE='disk'
17fe56148c44dfa5583a8643c1918fd6eccf2aeeLennart Poetteringlibudev now supports:
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering udev_device_get_is_initialized()
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poettering udev_enumerate_add_match_is_initialized()
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poetteringto be able to skip devices the kernel has created , but udev has
7687f85ea6bab434324bb985e2898bf6373891bfLennart Poetteringnot already handled.
c14db9b32ab90738973071d31f259d1a457d7b4aLennart Poetteringlibudev now supports:
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poettering udev_device_get_usec_since_initialized()
fa607802f332e06f4044c3eb38dbea41076c803dLennart Poetteringto retrieve the "age" of a udev device record.
a47e6701bfc45519a4e038daa52e9236e932f59aLennart PoetteringGUdev supports a more generic GUdevEnumerator class, udev TAG
92ff080be100aff15f292e2631921131c610afe7Lennart Poetteringhandling, device initialization and timestamp now.
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart PoetteringThe counterpart of /sys/dev/{char,block}/$major:$minor,
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poettering/dev/{char,block}/$major:$minor symlinks are now unconditionally
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart Poetteringcreated, even when no rule files exist.
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart PoetteringNew and updated keymaps.
c3a0d00d6dd6f5997d673e133ef6f9f856550b0aLennart PoetteringGUdev moved from /usr to /.
2a441c8afe7c81f74cc2ceccdf9a71301cd39d4dLennart PoetteringPersistent network naming rules are disabled inside of Qemu/KVM now.
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart PoetteringNew and updated keymaps.
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart PoetteringUdev gets unconditionally enabled on systemd installations now. There
40ff4a4abd76d71408e598ed02d7860b8465fa9aLennart Poetteringis no longer the need to to run 'systemctl enable udev.service'.
e3286870fdf20c3c93e944b24fd9af53620f7dbaLennart PoetteringNew and fixed keymaps.
8514b67754c5ff7fa628929b3d27131010c21842Lennart PoetteringInstall systemd service files if applicable.
7b0fce617c48eda32b2d4e04b5f0e4376e8c0106Lennart PoetteringAll distribution specific rules are removed from the udev source tree,
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poetteringmost of them are no longer needed. The Gentoo rules which allow to support
c2d5b3c94d0c082ef29597fb230f8b88b124bab8Lennart Poetteringolder kernel versions, which are not covered by the default rules anymore
264b8070715d2d19344c4991ace21147d998f56dLennart Poetteringhas moved to rules/misc/30-kernel-compat.rules.
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart PoetteringThe option --debug-trace and the environemnt variable UDEVD_MAX_CHILDS=
d48b7bd271b1e70924c8485d2f95c2f5a1ae77cbLennart Poetteringwas removed from udevd.
758c4d7a391c0e024737053c815bf3924653b8c5Lennart PoetteringUdevd now checks the kernel commandline for the following variables:
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart Poettering udev.log-priority=<syslog priority>
821cc13ddae40fb7608458b44aaa7a3fd33d56d9Lennart Poettering udev.children-max=<maximum number of workers>
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poettering udev.exec-delay=<seconds to delay the execution of RUN=>
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringto help debuging coldplug setups where the loading of a kernel
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringmodule crashes the system.
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart PoetteringThe subdirectory in the source tree rules/packages has been renamed to
8483d73ff158ee0d51ccbba09a470cc6ae9b071aLennart Poetteringrules/arch, anc contains only architecture specific rules now.
3bcde97e8502c48b53f7420e2433ca68e601662dLennart PoetteringNow the udev daemon itself, does on startup:
3bcde97e8502c48b53f7420e2433ca68e601662dLennart Poettering - copy the content of /lib/udev/devices to /dev
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering - create the standard symlinks like /dev/std{in,out,err},
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering - use static node information provided by kernel modules
533bb267f13e2f7b4d7b78de30e821dc81c82335Lennart Poettering and creates these nodes to allow module on-demand loading
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek - possibly apply permissions to all ststic nodes from udev
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-Szmek rules which are annotated to match a static node
b42de08aa4c97636e42c28c7bce08f0d7c2a719aZbigniew Jędrzejewski-SzmekThe default mode for a device node is 0600 now to match the kernel
202aea456dfb279cd34da7bfd1880f6ac0fd849fLennart Poetteringcreated devtmpfs defaults. If GROUP= is specified and no MODE= is
42aeb14a4a0fa7d43da96a8ed0fb0e180a2dd5c8Lennart Poetteringgiven the default will be 0660.
14a32924c9b46817c92ae11c1147a59dcb62012bLennart PoetteringUdev now gradually starts to pass control over the primary device nodes
14a32924c9b46817c92ae11c1147a59dcb62012bLennart Poetteringand their names to the kernel, and will in the end only manage the
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart Poetteringpermissions of the node, and possibly create additional symlinks.
563b1bdc09efe0cf94dd3f514f30376ca854c1ceLennart PoetteringAs a first step NAME="" will be ignored, and NAME= setings with names
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poetteringother than the kernel provided name will result in a logged warning.
5dcf983854c2e8314dbee239180255490ec8ae1cLennart PoetteringKernels that don't provide device names, or devtmpfs is not used, will
5dcf983854c2e8314dbee239180255490ec8ae1cLennart Poetteringstill work as they did before, but it is strongly recommended to use
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gundersenonly the same names for the primary device node as the recent kernel
6bd7941ece602ae9962a103c8d65ecda7d642391Tom Gundersenprovides for all devices.
ed220efd6657822332b9563ec53c5ab9f3c33220Lennart PoetteringFix broken firmware loader search path.
41488fe9024a8955d19811620fd55dcc56a5b2baLennart Poettering"udevadm trigger" defaults to "change" events now instead of "add"
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poetteringevents. The "udev boot script" might need to add "--action=add" to
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poetteringthe trigger command if not already there, in case the initial coldplug
157a180e4fc827606833a6724834ba7b0246d650Tom Gundersenevents are expected as "add" events.
823f4a91ebd8942a2c1ff31050dc55eaa60f6ffcLukas NykrynThe option "all_partitons" was removed from udev. This should not be
510cc5ae0810d71e167cc5b389d36995f90e29cfTom Gundersenneeded for usual hardware. Udev can not safely make assumptions
b47c788854600ca691382d222ffeac335f619da9David Herrmannabout non-existing partition major/minor numbers, and therefore no
d56cc298808b2dbfa28ae893d6f47f34df3196b1Lennart Poetteringlonger provide this unreliable and unsafe option.
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart PoetteringThe option "ignore_remove" was removed from udev. With devtmpfs
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poetteringudev passed control over device nodes to the kernel. This option
1dbe0a6efda7b1d35957eab7e1d56a2c69d806d9Lennart Poetteringshould not be needed, or can not work as advertised. Neither
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poetteringudev nor the kernel will remove device nodes which are copied from
ff3d6560bead6879a2fed1bf99bfe8273b3723f1Zbigniew Jędrzejewski-Szmekthe /lib/udev/devices/ directory.
23c4091dc2b85d117512e89233fdeb47d1ff3d92Lennart PoetteringAll "add|change" matches are replaced by "!remove" in the rules and
9d6db739ce1eaa3eace21801fd606d523b73c8f4Lennart Poetteringin the udev logic. All types of events will update possible symlinks
0f47ed0a052c0da743404f23ac3532aaabd23655Lennart Poetteringand permissions, only "remove" is handled special now.
bc07548926ec5ed7b13df8d3656654f238e0b9a7Lennart PoetteringThe modem modeswitch extra was removed and the external usb_modeswitch
17018c3cc7ba3dcb4e6aeb8a77203b08fd09f726Tom Gundersenprogram should be used instead.
17018c3cc7ba3dcb4e6aeb8a77203b08fd09f726Tom GundersenNew and fixed keymaps.
3c779fa59d1825d7db2a9516669d34ded7916913Lennart PoetteringKernels with SYSFS_DEPRECATED=y are not supported since a while. Many users
a940778fb1dd16479f455bab3ac6cbdbc5b06165Lennart Poetteringdepend on the current sysfs layout and the information not available in the
a01647e53727107d82382bc5c9d98c894e8f386cLennart Poetteringdeprecated layout. All remaining support for the deprecated sysfs layout is
37efac5ddb21fd91ed420c070ed07f375e78b3b9Lennart PoetteringFix for a possible endless loop in the new input_id program.
81429136905a6204875174b60a179333b7f3c9e4Kay SieversThe option "ignore_device" does no longer exist. There is no way to
81429136905a6204875174b60a179333b7f3c9e4Kay Sieversignore an event, as libudev events can not be suppressed by rules.
e107ed185ef08945102834234a05ec51bb438685Lennart PoetteringIt only prevented RUN keys from being executed, which results in an
f598ac3e28b729dd0b1d0a881df3e16465687a2bLennart Poetteringinconsistent behavior in current setups.
01083ad094664e5c685060f4fb35a05ea2f212edLennart PoetteringBUS=, SYSFS{}=, ID= are long deprecated and should be SUBSYSTEM(S)=,
01083ad094664e5c685060f4fb35a05ea2f212edLennart PoetteringATTR(S){}=, KERNEL(S)=. It will cause a warning once for every rule
edb2935c5c5b95c42b8679086f60da5eafad74cbLennart Poetteringfile from now on.
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart PoetteringThe support for the deprecated IDE devices has been removed from the
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poetteringdefault set of rules. Distros who still care about non-libata drivers
769918ecd30c0f7ee6e87b9aa6226d956bd2f530Lennart Poetteringneed to add the rules to the compat rules file.
6a3f892a23db71544d0439355f96c44350dafa8fLennart PoetteringThe ID_CLASS property on input devices has been replaced by the more accurate
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poetteringset of flags ID_INPUT_{KEYBOARD,KEY,MOUSE,TOUCHPAD,TABLET,JOYSTICK}. These are
2a781fc9bd33982c81e5ff75974a442a33d4f167Lennart Poetteringdetermined by the new "input_id" prober now. Some devices, such as touchpads,
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poetteringcan have several classes. So if you previously had custom udev rules which e. g.
6a3f892a23db71544d0439355f96c44350dafa8fLennart Poetteringchecked for ENV{ID_CLASS}=="kbd", you need to replace this with
650264033f2f98f6319513958d94d59078654af8Lennart PoetteringENV{ID_INPUT_KEYBOARD}=="?*".
d4fdc205a4610965cee46408dbd046c922e7620cLennart PoetteringTo support DEVPATH strings larger than the maximum file name length, the
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poetteringprivate udev database format has changed. If some software still reads the
d4fdc205a4610965cee46408dbd046c922e7620cLennart Poetteringprivate files in /dev/.udev/, which it shouldn't, now it's time to fix it.
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart PoetteringPlease do not port anything to the new format again, everything in /dev/.udev
af1082b04a3d45a9b1d796b4271f44e87e307026Lennart Poetteringis and always was private to udev, and may and will change any time without
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart PoetteringMultiple devices claiming the same names in /dev are limited to symlinks
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart Poetteringonly now. Mixing identical symlink names and node names is not supported.
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart PoetteringThis reduces the amount of data in the database significantly.
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart PoetteringNAME="%k" causes a warning now. It's is and always was completely superfluous.
488ad3b32a7e2b5b1380abf4a15e5f65fa65f3feLennart PoetteringIt will break kernel supplied DEVNAMEs and therefore it needs to be removed
47c94a96df29080f8b3a97e7362df4e9c6ba3265Lennart Poetteringfrom all rules.
09ecd746c9d6581664873674c2188f8c93ed7780Lennart PoetteringMost NAME= instructions got removed. Kernel 2.6.31 supplies the needed names
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poetteringif they are not the default. To support older kernels, the NAME= rules need to
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poetteringbe added to the compat rules file.
09ecd746c9d6581664873674c2188f8c93ed7780Lennart PoetteringSymlinks to udevadm with the old command names are no longer resolved to
09ecd746c9d6581664873674c2188f8c93ed7780Lennart Poetteringthe udevadm commands.
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringThe udev-acl tool got adopted to changes in ConsoleKit. Version 0.4.1 is
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringThe option "last_rule" does no longer exist. Its use breaks too many
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringthings which expect to be run from independent later rules, and is an idication
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringthat something needs to be fixed properly instead.
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringThe gudev API is no longer marked as experimental,
0bee65f0622c4faa8ac8ae771cc0c8a936dfa284Lennart PoetteringG_UDEV_API_IS_SUBJECT_TO_CHANGE is no longer needed. The gudev introspection
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringis enabled by default now. Various projects already depend on introspection
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringinformation to bind dynamic languages to the gudev interfaces.
718db96199eb307751264e4163555662c9a389faLennart PoetteringThe udevadm trigger "--retry-failed" option, which is replaced since quite
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringa while by "--type=failed" is removed.
718db96199eb307751264e4163555662c9a389faLennart PoetteringThe failed tracking was not working at all for a few releases. The RUN
718db96199eb307751264e4163555662c9a389faLennart Poetteringoption "ignore_error" is replaced by a "fail_event_on_error" option, and the
966204e010ed432a1d7a0481d41a326d8ec7b0c8Lennart Poetteringdefault is not to track any failing RUN executions.
94676f3e9352cbf1f72e0a512ee0d2ed83ff676dLennart PoetteringNew keymaps, new modem, hid2hci updated.
7f79cd7109a60810140a045cc725291fc5515264Lennart PoetteringFix possible crash in udevd when worker processes are busy, rules are
0aafd43d235982510d1c40564079f7bcec0c7c19Lennart Poetteringchanged at the same time, and workers get killed to reload the rules.
fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578Lennart PoetteringProperties set with ENV{.FOO}="bar" are marked private by starting the
6aaa8c2f783cd1b3ac27c5ce40625d032e7e3d71Zbigniew Jędrzejewski-Szmekname with a '.'. They will not be stored in the database, and not be
c3bb87dbab8b79bb9253407cb5b7f3e6fe8db395Lennart Poetteringexported with the event.
18d4e7c26e7806ac363d19989df7144d5058ce41Lennart PoetteringFirmware files are looked up in:
4e09014daf8f98584b3f15e64e93bed232e70a6bLennart PoetteringATA devices switched the property from ID_BUS=scsi to ID_BUS=ata.
6bb648a16ae4a682ad4784412af706d2e6a3e4daTom Gundersenata_id, instead of scsi_id, is the default tool now for ATA devices.
57f2a947270faf65e1876797b930e3f6d60ebd06Lennart PoetteringThe configure options have changed because another library needs to be
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardtinstalled in a different location. Instead of exec_prefix and udev_prefix,
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringlibdir, rootlibdir and libexecdir are used. The Details are explained in
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringthe README file.
80caea6cc72ebd311a311b1527cc6b87201c13bfLennart PoetteringEvent processes now get re-used after they handled an event. This reduces
ab9716c2489f9141ed13ec22dbb216b3e6fbd6b5Lennart Poetteringthe number of forks and the pressure on the CPU significantly, because
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poetteringcloned event processes no longer cause page faults in the main daemon.
df98a87ba389bdfc0359beedf47557411f3af434Lennart PoetteringAfter the events have settled, a few worker processes stay around for
df98a87ba389bdfc0359beedf47557411f3af434Lennart Poetteringfuture events, all others get cleaned up.
2ecfc64e59b5e4e96bed6f68bd36b612ef77a146Lennart PoetteringTo be able to use signalfd(), udev depends on kernel version 2.6.25 now.
6a8b5fa4635ed858788fb10099ec9b62b3359a0aLennart PoetteringAlso inotify support is mandatory now to run udev.
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringThe format of the queue exported by the udev damon has changed. There is
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringno longer a /dev/.udev/queue/ directory. The current event queue can be
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringaccessed with udevadm settle and libudedv.
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart PoetteringLibudev does not have the unstable API header anymore. From now on,
0ad68f8743f3baaa7cd8ac7a2275459ae0f7b96aLennart Poetteringincompatible changes will be handled by bumping the library major version.
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringTo build udev from the git tree gtk-doc is needed now. The tarballs will
12179984a38fe74581333fbcdc11c822d81f505fLennart Poetteringbuild without it and contain the pre-built documentation. An online copy
0536ce5d0ceaf87f3e81faaff41d69ffeed2186fZbigniew Jędrzejewski-Szmekis available here:
eb01ba5de14859d7a94835ab9299de40132d549aLennart Poettering http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart PoetteringThe tools from the udev-extras repository have been merged into the main
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poetteringudev repository. Some of the extras have larger external dependencies, and
154ff088d371bee5651eaa2bc9bde8a34c185656Lennart Poetteringthey can be disabled with the configure switch --disable-extras.
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart PoetteringThe program vol_id and the library libvolume_id are removed from the
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poetteringrepository. Libvolume_id is merged with libblkid from the util-linux-ng
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poetteringpackage. Persistent disk links for label and uuid depend on the
ab8e074ce25b9947314c69e17afe1bd2527ee26dLennart Poetteringutil-linux-ng version (2.15) of blkid now. Older versions of blkid
b454b11220e87add6d0f011695c7912b009c853dLennart Poetteringcan not be used with udev.
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart PoetteringLibudev allows to subscribe to udev events. To prevent unwanted messages
4ff49cb63075aba646b578f2516b37a8dfd5a65bLennart Poetteringto be delivered, and waking up the subscribing process, a filter can be
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmekinstalled, to drop messages inside a kernel socket filter. The filters
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmekmatch on the <subsytem>:<devtype> properties of the device.
fff87a35d9e26c0d4ea41273a963c0eb20e18da4Zbigniew Jędrzejewski-Szmek This is part of the ongoing effort to replace HAL, and switch current
b8b4d3dddc7611dce3bf28004b0375d661120c62Lennart Poetteringusers over to directly use libudev.
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poettering Libudev is still marked as experimental, and its interface might
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardteventually change if needed, but no major changes of the currently exported
b5c03638d48c07aa0eaf13b5f54000c7133e1883Lennart Poetteringinterface are expected anymore, and a first stable release should happen
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart PoetteringA too old kernel (2.6.21) or a kernel with CONFIG_SYSFS_DEPRECATED
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poetteringis not supported since while and udevd will log an error message at
eece8c6fb5f4d354dcef6fd369e876c4f3a3f163Lennart Poetteringstartup. It should still be able to boot-up, but advanced rules and system
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart Poetteringservices which depend on the information not available in the old sysfs
356ce9915ab1a4a1e6dc26954df34936a69e7c12Lennart Poetteringformat will fail to work correctly.
c144692179098c1861f2aeafc67689a74439cf4cLennart PoetteringDVB device naming is supplied by the kernel now. In case older kernels
c144692179098c1861f2aeafc67689a74439cf4cLennart Poetteringneed to be supported, the old shell script should be added to a compat
0be8342c04bbf129b4a21e5073eacccbbce4e896Lennart PoetteringThe processed udev events get send back to the netlink socket. Libudev
e5ec62c56963d997edaffa904af5dc45dac23988Lennart Poetteringprovides access to these events. This is work-in-progress, to replace
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart Poetteringthe DeviceKit daemon functionality directly with libudev. There are
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poetteringupcoming kernel changes to allow non-root users to subcribe to these
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering"udevadm settle" now optionally accepts a range of events to wait for,
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringinstead of waiting for "all" events.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe installed watch for block device metadata changes is now removed
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringduring event hadling, because some (broken) tools may be called from udev
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringrules and (wrongly) open the device with write access. After the finished
466784c8710e5cb0e0b86a16506d992d7ec5b619Kay Sieversevent handling the watch is restored.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringDevice nodes can be watched for changes with inotify with OPTIONS="watch".
e6c6e7afffa80ad74efdb1ddfa815294624f1608Lennart PoetteringIf closed after being opened for writing, a "change" uevent will occur.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering/dev/disk/by-{label,uuid}/* symlinks will be automatically updated.
e5ec62c56963d997edaffa904af5dc45dac23988Lennart PoetteringThe udevadm test command has no longer a --force option, nodes and symlinks
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringare always updated with a test run now.
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringThe udevd daemon can be started with --resolve-names=never to avoid all user
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringand group lookups (e.g. in cut-down systems) or --resolve-names=late to
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringlookup user and groups every time events are handled.
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringWe are currently merging the Ubuntu rules in the udev default rules,
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringand get one step closer to provide a common Linux /dev setup, regarding
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringdevice names, symlinks, and default device permissions. On udev startup,
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringwe now expect the following groups to be resolvable to their ids with
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringglibc's getgrnam():
279f036675536d55c901562b49f9df146af1a0e3Lennart Poettering disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, kmem.
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringLDAP setups need to make sure, that these groups are always resolvable at
b568ef14a75dffb7182e0acbdec743b31df2a597Lennart Poetteringbootup, with only the rootfs mounted, and without network access available.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringSome systems may need to add some new, currently not used groups, or need
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poetteringto add some users to new groups, but the cost of this change is minimal,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringcompared to the pain the current, rather random, differences between the
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poetteringvarious distributions cause for upstream projects and third-party vendors.
57f2a947270faf65e1876797b930e3f6d60ebd06Lennart PoetteringIn general, "normal" users who log into a machine should never be a member
c06bf414042cd1bf94e0af63e9e2a0c291bfc546Kay Sieversof any such group, but the device-access should be managed by dynamic ACLs,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringwhich get added and removed for the specific users on login/logout and
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringsession activity/inactivity. These groups are only provided for custom setups,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand mainly system services, to allow proper privilege separation.
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtA video-streaming daemon uid would be a member of "audio" and "video", to get
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringaccess to the sound and video devices, but no "normal" user should ever belong
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringto the "audio" group, because he could listen to the built-in microphone with
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringany ssh-session established from the other side of the world.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering/dev/serial/by-{id,path}/ now contains links for ttyUSB devices,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringwhich do not depend on the kernel device name. As usual, unique
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringdevices - only a single one per product connected, or a real
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringUSB serial number in the device - are always found with the same
f47ec8ebb3858553dec870e1c596e39525f46360Lennart Poetteringname in the by-id/ directory.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringCompletely identical devices may overwrite their names in by-id/
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand can only be found reliably in the by-path/ directory. Devices
038cf33420afa5f913fe5cbf3e7138574c33d97bZbigniew Jędrzejewski-Szmekspecified by by-path/ must not change their connection, like the
038cf33420afa5f913fe5cbf3e7138574c33d97bZbigniew Jędrzejewski-SzmekUSB port number they are plugged in, to keep their name.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringTo support some advanced features, Linux 2.6.22 is the oldest supported
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringversion now. The kernel config with enabled SYSFS_DEPRECATED is no longer
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringsupported. Older kernels should still work, and devices nodes should be
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringreliably created, but some rules and libudev will not work correctly because
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringthe old kernels do not provide the expected information or interfaces.
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringFix for a possible segfault while swapping network interface names in udev
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringversions 131-134.
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtThe group "video" is part of the default rules now.
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringBugfix for kernels using SYSFS_DEPRECATED* option and finding parent
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringblock devices in some cases. No common distro uses this option anymore,
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringand we do not get enough testing for this and recent udev versions. If
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringthis option is not needed to run some old distro with a new kernel,
279f036675536d55c901562b49f9df146af1a0e3Lennart Poetteringit should be disabled in the kernel config.
279f036675536d55c901562b49f9df146af1a0e3Lennart PoetteringBugfix for the $links substitution variable, which may crash if no links
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringare created. This should not happen in usual setups because we always
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringcreate /dev/{block,char}/ links.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe strings of the parsed rules, which are kept in memory, no longer
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringcontain duplicate entries, or duplicate tails of strings. This, and the
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringnew rules parsing/matching code reduces the total in-memory size of
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringa huge distro rule sets to 0.08 MB, compared to the 1.2MB of udev
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringThe export of DEVTYPE=disk/partition got removed from the default
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringrules. This value is available from the kernel. The pnp shell script
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringmodprobe hack is removed from the default rules. ACPI devices have _proper_
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringmodalias support and take care of the same functionality.
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringInstallations which support old kernels, but install current default
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringudev rules may want to add that to the compat rules file.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringLibvolume_id now always probes for all known filesystems, and does not
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringstop at the first match. Some filesystems are marked as "exclusive probe",
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand if any other filesytem type matches at the same time, libvolume_id
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringwill, by default, not return any probing result. This is intended to prevent
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringmis-detection with conflicting left-over signatures found from earlier
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringfile system formats. That way, we no longer depend on the probe-order
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringin case of multiple competing signatures. In some setups the kernel allows
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringto mount a volume with just the old filesystem signature still in place.
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtThis may damage the new filesystem and cause data-loss, just by mounting
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringit. Because volume_id can not decide which one the correct signature is,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringthe wrong signatures need to be removed manually from the volume, or the
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringvolume needs to be reformatted, to enable filesystem detection and possible
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart PoetteringFix segfault if compiled without optimization and dbg() does not get
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringcompiled out and uses variables which are not available.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringBugfixes. (And maybe new bugs. :))
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe rule matching engine got converted from a rule list to a token
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poetteringarray which reduced the in-memory rules representation of a full
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poetteringfeatured distros with thousends of udev rules from 1.2MB to 0.12 MB.
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtLimits like 5 ENV and ATTR matches, and one single instance for most
90e071d1d59be05fcba66561439c3ca67c80ee20Lennart Poetteringother keys per rule are gone.
a19554ed92a7460b4e709cc40c558cde827ab85bLennart PoetteringThe NAME assignment is no longer special cased. If later rules assign
a19554ed92a7460b4e709cc40c558cde827ab85bLennart Poetteringa NAME value again, the former value will be overwritten. As usual
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart Poetteringfor most other keys, the NAME value can be protected by doing a final
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart Poetteringassignment with NAME:="<value>".
a7a3f28be404875eff20443a0fa8088bcc4c18dfLennart PoetteringAll udev code now uses libudev, which is also exported. The library
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringis still under development, marked as experimental, and its interface
08f9588885c5d65694b324846b0ed19211d2c178Lennart Poetteringmay change as long as the DeviceKit integration is not finished.
9ee58bddeb6eb044753167e0047fe836479ca5dbKay SieversMany thanks to Alan Jenkins for his continuous help, and finding and
dcfc4b2e5c1af6375488c00bdc6fb8122f86c4d7Lennart Poetteringoptimizing some of the computing expensive parts.
9cb74bcb23dde8488459ca233bf9caee642b8402Zbigniew Jędrzejewski-SzmekKernel devices and device nodes are connected now by reverse indizes in
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering/sys and /dev. A device number retrieved by a stat() or similar, the
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringkernel device directory can be found by looking up:
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering /sys/dev/{block,char}/<maj>:<min>
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand the device node of the same device by looking up:
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering /dev/{block,char}/<maj>:<min>
41f9172f427bdbb8221c64029f78364b8dd4e527Lennart PoetteringFix recently introduced bug, which caused a compilation without large
424a19f8a2061c6b058283228734010b2fa24db4Lennart Poetteringfile support, where vol_id does not recognize raid signatures at the end
a1cccad1fe88ddd6943e18af97cf7f466296970fLennart PoetteringFirewire disks now create both, by-id/scsi-* and by-id/ieee-* links.
8556879e0d14925ce897875c6c264368e2d048c2Lennart PoetteringSeems some kernel versions prevent the creation of the ieee-* links,
4a30847b9d71e0381948d68279c8f775b9de7850Lennart Poetteringso people used the scsi-* link which disappeared now.
5e8b28838e493b59628322b69580097ef7dd9384Lennart PoetteringMore libudev work. Almost all udevadm functionality comes from libudev
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poetteringudevadm trigger has a new option --type, which allows to trigger events
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart Poetteringfor "devices", for "subsystems", or "failed" devices. The old option
0790b9fed42eefc4e22dbbe2337cba9713b7848cLennart Poettering--retry-failed" still works, but is no longer mentioned in the man page.
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart PoetteringThe udevadm info --device-id-of-file= output has changed to use
0790b9fed42eefc4e22dbbe2337cba9713b7848cLennart Poetteringthe obvious format. Possible current users should use the --export
fd4d89b2c0b31da01d134301e30916931ae3c7d9Lennart Poetteringoption which is not affected.
47ae7201b1df43bd3da83a19e38483b0e5694c99Lennart PoetteringThe old udev commands symlinks to udevadm are not installed, if
47ae7201b1df43bd3da83a19e38483b0e5694c99Lennart Poetteringthese symlinks are used, a warning is printed.
3471bedc005fab03f40b99bf6599645330adcd9eLennart PoetteringOptical drive's media is no longer probed for raid signatures,
3471bedc005fab03f40b99bf6599645330adcd9eLennart Poetteringreading the end of the device causes some devices to malfunction.
59cea26a349cfa8db906b520dac72563dd773ff2Lennart PoetteringAlso the offset of the last session found is used now to probe
35eb6b124ebdf82bd77aad6e44962a9a039c4d33Lennart Poetteringfor the filesystem.
5b40d33761376354116a8cddb9b9fbdb6c4727d6Lennart PoetteringThe volume_id library got a major version number update to 1,
e01a15b71e18bf2008aec7e75041ffa42eb80b80Kay Sieverssome deprecated functions are removed.
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay SieversA shared library "libudev" gets installed now to provide access
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay Sieversto udev device information. DeviceKit, the successor of HAL, will
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay Sieversneed this library to access the udev database and search sysfs for
e8d842a0d0b39f298e1e7f70d29759e50b2b16d4Tom GundersenThe library is currently in an experimental state, also the API is
b8217b7bd5fd171916a095b150fad4c3a37f5a41Kay Sieversexpected to change, as long as the DeviceKit integration is not
7f110ff9b8828b477e87de7b28c708cf69a3d008Lennart PoetteringWe use ./configure now. See INSTALL for details. Current
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering "/usr" - prefix for man pages, include files
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering --exec-prefix=
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering "" - the root filesystem, prefix for libs and binaries
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering --with-libdir-name=
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering "lib" - directory name for libraries, not a path name
70a44afee385c4afadaab9a002b3f9dd44aedf4aJan Engelhardt multilib 64bit systems may use "lib64" instead of "lib"
65c0cf7108ae3537a357c74b4586a783baba82f9Lennart Poettering --enable-debug
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers compile-in verbose debug messages
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers --disable-logging
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers disable all logging and compile-out all log strings
ad740100d108282d0244d5739d4dcc86fe4c5fdeLennart Poettering --with-selinux
ad740100d108282d0244d5739d4dcc86fe4c5fdeLennart Poettering link against SELInux libraries, to set the expected context
f38afcd0c7f558ca5bf0854b42f8c6954f8ad7f3Lennart Poettering for created files
614cc34f3a2a7c64a21c3f5256f2e2b2c1de1d51Zbigniew Jędrzejewski-SzmekIn the default rules, the group "disk" gets permissions 0660 instead
614cc34f3a2a7c64a21c3f5256f2e2b2c1de1d51Zbigniew Jędrzejewski-Szmekof 0640. One small step closer to unify distro rules. Some day, all
7d441ddb5ca090b5a97f58ac4b4d97b3e84fa81eLennart Poetteringdistros hopefully end up with the same set of rules.
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart PoetteringNo symlinks to udevadm are installed anymore, if they are still needed,
7f8aa67131cfc03ddcbd31c0420754864fc122f0Lennart Poetteringthey should be provided by the package.
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart PoetteringDefault udev rules, which are not supposed to be edited by the user, should
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poetteringbe placed in /lib/udev/rules.d/ now, to make it clear that they are private to
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poetteringthe udev package and will be replaced with an update. Udev will pick up rule
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering /lib/udev/rules.d/ - default installed rules
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering /etc/udev/rules.d/ - user rules + on-the-fly generated rules
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart Poettering /dev/.udev/rules.d/ - temporary non-persistent rules created after bootup
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart PoetteringIt does not matter in which directory a rule file lives, all files are sorted
55cdcbacf70f05a40a155af24f6d2da6b478cba6Lennart Poetteringin lexical order.
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart PoetteringTo help creating /dev/root, we have now:
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering $ udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart PoetteringIn case the current --device-id-of-file is already used, please switch to
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poetteringthe --export format version, it saves the output parsing and the old
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poetteringformat will be changed to use ':' as a separator, like the format in the
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poetteringsysfs 'dev' file.
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart PoetteringFix cdrom_id to properly recognize blank media.
5d0fcd7c8d29340ac9425c309e8ac436a9af699cLennart PoetteringTape drive id-data is queried from /dev/bsg/* instead of the tape
8bbabc447b1d913bd21faf97c7b17d20d315d2b4Lennart Poetteringnodes. This avoids rewinding tapes on open().
3040728b6691ea2e9df3a2060e2d49a792bbaedaLennart PoetteringThe symlinks udevcontrol and udevtrigger are no longer installed by
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringThe scsi_id program does not depend on sysfs anymore. It can speak
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringSGv4 now, so /dev/bsg/* device nodes can be used, to query SCSI device
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringdata, which should solve some old problems with tape devices, where
73090dc815390f4fca4e3ed8a7e1d3806605daaaLennart Poetteringwe better do not open all tape device nodes to identify the device.
a8f11321c209830a35edd0357e8def5d4437d854Lennart PoetteringThe cdrom_id program is replaced by an advanced version, which can