Opened 20 years ago

Closed 18 years ago

#874 closed defect (fixed)

udev-084

Reported by: kpfleming@… Owned by: lfs-book@…
Priority: normal Milestone: 6.2
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description

Version increment (one version missed, book is on -028).

Attachments (1)

25-lfs[1].rules (4.8 KB ) - added by jim@… 19 years ago.
Updated rules for udev-051

Download all attachments as: .zip

Change History (119)

comment:1 by kpfleming@…, 20 years ago

bug_file_loc: http://www.kernel.org/pub/linux/kernel/hotplug/udev-030.tar.bz2http://www.kernel.org/pub/linux/utils/hotplug/udev-030.tar.bz2

comment:2 by kpfleming@…, 20 years ago

bug_file_loc: http://www.kernel.org/pub/linux/utils/hotplug/udev-030.tar.bz2http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-030.tar.bz2

comment:3 by Matthew Burgess, 20 years ago

Resolution: fixed
Status: newclosed

comment:4 by jeremy@…, 20 years ago

bug_file_loc: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-030.tar.bz2http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-031.tar.bz2
Resolution: fixed
Status: closedreopened
Summary: udev-030udev-031

comment:5 by jeremy@…, 20 years ago

Resolution: wontfix
Status: reopenedclosed

Udev-031 has a problem - Unstable is staying at 030 for now, will revisit when 032 is released.

comment:6 by Matthew Burgess, 20 years ago

Resolution: wontfix
Status: closedreopened
Summary: udev-031udev-032

Version increment (032) - changelog mentions that it fixes the badly broken udevstart.

comment:7 by jeremy@…, 20 years ago

Resolution: fixed
Status: reopenedclosed

Upgraded in unstable

comment:8 by Matthew Burgess, 20 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-032udev-033

Version increment (033)

comment:9 by Matthew Burgess, 20 years ago

Summary: udev-033udev-034

version increment (034):

Summary of changes from v033 to v034 ============================================

Kay Sievers:

o wait_for_sysfs bluetooth class update

Greg Kroah-Hartman:

o add comment in wait_for_sysfs to explain the structure better o Revert previous dev_d.c change, it's not what is causing HAL problems o hm, somethings odd with DEVPATH, see if this fixes it o 33_bk mark for the makefile o wait_for_sysfs: clean up the logic for the list of devices that we do not

expect device symlinks for

o get rid of annoying extra lines in the syslog for some libsysfs debug messages o added support for i2c devices in wait_for_sysfs.c o add support for i2c-adapter devices to wait_for_sysfs.c

There's also some documentation at http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html including a snazzy logo too!

comment:10 by Matthew Burgess, 20 years ago

Summary: udev-034udev-035

Version increment (035):

Summary of changes from v034 to v035 ====================================

Greg Kroah-Hartman:

o added ieee1394 support to wait_for_sysfs o update wait_for_sysfs with a bunch more devices thanks to user reports

comment:11 by Matthew Burgess, 20 years ago

Version: TESTINGSVN

comment:12 by jeremy@…, 20 years ago

Resolution: fixed
Status: reopenedclosed

Upgraded in unstable

comment:13 by Matthew Burgess, 20 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-035udev-036

Version increment (036) - just a small change this time:

Summary of changes from v035 to v036 ============================================

Greg Kroah-Hartman:

o add the error number to the error message in wait_for_sysfs to help out in

debugging problems

comment:14 by kpfleming@…, 20 years ago

Summary: udev-036udev-038

Version increment (*2)

Summary of changes from v037 to v038 ============================================

<andrew.patterson:hp.com>:

o Re: Problem parsing %s in udev rules

Greg Kroah-Hartman:

o fix up error in building extras and libsysfs

Summary of changes from v036 to v037 ============================================

<md:linux.it>:

o small udev patch

Greg Kroah-Hartman:

o fix compilation warning in tdb log message o Fix build error with klibc due to recent changes o merge o add wait_for_sysfs test script to the tarball to help people debug their boxes o add ipsec to wait_for_sysfs ignore list o added ccdv to bk ignore list o a few more Makefile tweaks for the quiet feature o Make the build silent, thanks to a helper program from ncftp o rename files to have '_' instead of '-' in them o change max time to wait in wait_for_sysfs to 10 seconds to hopefully handle

