udev 003 release
Hi,
I've released the 003 version of udev. It can be found at:
kernel.org/pub/linux/utils/kernel/hotplug/udev-003.tar.gz
udev is a implementation of devfs in userspace using sysfs and /sbin/hotplug. It requires a 2.6 kernel to run properly.
There have been a number of major changes since the last release:
- works properly with the current 2.6 kernel (older versions of udev will not work with the current 2.6 kernel.)
- persistent database support has been added, but not fully integrated (tdb is database code, very nice stuff.)
- lots of documentation has been added.
- spec file has been added for building rpms.
- install and uninstall support added to Makefile to make it easier to install and test with.
- hard coded config file paths have been fixed.
- callout support has been added (allows other programs to be run to determine what to name a device.)
- cross compile bugs fixed.
- TODO list expanded for those who wish to help out.
- lots of other stuff fixed.
The full ChangeLog is below.
The new udev FAQ is included in this release, and can also be found at:
kernel.org/pub/linux/utils/kernel/hotplug/hotplug/udev-FAQ
Development of udev is done in a BitKeeper tree available at:
bk://kernel.bkbits.net/gregkh/udev/
If anyone ever wants a snapshot of the current tree, due to not using BitKeeper, or other reasons, is always available at any time by asking.
thanks,
greg k-h
Summary of changes from v0.2 to v003
============================================
Daniel E. F. Stekloff:
o udevdb patch
o udevdb prototype
Greg Kroah-Hartman:
o update changelog for 003 release TAG: v003
o update the spec file for the new version and install process
o fix makefile release rule to not drop tdb.h file
o Add FAQ for udev
o removed AUTHORS and INSTALL files as they were pretty pointless
o copyright updates
o Add AUTHORS and INSTALL files
o TODO updates
o Updatd the README
o updated the TODO list
o add udev man page (basically just a place holder for now.)
o added uninstall support
o added install target for makefile so people don't have to do it by hand anymore
o add version to debug log on startup
o tell the user what mknod() we are trying to do
o add dbg_parse() to cut down on parse file debugging statements
o put config files and database in /etc/udev by default
o add ols 2003 udev paper to docs/
o clean up some debugging stuff in namedev.c
o do not build the tdb binary programs, only the objects
o merge tdb into the build process
o Added tdb code from latest cvs version in the samba tree
o added my name to the .spec file
o minor cleanups
o cleanup the mknod code a bit
o remove mknod callout
o handle new major:minor format of dev files that showed up in 2.6.0-test2-bk3 or so
o oops, everything was getting created as 000 mode, try to fix this up, but fail...
o more test stuff
Olaf Hering:
o print udev pid
Patrick Mansfield:
o add callout config type to udev
Paul Mundt:
o Fix TDB cross compilation
o udev spec file
o udev/libsysfs cross compile fixes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted 2 lines · Greg KH
The new udev FAQ is included in this release, and can also be found at:
kernel.org/pub/linux/utils/kernel/hotplug/hotplug/udev-FAQ
one hotplug too much it's just
ftp://kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ
- --
Clemens Schwaighofer - IT Engineer & System Administration
==========================================================
Tequila Japan, 6-17-2 Ginza Chuo-ku, Tokyo 104-8167, JAPAN
Tel: +81-(0)3-3545-7703 Fax: +81-(0)3-3545-7343
http://www.tequila.jp
==========================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE/j4zqjBz/yQjBxz8RAjtiAJ9kQkj/vtjmWJshUc7lM82e0RV0lwCgvavU fzrvdDR+/FpmrSQ9SOvusr8=
=1eA1
-----END PGP SIGNATURE-----
The new udev is nice, and it 'works', but Im still having two problems:
(1) Although the messages file shows that it is reading my /etc/udev/namedev.config file, the entries are being ignored. Ive tried both:
LABEL, BUS="usb", serial="0B0201420527B284", NAME="usb_disk"
and
LABEL, BUS="usb", vendor="DMI", NAME="usb_disk"
and all I get are /udev/ sda, sdb, sdc, sdd, ... as I plug and unplug.
(2) This worked in -0.2, but not -0.3: When a device is created in /udev, I now get just /udev/sda . Previously (0.2) I got both sda and sda1 . Needless to say, a mount attempt on /udev/sda1 now fails. [[ and if I tell it NAME="usb_disk" what should I expect for the name of the first partition???
Am I missing something???
Signature · 2 lines
Reg.Clemens
[email protected]Quoted 10 lines · On Fri, Oct 17, 2003 at 11:57:16AM -0600, [email protected] wrote:
The new udev is nice, and it 'works', but Im still having two problems:
(1) Although the messages file shows that it is reading my/etc/udev/namedev.configfile, the entries are being ignored. Ive tried both:
LABEL, BUS="usb", serial="0B0201420527B284", NAME="usb_disk"
and
LABEL, BUS="usb", vendor="DMI", NAME="usb_disk"and all I get are /udev/ sda, sdb, sdc, sdd, ... as I plug and unplug.
If you turn on debugging for the parser in namedev.c by uncommenting the comment at the top of the file:
/* define this to enable parsing debugging */
/* #define DEBUG_PARSER */
to look like:
/* define this to enable parsing debugging */
#define DEBUG_PARSER
It will give you a lot of information about what the parser is reading, and trying to match up with your device. If you could send me the system debug log from when you plug in your device with the DEBUG_PARSER define enabled, I'd be glad to look into it.
Quoted 6 lines
/udev, I now get just /udev/sda . Previously (0.2) I got both sda and sda1 . Needless to say, a mount attempt on /udev/sda1 now fails. [[ and if I tell it NAME="usb_disk" what should I expect for the name of the first partition???
Am I missing something???
No, I think I broke the partition logic somewhere. I think the name of the first partition in this case should be "usb_disk1". Yeah, it's a hack for now, hopefully some new libsysfs changes in regards to the block sysfs tree will help out with this (it's really hard to determine the partition is different from the main block device right now in udev.)
Ah, yeah, udev seg faults right now for partitions. Let me try to track down the bug, give me a bit of time...
thanks for letting me know,
greg k-h
Quoted 3 lines · Greg KH
Ah, yeah, udev seg faults right now for partitions. Let me try to track down the bug, give me a bit of time...
Here's a patch that fixes the partition logic for me. Sorry about this, I need to make sure to test partitions more next time.
thanks again for testing this.
greg k-h
# fix segfaults when dealing with partitions.
udev-add.c +5 -5
@@ -169,13 +169,13 @@ }memset (&dbdev,0 ,sizeof (dbdev));strncpy (dbdev.name, attr.name,NAME_SIZE ); -strncpy (dbdev.sysfs_path, class_dev->sysdevice->directory->path, -PATH_SIZE ); +if (class_dev->sysdevice) { +strncpy (dbdev.sysfs_path, class_dev->sysdevice->directory->path,PATH_SIZE ); +strncpy (dbdev.bus_id, class_dev->sysdevice->bus_id,ID_SIZE ); + }strncpy (dbdev.class_dev_name, class_dev->name,NAME_SIZE ); -if ((sysfs_get_name_from_path (subsystem, dbdev.class_name,NAME_SIZE )) - !=0 ) +if ((sysfs_get_name_from_path (subsystem, dbdev.class_name,NAME_SIZE )) !=0 )strcpy (dbdev.class_name,"unkown" ); -strncpy (dbdev.bus_id, class_dev->sysdevice->bus_id,ID_SIZE );strcpy (dbdev.bus_name,"unknown" );if (class_dev->driver !=NULL )strncpy (dbdev.driver, class_dev->driver->name,NAME_SIZE );
Quoted 8 lines · Greg KH
Quoted 3 lines · Greg KH
Ah, yeah, udev seg faults right now for partitions. Let me try to track down the bug, give me a bit of time...
Here's a patch that fixes the partition logic for me. Sorry about this, I need to make sure to test partitions more next time.
This works fine for me, thanks.
Three questions if you do not mind:
1) Is it possible to maintain naming of tarball/version ? Meaning, say we forget about the 003 version, could the next be 0.4, or even 0.3.1 or whatever ? Just changing makes trying to keep packages sane a hassle. Thanks :)
2) Is the libsysfs included later than that in sysfsutils-0_2_0.tar.gz? If not, any idea if/when udev will start following official libsysfs? Yes, not a biggie, but it would be nice to have sysfsutils its own package :)
3) Any plans to have namedev support wildcarts ? Like:
dsp*:root:audio:0660
audio*:root:audio:0660
midi*:root:audio:0660
mixer*:root:audio:0660
Thanks!
Signature · 1 line
Martin Schlemmer
Quoted 11 lines · Martin Schlemmer
Quoted 8 lines · Greg KH
Quoted 3 lines · Greg KH
Ah, yeah, udev seg faults right now for partitions. Let me try to track down the bug, give me a bit of time...
Here's a patch that fixes the partition logic for me. Sorry about this, I need to make sure to test partitions more next time.
This works fine for me, thanks.
Great!
Quoted 6 lines
Three questions if you do not mind:
1) Is it possible to maintain naming of tarball/version ? Meaning, say we forget about the 003 version, could the next be 0.4, or even 0.3.1 or whatever ? Just changing makes trying to keep packages sane a hassle. Thanks :)
The naming will be consistant from now on. Next release will be 004, followed by 005, and so on. Remember, version numbers mean nothing :)
As there is no installed base before 003, I don't think this will really be a problem, do you?
Quoted 1 line
2) Is the libsysfs included later than that in sysfsutils-0_2_0.tar.gz?
It's older, I think.
Quoted 3 lines
If not, any idea if/when udev will start following official libsysfs? Yes, not a biggie, but it would be nice to have sysfsutils its own package :)
I just got a patch today from Dan that merged the latest version of libsysfs into udev. It's in the udev bk tree already. libsysfs will always be a copy in the udev tree, as udev links statically, and it keeps the build process and debug process much easier.
sysfsutils can still be its own package, other programs are starting to use libsysfs already.
Quoted 6 lines
3) Any plans to have namedev support wildcarts ? Like:
dsp*:root:audio:0660
audio*:root:audio:0660
midi*:root:audio:0660
mixer*:root:audio:0660
Yes, I would love to support that. Care to send a patch? :)
Of course you need a kernel patch for the sound class that is only available in my kernel tree right now for sound devices to work with udev...
thanks,
greg k-h
Quoted 10 lines · Greg KH
Quoted 6 lines
Three questions if you do not mind:
1) Is it possible to maintain naming of tarball/version ? Meaning, say we forget about the 003 version, could the next be 0.4, or even 0.3.1 or whatever ? Just changing makes trying to keep packages sane a hassle. Thanks :)
The naming will be consistant from now on. Next release will be 004, followed by 005, and so on. Remember, version numbers mean nothing :)
Well, if you had an 0.2 already, 003 sorda comes and screw the pooch (if trying to work with a package manager - although it seems we are OK with ours seeing 003 as the later) :)
Quoted 4 lines
Quoted 3 lines
If not, any idea if/when udev will start following official libsysfs? Yes, not a biggie, but it would be nice to have sysfsutils its own package :)
Quoted 8 lines
I just got a patch today from Dan that merged the latest version of libsysfs into udev. It's in the udev bk tree already. libsysfs will always be a copy in the udev tree, as udev links statically, and it keeps the build process and debug process much easier.
sysfsutils can still be its own package, other programs are starting to use libsysfs already.
Ok, ill have a look at the bk tree at som stage, thanks.
Quoted 9 lines
Quoted 6 lines
3) Any plans to have namedev support wildcarts ? Like:
dsp*:root:audio:0660
audio*:root:audio:0660
midi*:root:audio:0660
mixer*:root:audio:0660Yes, I would love to support that. Care to send a patch? :)
:P I wont promise, as my schedule is a bit tight, but I'll send along if I get to cook something up.
Quoted 4 lines
Of course you need a kernel patch for the sound class that is only available in my kernel tree right now for sound devices to work with udev...
Need help testing ? :) (Yes, I am a lazy bastard, and a patch against test8 would help if you needed the testing)
Thanks,
Signature · 3 lines
Martin Schlemmer Gentoo Linux Developer, Desktop/System Team Developer Cape Town, South Africa
Quoted 6 lines · Martin Schlemmer
Quoted 5 lines · Greg KH
Quoted 4 lines
1) Is it possible to maintain naming of tarball/version ? Meaning, say we forget about the 003 version, could the next be 0.4, or even 0.3.1 or whatever ? Just changing makes trying to keep packages sane a hassle. Thanks :)
Quoted 7 lines
Quoted 3 lines
The naming will be consistant from now on. Next release will be 004, followed by 005, and so on. Remember, version numbers mean nothing :)
Well, if you had an 0.2 already, 003 sorda comes and screw the pooch (if trying to work with a package manager - although it seems we are OK with ours seeing 003 as the later) :)
Exactly, switching this early is fine by all of the package managers I've looked at. Does this mean you have a udev gentoo package somewhere?
Quoted 7 lines
Quoted 4 lines
Of course you need a kernel patch for the sound class that is only available in my kernel tree right now for sound devices to work with udev...
Need help testing ? :) (Yes, I am a lazy bastard, and a patch against test8 would help if you needed the testing)
I need to get these class patches out sometime soon, been too busy lately...
greg k-h
Quoted 4 lines · Greg KH
Quoted 4 lines
Quoted 3 lines
The naming will be consistant from now on. Next release will be 004, followed by 005, and so on. Remember, version numbers mean nothing :)
Quoted 8 lines
Quoted 3 lines
Well, if you had an 0.2 already, 003 sorda comes and screw the pooch (if trying to work with a package manager - although it seems we are OK with ours seeing 003 as the later) :)
Exactly, switching this early is fine by all of the package managers I've looked at. Does this mean you have a udev gentoo package somewhere?
Been in the tree for about a week - removed it though (0.2), so only have 003 presently. I also missed the /etc/hotplug.d/default/ symlink, so initial integration needs tweaking.
So far have not had any complaints, except for minimal support at this stage, but hey, its still early in the game =)
Also, I am using ramfs for now to do the device nodes, and have not looked at minimal /dev layout, although I guess it is not that minimal, as even the input drivers lack udev (sysfs) support currently it seems. Wat was the last eta for initramfs again ?
Quoted 11 lines
Quoted 7 lines
Quoted 4 lines
Of course you need a kernel patch for the sound class that is only available in my kernel tree right now for sound devices to work with udev...
Need help testing ? :) (Yes, I am a lazy bastard, and a patch against test8 would help if you needed the testing)
I need to get these class patches out sometime soon, been too busy lately...
NP, thanks anyhow.
Thanks,
Signature · 1 line
Martin Schlemmer
Quoted 4 lines · Martin Schlemmer
Been in the tree for about a week - removed it though (0.2), so only have 003 presently. I also missed the
/etc/hotplug.d/default/symlink, so initial integration needs tweaking.
Do you also have the latest hotplug scripts in gentoo?
Quoted 2 lines
So far have not had any complaints, except for minimal support at this stage, but hey, its still early in the game =)
Nice. Be sure to let me know if you do hear any.
Remember, gentoo needs to wean itself off of devfs for 2.6...
Quoted 4 lines
Also, I am using ramfs for now to do the device nodes, and have not looked at minimal /dev layout, although I guess it is not that minimal, as even the input drivers lack udev (sysfs) support currently it seems. Wat was the last eta for initramfs again ?
initramfs is in the kernel, you use it to boot already :)
thanks,
greg k-h
Quoted 8 lines · Greg KH
Quoted 4 lines · Martin Schlemmer
Been in the tree for about a week - removed it though (0.2), so only have 003 presently. I also missed the
/etc/hotplug.d/default/symlink, so initial integration needs tweaking.Do you also have the latest hotplug scripts in gentoo?
Yep.
No, I installed the binary by hand for some reason at the time, so missed the creation in the makefile (my screwup =).
Quoted 7 lines
Quoted 2 lines
So far have not had any complaints, except for minimal support at this stage, but hey, its still early in the game =)
Nice. Be sure to let me know if you do hear any.
Remember, gentoo needs to wean itself off of devfs for 2.6...
Busy =)
Quoted 7 lines
Quoted 4 lines
Also, I am using ramfs for now to do the device nodes, and have not looked at minimal /dev layout, although I guess it is not that minimal, as even the input drivers lack udev (sysfs) support currently it seems. Wat was the last eta for initramfs again ?
initramfs is in the kernel, you use it to boot already :)
OK ... I do though remember you saying it should be possible to have initramfs get the initial /dev going ... any docs on that ?
Signature · 1 line
Martin Schlemmer
Quoted 10 lines · Martin Schlemmer
Quoted 7 lines
Quoted 4 lines
Also, I am using ramfs for now to do the device nodes, and have not looked at minimal /dev layout, although I guess it is not that minimal, as even the input drivers lack udev (sysfs) support currently it seems. Wat was the last eta for initramfs again ?
initramfs is in the kernel, you use it to boot already :)
OK ... I do though remember you saying it should be possible to have initramfs get the initial /dev going ... any docs on that ?
Other than the source in the kernel, no, sorry.
greg k-h