some slow machines

o add support for class/raw/ to wait_for_sysfs o fix up Makefile for wait_for_sysfs udev_version.h dependancy o remove the debian specific file, as they don't want to share with the rest

of the world :(

Kay Sievers:

o prevent deadlocks on an corrupt udev database o wait_for_sysfs_update

Michael Buesch:

o fix asmlinkage o fix incompatible pointer type warning

comment:15 by kpfleming@…, 20 years ago

bug_file_loc: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-031.tar.bz2http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-038.tar.bz2

comment:16 by alexander@…, 20 years ago

The "Contents of Udev" section needs to be updated. New program: wait_for_sysfs. Description: "Small program to delay the execution of /etc/hotplug.d/ programs, until sysfs is fully populated by the kernel. Depending on the type of device, it waits for all expected directories to apear and then exits. Used via symlink in /etc/hotplug.d/default Upgrade note: old versions of udev created the /etc/hotplug.d/default/udev.hotplug symlink. Now it is called /etc/hotplug.d/default/10-udev.hotplug Those who upgrade, please check if you have both the old and the new one and remove the old one if it is present. "make udevdir=/dev install" errors out with the following error: make: * No rule to make target `etc/init.d/udev.debian', needed by `install-initscript'. Stop. Avoided by ading a "touch etc/init.d/udev.debian" before "make udevdir=/dev install".

comment:17 by jeremy@…, 20 years ago

I'm putting further udev upgrades on hold, pending investigation of using a mount --bind in place of udev in chapter 5 - this should help avoid having to hack away at the udev source all the time to get it to play nicely in /tools.

comment:18 by Matthew Burgess, 20 years ago

bug_file_loc: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-038.tar.bz2http://www.kernel.org/pub/linux/utils/kernel/hotplug/
Summary: udev-038udev-039

Version increment (039).

Summary of changes from v038 to v039 ============================================

Greg Kroah-Hartman:

o Hopefully fix the vcs issue in wait_for_sysfs o take out & from wait_for_sysfs_test that I previously missed o add very nice cdsymlinks scripts o add some helper scripts for dvb and input devices o add debian config files o let the extras/ programs build "pretty" also o tweak the ccdv program to handle files in subdirectories being built o crap, I messed up the 'sed' instances pretty badly, this fixes the config

and man page mess

o fix broken 'make -j5' functionality

comment:19 by alexander@…, 20 years ago

The current things we do with /proc/sys/kernel/hotplug are wrong for this release. This version of udev depends upon wait_for_sysfs to be called by hotplug before udevsend, and doesn't function correctly with the current initscripts. Since the check for .udev.tdb has been removed from the initscript, it is now safe to drop the kernel "/sbin/hotplug" sed and all manipulations with /proc/sys/kernel/hotplug in the startup (but not shutdown) scripts. Some harmless error messages may appear on the screen because userspace is still not always ready to handle hotplug events - but this doesn't make the system unbootable.

comment:20 by Matthew Burgess, 20 years ago

Summary: udev-039udev-040

Version increment (040). Here's the Changelog:

Summary of changes from v039 to v040 ============================================

<jk:blackdown.de>:

o wait_for_sysfs update for dm devices

Greg Kroah-Hartman:

o sparse cleanups on the tree o fix stupid cut-and-paste error for msr devices on gentoo boxes o add *~ to bk ignore list o delete udevruler.c as per Kay's request o fix up the wait_for_sysfs_test script a bit

Kay Sievers:

o fix debug in volume id / fix clashing global var name o volume_id fix o $local user o cleanup netif handling and netif-dev.d/ events o big cleanup of internal udev api o don't wait for dummy devices o close the syslog o Fix ppp net devices in wait_for_sysfs o Fix wait_for_sysfs messages (more debugging info)

comment:21 by Matthew Burgess, 20 years ago

Summary: udev-040udev-042

Version increment (042). ChangeLog:

Summary of changes from v040 to v042 ============================================

Greg Kroah-Hartman:

o add inotify to the rules for gentoo

Kay Sievers:

o skip waiting for device if we get a bad event for class creation and not for

a device underneath it

o add net/pan and net/bnep handling o switch wait for bus_file to stat() instead of open() add net/tun device

handling add ieee1394 device handling

o Remove the last klibc specific line from the main udev code Move

_KLIBC_HAS_ARCH_SIG_ATOMIC_T to the fixup file which is automatically included by the Makefile is we build with klibc

o ignore *.rej files from failed patches o update to libsysfs 1.2.0 and add some stuff klib_fixup Now we have only

thesysfs.h file different from the upstream version to map our dbg() macro.

o improve klibc fixup integration o cleanup udevd/udevstart o expose sysfs functions for sharing it

comment:22 by jeremy@…, 19 years ago

Resolution: fixed
Status: reopenedclosed

comment:23 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-042udev-043

Version increment (043). There's a bunch of changes in this one including:

  • add test target to makefile
  • Shut up wait_for_sysfs class/net failure messages, as it's not possible to get that right for all net devices. Kernels later than 2.6.10-rc1 will handle that by carrying the neccessary information in the hotplug event.

comment:24 by Matthew Burgess, 19 years ago

Summary: udev-043udev-044

Version increment (044)

comment:25 by Matthew Burgess, 19 years ago

Summary: udev-044udev-045

Version increment (045)

comment:26 by Matthew Burgess, 19 years ago

Summary: udev-045udev-046

comment:27 by Matthew Burgess, 19 years ago

Agreed completely - some little computer elf must've hit the "Commit" button before I managed to finish that last comment! You can tell it's nearly Christmas - those elves are up to their usual mischief already :-)

comment:28 by Matthew Burgess, 19 years ago

And if anyone else is wondering what the hell comment 20 is all about, it refers to http://www.linuxfromscratch.org/pipermail/lfs-book/2004-November/012418.html

  • it's those damned elves I tell you!

Basically we'll hold off on upgrading this until linux-2.6.10 is out. We'll also need to change chapter06/devices.xml and the bootscripts to mount /dev as a tmpfs instead of a ramfs.

comment:29 by jeremy@…, 19 years ago

Resolution: fixed
Status: reopenedclosed

Upgraded in Unstable

comment:30 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-046udev-047

Version increment (047). Loads of changes (63 lines!) given in the ChangeLog for this one!

comment:31 by Matthew Burgess, 19 years ago

Summary: udev-047udev-048

Version increment (048). Fixes some build errors:

Greg Kroah-Hartman:

o fix udev_volume_id so it will now build properly o fix scsi_id build errors due to changes in the main udev makefile

comment:32 by Matthew Burgess, 19 years ago

Summary: udev-048udev-049

Version increment (049)

comment:33 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: reopenedclosed

comment:34 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-049udev-050

Version increment (050):

<harald:redhat.com>:

o selinux patch

<tklauser:access.unizh.ch>:

o I made some more changes to the manpage of udev including

Kay Sievers:

o update libsysfs to CVS version and fix segfaulting attribute reading o klibc supports LOG_PID now, so remove our own implementation o avoid building klibc test programs and pass SUBDIRS= to klibc clean

comment:35 by jeremy@…, 19 years ago

Resolution: fixed
Status: reopenedclosed

Upgraded in unstable.

comment:36 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-050udev-051

Version increment (051). A large number of changes in this one. Was this us, and if so who is the "author"?

o remove the lfs startup script on request of the author

comment:37 by kpfleming@…, 19 years ago

Note that version 051 has a major non-backwards compatible change: the .permissions files are gone. Permissions are now specified directly in the .rules files so we'll need to merge/update the LFS-provided config files, as well as stop worrying about a permissions.d directory and anything else related.

comment:38 by jim@…, 19 years ago

Added updated 25-lfs.rules file. This file will make udev-051 work as we had with the permissions and rules files.

by jim@…, 19 years ago

Attachment: 25-lfs[1].rules added

Updated rules for udev-051

comment:39 by Matthew Burgess, 19 years ago

Priority: lowestnormal
Summary: udev-051udev-052

Version increment (052)

comment:40 by Matthew Burgess, 19 years ago

Summary: udev-052udev-053

Version increment (053)

comment:41 by Matthew Burgess, 19 years ago

Summary: udev-053udev-054

Version increment (054)

comment:42 by Matthew Burgess, 19 years ago

Status: reopenedassigned

comment:43 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: assignedclosed

comment:44 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-054udev-055

comment:45 by Matthew Burgess, 19 years ago

Version increment (055). RELEASE-NOTES contains the major changes, all the nitty gritty is in ChangeLog as usual.

comment:46 by jim@…, 19 years ago

udev 055, for some reason doesn't follow the GROUP=" " in rules.d. Have posted a question on hotplug to get this addressed. Will put response in here once it's received.

comment:47 by jim@…, 19 years ago

Here is the link to the issue http://sourceforge.net/mailarchive/forum.php?thread_id=6826694&forum_id=3157

Since I posted, there is patch also in that link. Quote about what caused the issue.

I can confirm this. It"s a bad typo caused by changing the way klibc is integrated. We look in /etc/passwd for the group. :( Patch attached, thanks for catching this.

Thanks, Kay

comment:48 by Matthew Burgess, 19 years ago

Thanks Jim. With the frequency of releases of udev, I think we'll just hold off on upgrading to 055 + patch only to have to take the patch (and explanation, etc.) out when 056 is released. Unless you feel strongly otherwise of course, in which case you're free to upgrade it yourself :)

comment:49 by jim@…, 19 years ago

Resolution: fixed
Status: reopenedclosed

Version increment (056) group issue is fixed.

comment:50 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-055udev-056

Version increment (056) - primarily of interest is a fix for the GROUP breakage introduced in the last release.

comment:51 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: reopenedclosed

Ah, the art of coordination Jim - sorry once again :(

comment:52 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-056udev-057

Version increment (057)

comment:53 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: reopenedclosed

Upgraded by jim in r4967.

comment:54 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-057udev-058

Version increment (058). Note from RELEASE-NOTES:

"The new RUN-key supports rule-based execution of programs after device-node handling. This is meant as a general replacement for the dev.d/-directories to give fine grained control over the execution of programs."

That looks related to the recent discussions regarding the sysctl bootscript vs. /etc/dev.d configuration (thread starts at http://www.linuxfromscratch.org/pipermail/lfs-dev/2005-May/051404.html).

comment:55 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: reopenedclosed

comment:56 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-058udev-059

Version increment (059). README has this to say...whoever upgrades this *has* been warned!

udev 059 ======== Major changes happened with this release. The goal is to take over the complete kernel-event handling and provide a more efficient way to dispatch kernel events. Replacing most of the current shell script logic and the kernel forked helper with a netlink-daemon and a rule-based event handling.

comment:57 by Matthew Burgess, 19 years ago

Whoops s/README/RELEASE-NOTES/ of course! Sorry for the bug-spam!

comment:58 by Matthew Burgess, 19 years ago

This comes from Steve Crosby at http://www.linuxfromscratch.org/pipermail/lfs-support/2005-July/027519.html

"just building now with udev-059. One change is that udevstart now launches udev as a process (with a --daemon flag), so you can't umount /dev without stopping that process (/dev is reported as busy), so we might need to modify the "Booting into LFS" section.

Other than some new significant rule capbilities, it looks like the new version will work in our current setup"

comment:59 by Matthew Burgess, 19 years ago

Summary: udev-059udev-060

Version increment (060). Just a minor bugfix release.

comment:60 by Matthew Burgess, 19 years ago

Summary: udev-060udev-061

Version increment (061). From RELEASE-NOTES:

"We changed the internal rule storage format. Our large rule files took 2 MB of RAM, with the change we are down to 99kB.

If the device-node has been created with default name and no symlink or options are to remenber, it is not longer stored in the udevdb. HAL will need to be updated to work correctly with that change.

To overrride optimization flags, OPTFLAGS may be used now."

comment:61 by Matthew Burgess, 19 years ago

Summary: udev-061udev-062

Version increment (062):

udev 062 ======== Mostly a Bugfix release.

Added WAIT_FOR_SYSFS="<attribute>" to be able to fight against the sysfs timing with custom rules.

comment:62 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: reopenedclosed

comment:63 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-062udev-063

Version increment (063). Nothing in RELEASE-NOTES this time around. ChangeLog suggests its just bug fixes.

comment:64 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: reopenedclosed

comment:65 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-063udev-064

Version increment (064)

comment:66 by Matthew Burgess, 19 years ago

Summary: udev-064udev-065

Version increment (065):

udev 065 ======== We can use socket communication now to pass events from udev to other programs:

RUN+="socket:/org/freedesktop/hal/udev_event"

will pass the whole udev event to the HAL daemon without the need for a forked helper. (See ChangeLog for udevmonitor, as an example)

comment:67 by randy@…, 19 years ago

I can confirm that this package works as it should with the current rules file in the GCC4 branch.

comment:68 by Matthew Burgess, 19 years ago

Summary: udev-065udev-066

Version increment (066). RELEASE-NOTES:

udev 066 ======== Minor bugfixes and some distro rules updates. If you don't have the persistent disk rules in /dev/disk/by-*/* on your distro, just grab it from here. :)

comment:69 by steve.crosby@…, 19 years ago

Version 066 has removed the default udev.rules file from etc/udev, but the Makefile still attempts to [un]install it.

Some options include:

  1. Patching the Makefile
  2. Copying the LFS rules to etc/udev/udev.rules and letting the make install

copy them to /etc/udev/50-udev.rules instead of a manual copy, then optionally rename to 25-lfs.rules

  1. Someone with more time available may want to bug upstream as well and we can

wait for 067 instead

comment:70 by Matthew Burgess, 19 years ago

Thanks Steve. Looking at the Makefile and the source dir layout, it looks as if the intention is for distro packagers to do:

make LOCAL_CFG_DIR=etc/udev/[distro name]. Trivial, completely untested patch follows!

diff -Naur udev-066.orig/Makefile udev-066/Makefile --- udev-066.orig/Makefile 2005-08-11 22:44:08.000000000 +0000 +++ udev-066/Makefile 2005-08-13 14:57:13.191929600 +0000 @@ -355,7 +355,7 @@

echo $(INSTALL_DATA) $(LOCAL_CFG_DIR)/udev.conf

$(DESTDIR)$(configdir); \

$(INSTALL_DATA) $(LOCAL_CFG_DIR)/udev.conf $(DESTDIR)$(configdir); \

fi

  • @if [ ! -r $(DESTDIR)$(configdir)/rules.d/50-udev.rules ]; then \

+ @if [ ! -r $(DESTDIR)$(configdir)/rules.d/50-udev.rules -a -r $(LOCAL_CFG_DIR)/udev.rules ]; then \

echo $(INSTALL_DATA) $(LOCAL_CFG_DIR)/udev.rules

$(DESTDIR)$(configdir)/rules.d/50-udev.rules; \

$(INSTALL_DATA) $(LOCAL_CFG_DIR)/udev.rules

$(DESTDIR)$(configdir)/rules.d/50-udev.rules; \

fi

As for the uninstallation, that shouldn't cause much of a problem as the command is preceded by a '-' meaning that `make' will ignore any errors it causes.

The alternative is to submit our rules file upstream and have them put it in an etc/udev/lfs directory. But then, "LFS is not a distro", so should we really be going that route?

comment:71 by randy@…, 19 years ago

I don't think sending our rules file upstream is wise. It would just be one more think we have to do every time we make the smallest adjustment to the file. Keeping it local puts an air of LFS customization to the installation.

Just my thoughts anyway.

comment:73 by Matthew Burgess, 19 years ago

Summary: udev-066udev-067

Version increment (067). Fixes the issue previously reported by Steve regarding installing a non-existent rules file.

comment:74 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: reopenedclosed

comment:75 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-067udev-068

Version increment (068). RELEASE-NOTES:

More bugfixes. If udevd was started from the kernel, we don't have stdin/stdout/stderr, which broke the forked tools in some situations.

comment:76 by Matthew Burgess, 19 years ago

Owner: changed from lfs-book@… to Matthew Burgess
Status: reopenednew

comment:77 by Matthew Burgess, 19 years ago

Status: newassigned

comment:78 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: assignedclosed

comment:79 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-068udev-069

Version increment (069) - looks like a bugfix release from RELEASE-NOTES and ChangeLog

comment:80 by Matthew Burgess, 19 years ago

Oh dear! I get two failures in the test suite now, both to do with sanitizing UTF-8 input:

TEST 127: untrusted string sanitize (don't replace utf8) device '/block/sda/sda1' expecting node 'uber' add: error Can't exec "tree": No such file or directory at ./udev-test.pl line 1713.

remove: ok

TEST 128: untrusted string sanitize (replace invalid utf8) device '/block/sda/sda1' expecting node 'replaced' add: error Can't exec "tree": No such file or directory at ./udev-test.pl line 1713.

remove: ok

These are on lines 1336 and 1345 of udev-test.pl. Do we need to add UTF-8 support to get these to work, or is there something much simpler going on? Maybe I should actually install 'tree' to see what it did!

comment:81 by Matthew Burgess, 19 years ago

Summary: udev-069udev-070

Version increment (070). Minor bugfix release.

comment:82 by Matthew Burgess, 19 years ago

The test failures are caused because the version of `echo' installed by coreutils-5.2.1 doesn't understand the '\xhh' syntax. That was added in June 2004 and is therefore only available in the "alpha" coreutils-5.3.0 version.

comment:83 by archaic@…, 19 years ago

(In reply to comment #65)

The test failures are caused because the version of `echo' installed by coreutils-5.2.1 doesn't understand the '\xhh' syntax. That was added in June 2004 and is therefore only available in the "alpha" coreutils-5.3.0 version.

Which begs the question... backport the change in coreutils or go for alpha?

comment:84 by randy@…, 19 years ago

I like applying the change from alpha to the stable branch.

comment:85 by archaic@…, 19 years ago

Agreed.

comment:86 by Matthew Burgess, 19 years ago

(In reply to comment #67)

I like applying the change from alpha to the stable branch.

(In reply to comment #68)

Agreed.

Thirded. Especially given Jim Meyering's comments in the 5.3.0 release announcement at http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00041.html

The required diff is at http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00062.html. I'll convert it to an LFS style patch and get it in the book tonight.

comment:87 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: reopenedclosed

comment:88 by Matthew Burgess, 19 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-070udev-071

Version increment (071)

comment:89 by Matthew Burgess, 19 years ago

Owner: changed from Matthew Burgess to lfs-book@…
Status: reopenednew

comment:90 by Matthew Burgess, 18 years ago

Resolution: fixed
Status: newclosed

comment:91 by Matthew Burgess, 18 years ago

Resolution: fixed
Status: closedreopened
Summary: udev-071udev-072

Version increment (072). The main change appears to be:

The rule parsing happens now in the daemon once at startup, all udev event processes inherit the already parsed rules from the daemon.

comment:92 by Matthew Burgess, 18 years ago

This upgrade causes:

Setting hostname to myhostname... [ OK ] INIT: udevd[2481]: init_udevd_socket: bind failed, Address already in use udevd[2478]: init_udevd_socket: bind failed, Address already in use udevd[2484]: init_udevd_socket: bind failed, Address already in use udevd[2493]: init_udevd_socket: bind failed, Address already in use udevd[2487]: init_udevd_socket: bind failed, Address already in use Entering runlevel: 3

Is this a bug in udev or in our bootscript not handling something else that's changed in udev?

comment:93 by jim@…, 18 years ago

Summary: udev-072udev-073

Version increment (073)

From Changelog Kay Sievers:

udevd: depend on netlink and remove all sequence reorder logic print useconds in udevmonitor add RELEASE-NOTES, update TODO

comment:94 by alexander@…, 18 years ago

You forgot the most important detail: udev-072 is just broken (doesn't create device nodes on real hotplug events, leaves zombies behind) on kernels without inotify support.

comment:95 by Matthew Burgess, 18 years ago

Well, I'm a coward :-) I booted up using 072, saw that something was broken, so immediately reverted to 071. 073 appears to have the same problem with binding to the socket as 072, so again, I haven't managed to test it fully yet. My testing wouldn't have uncovered your issue, Alexander, as my kernels have inotify support in them.

comment:96 by alexander@…, 18 years ago

udevd[2478]: init_udevd_socket: bind failed, Address already in use

confirmed with udev-073. Investigating.

comment:97 by alexander@…, 18 years ago

These messages disappear when I replace in the udev initscript the line

echo "/sbin/udevsend" > /proc/sys/kernel/hotplug

with

echo "" > /proc/sys/kernel/hotplug

I don't know if this is a proper solution. This hack certainly depends on kernel version >= 2.6.14-mm1 (back up your system before using that!) because this completely disables input hotplug handling with broken kernels. Thus, I recommend postponing the upgrade for a while.

comment:98 by alexander@…, 18 years ago

Of course you can try the hack even with 2.6.12.5, but be warned about broken input hotplug event processing.

comment:99 by alexander@…, 18 years ago

Here is what happens:

1) the hotplug initscript probes some modules 2) modules generate hotplug events 3) the first event starts udevsend (because it is in /proc/sys/kernel/hotplug) 4) udevsend it starts udevd 5) udevd successfully binds to the socket 5) same for the next event, but the second udevd doesn't successfully bind to the socket (because the first udevd is already bound to it), and logs this ugly message to the console.

Setting /proc/sys/kernel/hotplug to empty value avoids the second udevsend (and thus the second udevd) at all.

The hack is incomplete BTW.

After setting /proc/sys/kernel/hotplug to empty value but before running udevstart, the script must do the following:

UDEVD_EXPECTED_SEQNUM=$(($(cat /sys/kernel/hotplug_seqnum) + 1)) udevd --daemon

Otherwise udevd is not started at all.

comment:100 by Matthew Burgess, 18 years ago

Resolution: wontfix
Status: reopenedclosed

Marking as WONTFIX, at least until we can upgrade to Linux-2.6.14 and reevaluate it.

comment:101 by jim@…, 18 years ago

Summary: udev-073udev-074

Version increment (074)

comment:102 by Matthew Burgess, 18 years ago

Summary: udev-074udev-075

Looks like we need to install klibc as its own package now (1.1.1 is the latest version according to http://www.kernel.org/pub/linux/libs/klibc/?C=M;O=D):

udev 075 ======== Silent a too verbose error logging for the old hotplug.d/ dev.d/ emulation.

The copy of klibc is removed. A systemwide installed version of klibc should be used to build a klibc udev now.

comment:103 by alexander@…, 18 years ago

No, we don't, because klibc is used only when udev us built with "make USE_KLIBC=true". LFS doesn't provide such parameter and therefore doesn't need klibc.

comment:104 by Matthew Burgess, 18 years ago

Summary: udev-075udev-076

Version increment (076). Some important changes in this one including:

  • The option "udev_db" does no longer exist. All udev state will be in

/$udev_root/.udev/ now, there is no longer an option to set this to anything else.

  • Default location for rule sripts and helper programs is now: /lib/udev/.

Everything that is not useful on the commandline should go into this directory.

  • Also /lib/udev/devices is recommended as a directory where packages or

the user can place real device nodes, which get copied over to /dev at every boot.

  • Udevsend does no longer start the udev daemon. This must be done with

the init script that prepares /dev on tmpfs and creates the initial nodes, before starting the daemon.

comment:105 by archaic@…, 18 years ago

(In reply to comment #84)

  • Also /lib/udev/devices is recommended as a directory where packages or

the user can place real device nodes, which get copied over to /dev at every boot.

So much for mounting / nodev. :(

comment:106 by alexander@…, 18 years ago

Resolution: wontfix
Status: closedreopened
  • Udevsend does no longer start the udev daemon.

If this is true, the "bind failed" messages observed earlier should no longer appear. Of course, a bootscript change is needed: run "udevd --daemon" just before udevstart.

No need to wait for linux-2.6.15 if the rest of our setup is kept as it is.

comment:107 by alexander@…, 18 years ago

So much for mounting / nodev. :(

Why? the device nodes can stil be created on /, they just can't be opened. But it is perfectly OK to copy them to /dev as device nodes.

comment:108 by archaic@…, 18 years ago

(In reply to comment #87)

So much for mounting / nodev. :(

Why? the device nodes can stil be created on /, they just can't be opened. But it is perfectly OK to copy them to /dev as device nodes.

Ahh, so it can! Thanks for the cluebat. :)

comment:109 by Matthew Burgess, 18 years ago

Summary: udev-076udev-077

Version increment (077):

Fix a problem if udevsend is used as the hotplug handler and tries to use syslog, which causes a "vc" event loop. 2.6.15 will make udevsend obsolete and this kind of problems will hopefully go away soon.

comment:110 by Matthew Burgess, 18 years ago

Summary: udev-077udev-078

Version increment (078):

"Symlinks are now exported to the event environment. Hopefully it's no longer needed to run udevinfo from an event process, like it was mentioned on the hotplug list"

comment:111 by Matthew Burgess, 18 years ago

Summary: udev-078udev-079

Version increment (079):

udev 079 ======== Let scsi_id request libata drive serial numbers from page 0x80.

Renamed etc/udev/persistent.rules to persistent-disk.rules and added /dev/disk/by-name/* for device mapper device names.

Removed %e from the man page. It never worked reliably outside of udevstart and udevstart is no longer recommended to use.

comment:112 by Matthew Burgess, 18 years ago

Summary: udev-079udev-080

Version increment (080):

Complete removal of libsysfs, replaced by simple helper functions which are much simpler and a bit faster. The udev daemon operatesentirely on event parameters and does not use sysfs for simple rules anymore. Please report any new bugs/problems, that may be caused by this big change. They will be fixed immediately.

The enumeration format character '%e' is deprecated and will be removed sometimes from a future udev version. It never worked correctly outside of udevstart, so we can't use it with the new parallel coldplug. A simple enumeration is as useless as the devfs naming scheme, just get rid of both if you still use it.

MODALIAS and $modalias is not needed and will be removed from one of the next udev versions, replace it in all rules with ENV{MODALIAS} or the sysfs "modalias" value.

comment:113 by Matthew Burgess, 18 years ago

Summary: udev-080udev-081

Version increment (081):

Prepare udev to work with the experimental kernel patch, that moves /sys/class devices to /sys/devices and /sys/block to /sys/class/block.

Clarify BUS, ID, $id usage and fix $id behavior. This prepares for moving the class devices to /sys/devices.

Thanks again to Marco for help finding a hopefully nice compromise to make %b simpler and working again.

comment:114 by Matthew Burgess, 18 years ago

Summary: udev-081udev-082

Version increment (082). Probably most importantly: "The programs udev, udevstart and udevsend are no longer installed by default and must be copied manually, if they should be installed or included in a package."

comment:115 by Matthew Burgess, 18 years ago

Summary: udev-082udev-083

Version increment (083):

Fix a bug where NAME="" would prevent RUN from beeing executed.

RUN="/bin/program" does not longer automatically add the subsystem as the first parameter. This is from the days of /sbin/hotplug which is dead now and it's just confusing to need to add a space at the end of the program name to prevent this. If you use rules that need the subsystem as the first parameter, like the old "udev_run_hotlugd" and "udev_run_devd", add the subsystem to the key like RUN+="/bin/program $env{SUBSYSTEM}".

comment:116 by Matthew Burgess, 18 years ago

Summary: udev-083udev-084

Version increment (084)

comment:117 by Jeremy Huntwork, 18 years ago

Milestone: 6.2

comment:118 by Matthew Burgess, 18 years ago

Resolution: fixed
Status: reopenedclosed

Fixed (mostly) on the udev_update branch. Now superceded by ticket #1710

Note: See TracTickets for help on using tickets.