udev on real Linux from scratch
Hello,
the udev FAQ pointed me to this list.
Time hit me too, and started to migrating from 2.4 kernels to 2.6. :-P
I have some questions that not really clear to me, I think this part of documentation could be expanded too. :-)
First of all, someone could take a look at this init process and confirm me its ok, or something still wrong. Finally got working /dev directory with this setup, but I'm not sure its correct:
mount -n -t proc proc /proc
mount -n -t sysfs sysfs /sys
echo "" > /proc/sys/kernel/hotplug
mount -n -o mode55 -t tmpfs tmpfs /dev
mkdir -p /dev/pts
mount -n -o mode20 -t devpts devpts /dev/pts
udevd --daemon
udevstart
My /etc/udev dir is mostly empty (only the default udev.conf exist) and will fill up the rules.d/ dir depending on my needs. I'm not starting any other udev* related program.
The original /dev/ directory has only console device.
Well, my another important question is, that starting udevd --daemon gives me a "cannot open /dev/null" error message.
I have found this message in the udevd.c file around line 1018:
/* make sure std{in,out,err} fd's are in a sane state */
fd = open("/dev/null", O_RDWR);
if (fd < 0) {
fprintf(stderr, "cannot open /dev/null\n");
err("cannot open /dev/null");
}Should I create /dev/null after mounting tmpfs on /dev/?
Thanks for the help.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 21 lines · Gabor Z. Papp
Hello,
the udev FAQ pointed me to this list.
Time hit me too, and started to migrating from 2.4 kernels to 2.6. :-P
I have some questions that not really clear to me, I think this part of documentation could be expanded too. :-)
First of all, someone could take a look at this init process and confirm me its ok, or something still wrong. Finally got working /dev directory with this setup, but I'm not sure its correct:
mount -n -t proc proc /proc
mount -n -t sysfs sysfs /sys
echo "" >
/proc/sys/kernel/hotplugmount -n -o mode55 -t tmpfs tmpfs /dev
Quoted 7 lines
mkdir -p
/dev/ptsmount -n -o mode20 -t devpts devpts
/dev/ptsudevd --daemonudevstart
IMO it would be wiser to use udevtrigger and udevsettle here rather than udevstart because AFAIK udevstart is deprecated and will be removed soon.
Quoted 11 lines
My
/etc/udevdir is mostly empty (only the default udev.conf exist) and will fill up the rules.d/ dir depending on my needs. I'm not starting any other udev* related program.
The original/dev/directory has only console device.Well, my another important question is, that starting udevd --daemon gives me a "cannot open
/dev/null" error message.I have found this message in the
udevd.cfile around line 1018:
Quoted 8 lines
/* make sure std{in,out,err} fd's are in a sane state */ fd = open("/dev/null", O_RDWR); if (fd < 0) { fprintf(stderr, "cannot open /dev/null\n"); err("cannot open /dev/null"); }Should I create
/dev/nullafter mounting tmpfs on/dev/?
Yes, after mounting tmpfs you should create some initial device nodes that udevd needs and does not create. This is what I do on Frugalware:
# Create initial device nodes.
mknod -m 600 /dev/console c 5 1
mknod -m 666 /dev/null c 1 3
# Create extra links that Udev does not create for us ln -snf /proc/self/fd /dev/fd
ln -snf /proc/self/fd/0 /dev/stdin
ln -snf /proc/self/fd/1 /dev/stdout
ln -snf /proc/self/fd/2 /dev/stderr
ln -snf /proc/kcore /dev/core
HTH, Alex
Signature · 12 lines
Alex Smith Frugalware Linux developer - http://www.frugalware.org ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 7 lines · Gabor Z. Papp
mount -n -t proc proc /proc
mount -n -t sysfs sysfs /sys
echo "" >
/proc/sys/kernel/hotplugmount -n -o mode=0755 -t tmpfs tmpfs /dev
At this point, the "standard" udev setup is to copy everything from /lib/udev/devices to /dev. That way you get the console and null devices, the pts and shm directories, and the std{in,out,err} symlinks automatically (assuming they're in /lib/udev/devices).
Non-udev-aware drivers can also tell their users to create static device nodes that they will service in this directory (though I don't know if there are any non-udev-aware drivers anywhere anymore; certainly not in the kernel).
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
* Alex Smith <[email protected]>:
| IMO it would be wiser to use udevtrigger and udevsettle here rather | than udevstart because AFAIK udevstart is deprecated and will be | removed soon.
Thanks, replaced, works fine, except I'm getting 2 errors that was hidden before the change. udevd complaining about these lines stolen from slackware config:
ACTION="add", DEVPATH="/devices/*", ENV{PHYSDEVBUS}="?*", WAIT_FOR_SYSFS="bus"
# permissions for IDE CD devices (without symbolic link creation)
BUS="ide", KERNEL="*[!0-9]", ENV{PHYSDEVDRIVER}="ide-cdrom", NAME="%k", GROUP="disk", MODE="0660"# permissions for IDE floppy devices
BUS="ide", KERNEL="*[!0-9]", ENV{PHYSDEVDRIVER}="ide-floppy*", NAME="%k", GROUP="disk", MODE="0660"Saying something like PHYSDEV* deprecated and will be removed?
| that udevd needs and does not create. This is what I do on | Frugalware:
[...]
Thank you Alex.
Two questions left, mounting tmpfs on /dev is ok, or should I use ramdisk? No need to set (limit) the size of /dev?
Another error I'm getting from udevd:
"the kernel does not support inotify, udevd can't monitor configuration file changes"
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 12 lines · Gabor Z. Papp
* Alex Smith <[email protected]>:
| IMO it would be wiser to use udevtrigger and udevsettle here rather | than udevstart because AFAIK udevstart is deprecated and will be | removed soon.Thanks, replaced, works fine, except I'm getting 2 errors that was hidden before the change. udevd complaining about these lines stolen from slackware config:
ACTION="add", DEVPATH="/devices/*", ENV{PHYSDEVBUS}="?*", WAIT_FOR_SYSFS="bus"
Quoted 7 lines
# permissions for IDE CD devices (without symbolic link creation) BUS="ide", KERNEL="*[!0-9]", ENV{PHYSDEVDRIVER}="ide-cdrom", NAME="%k", GROUP="disk", MODE="0660"# permissions for IDE floppy devices BUS="ide", KERNEL="*[!0-9]", ENV{PHYSDEVDRIVER}="ide-floppy*", NAME="%k", GROUP="disk", MODE="0660"Saying something like PHYSDEV* deprecated and will be removed?
Yes, you'll need to replace these sometime. I'm not sure what you should replace them with though.
Quoted 10 lines
| that udevd needs and does not create. This is what I do on | Frugalware:
[...]
Thank you Alex.
Two questions left, mounting tmpfs on /dev is ok, or should I use ramdisk? No need to set (limit) the size of /dev?
mount -n -t ramfs none /dev
I use ramfs ^^
Quoted 4 lines
Another error I'm getting from udevd:
"the kernel does not support inotify, udevd can't monitor configuration file changes"
Just rebuild your kernel with inotify support - it's under the File systems menu in menuconfig IIRC.
Signature · 12 lines
Alex Smith Frugalware Linux developer - http://www.frugalware.org ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
Quoted 2 lines · Gabor Z. Papp
Two questions left, mounting tmpfs on /dev is ok, or should I use ramdisk?
tmpfs works fine for me, and actually I think it should use less RAM too. IIUC, ramdisks use RAM for both the block device and the FS cache, where tmpfs uses only the FS cache. Plus ramdisks waste any unused memory, since I don't believe the ramdisk is swappable (where tmpfs is). :-)
Quoted 1 line
No need to set (limit) the size of /dev?
No need to, no. (But if you want to for some reason, I believe tmpfs gives you that option.) Files in /dev take up almost no space. -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGPoVrS5vET1Wea5wRA5H1AKC1ZkoFCpS7rUAurclr09KbFVaX9ACfaKqa 8eDwu+QB+YxH/wfQu2UhOzc=DszE
-----END PGP SIGNATURE-----
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
* Bryan Kadzban <[email protected]>:
| > No need to set (limit) the size of /dev?
| No need to, no. (But if you want to for some reason, I believe tmpfs | gives you that option.) Files in /dev take up almost no space.
And tmpfs reserves the size dinamically?
What about the hotplug part? At the very beginning I'm echoing "" to the /proc/.../hotplug file. Should I restore that setting to something?
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 4 lines · Gabor Z. Papp
* Bryan Kadzban <[email protected]>:
| > No need to set (limit) the size of /dev?
Quoted 8 lines
| No need to, no. (But if you want to for some reason, I believe tmpfs | gives you that option.) Files in /dev take up almost no space.
And tmpfs reserves the size dinamically?
What about the hotplug part? At the very beginning I'm echoing "" to the
/proc/.../hotplugfile. Should I restore that setting to something?
Yes, doing that is fine since udevd handles events itself so there's no need for a separate binary to be called.
Signature · 12 lines
Alex Smith Frugalware Linux developer - http://www.frugalware.org ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
* Alex Smith <[email protected]>:
| > What about the hotplug part? At the very beginning I'm echoing "" to | > the /proc/.../hotplug file. Should I restore that setting to something?
| Yes, doing that is fine since udevd handles events itself so there's | no need for a separate binary to be called.
Does this mean I should add echo "/sbin/udev" > /proc/sys/kernel/hotplug or should I leave it as ""?
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
* Alex Smith <[email protected]>:
| > ACTION="add", DEVPATH="/devices/*", ENV{PHYSDEVBUS}="?*", WAIT_FOR_SYSFS="bus"
| >
| > # permissions for IDE CD devices (without symbolic link creation)
| > BUS="ide", KERNEL="*[!0-9]", ENV{PHYSDEVDRIVER}="ide-cdrom", NAME="%k", GROUP="disk", MODE="0660"
| >
| > # permissions for IDE floppy devices
| > BUS="ide", KERNEL="*[!0-9]", ENV{PHYSDEVDRIVER}="ide-floppy*", NAME="%k", GROUP="disk", MODE="0660"
| >
| > Saying something like PHYSDEV* deprecated and will be removed?| Yes, you'll need to replace these sometime. I'm not sure what you | should replace them with though.
Anyone?
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 10 lines · Gabor Z. Papp
* Alex Smith <[email protected]>:
| > What about the hotplug part? At the very beginning I'm echoing "" to | > the
/proc/.../hotplugfile. Should I restore that setting to something?| Yes, doing that is fine since udevd handles events itself so there's | no need for a separate binary to be called.
Does this mean I should add echo "
/sbin/udev" >/proc/sys/kernel/hotplugor should I leave it as ""?
Just leave it empty. Then the kernel won't call out to any binary when uevents are processed. This is fine since all uevents get handled by udevd anyway.
--
Dan
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
I just got udev running on an embedded ppc with kernels 2.6.10 and 2.6.19...
It was somewhat of a nightmare since different udev versions work on different kernels,
and they have different programs...(like you mention).
I ended up using udev-082...but mixing and matching, I found you're on your own...
I found the later versions have more options/programs which I found useful...
marty
Quoted 81 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Alex Smith
Sent: Sunday, May 06, 2007 4:35 AM
To: Gabor Z. Papp
Cc: [email protected]
Subject: Re: udev on real Linux from scratchQuoted 5 lines · Gabor Z. Papp
Hello,
the udev FAQ pointed me to this list.
Time hit me too, and started to migrating from 2.4 kernels
to 2.6. :-P
Quoted 6 lines
I have some questions that not really clear to me, I think this part of documentation could be expanded too. :-)
First of all, someone could take a look at this init process and confirm me its ok, or something still wrong. Finally got
working /dev
Quoted 10 lines
directory with this setup, but I'm not sure its correct:
mount -n -t proc proc /proc
mount -n -t sysfs sysfs /sys
echo "" >
/proc/sys/kernel/hotplugmount -n -o mode55 -t tmpfs tmpfs /dev
Quoted 7 lines
mkdir -p
/dev/ptsmount -n -o mode20 -t devpts devpts
/dev/ptsudevd --daemonudevstart
IMO it would be wiser to use udevtrigger and udevsettle here rather than
udevstart because AFAIK udevstart is deprecated and will be removed soon.Quoted 11 lines
My
/etc/udevdir is mostly empty (only the default udev.conf exist) and will fill up the rules.d/ dir depending on my needs. I'm not starting any other udev* related program.
The original/dev/directory has only console device.Well, my another important question is, that starting udevd --daemon gives me a "cannot open
/dev/null" error message.I have found this message in the
udevd.cfile around line 1018:Quoted 8 lines
/* make sure std{in,out,err} fd's are in a sane state */ fd = open("/dev/null", O_RDWR); if (fd < 0) { fprintf(stderr, "cannot open /dev/null\n"); err("cannot open /dev/null"); }Should I create
/dev/nullafter mounting tmpfs on/dev/?Yes, after mounting tmpfs you should create some initial device nodes that udevd needs and does not create. This is what I do on Frugalware:
# Create initial device nodes.
mknod -m 600/dev/consolec 5 1
mknod -m 666/dev/nullc 1 3# Create extra links that Udev does not create for us ln -snf
/proc/self/fd/dev/fd
ln -snf/proc/self/fd/0/dev/stdin
ln -snf/proc/self/fd/1/dev/stdout
ln -snf/proc/self/fd/2/dev/stderr
ln -snf/proc/kcore/dev/core
Quoted 16 lines
HTH, Alex
Signature · 13 lines
Alex Smith Frugalware Linux developer - http://www.frugalware.org -------------------------------------------------------------- ----------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 7 lines · Martin
I just got udev running on an embedded ppc with kernels 2.6.10 and 2.6.19...
It was somewhat of a nightmare since different udev versions work on different kernels,
and they have different programs...(like you mention).
Quoted 7 lines
I ended up using udev-082...but mixing and matching, I found you're on your own...
I found the later versions have more options/programs which I found useful...
marty
Yes, newer udev version rely on the uevent system which was introduced in kernel 2.6.15 (IIRC)
Signature · 12 lines
Alex Smith Frugalware Linux developer - http://www.frugalware.org ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Hi Alex :)
* Alex Smith <[email protected]> dixit:
Quoted 4 lines
Quoted 1 line
Should I create
/dev/nullafter mounting tmpfs on/dev/?Yes, after mounting tmpfs you should create some initial device nodes that udevd needs and does not create.
Sorry for entering the thread SO late, but I have one question: is
there any (comprehensive?) list out there of the static devices that must be present so udev can work? Currently I have a bunch of them created, more or less randomly (probably out of fear that udev won't work without them but without the need of carrying real tests...).
I have a do-it-yourself Linux box and I've set up udev by hand. I
just wanted do know if there are a canonical way of choosing which devices should go to the static /dev.
Thanks :))
Raúl Núñez de Arenas Coronado
Signature · 12 lines
Linux Registered User 88736 | http://www.dervishd.net It's my PC and I'll cry if I want to... RAmen! ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 5 lines · DervishD
Sorry for entering the thread SO late, but I have one question: is
there any (comprehensive?) list out there of the static devices that must be present so udev can work? Currently I have a bunch of them created, more or less randomly (probably out of fear that udev won't work without them but without the need of carrying real tests...).
Yes, there is. Only /dev/console and /dev/null must be present on real /dev (hidden under tmpfs). See
http://www.linuxfromscratch.org/lfs/view/development/chapter06/udev.html for a list of devices and directories to be copied from /lib/udev/devices to /dev (tmpfs) on each boot. Note, however, that udev in LFS is slightly misconfigured (wrong names for DVB cards, and the create_floppy_devices script is never called).
Signature · 11 lines
Alexander E. Patrakov ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Hi Alexander :)
It's been a surprise to see you here too, but since you're so
involved with LFS, it was an obvious move ;))
* Alexander E. Patrakov <[email protected]> dixit:
Quoted 9 lines
Quoted 5 lines · DervishD
Sorry for entering the thread SO late, but I have one question: is
there any (comprehensive?) list out there of the static devices that must be present so udev can work? Currently I have a bunch of them created, more or less randomly (probably out of fear that udev won't work without them but without the need of carrying real tests...).Yes, there is. Only
/dev/consoleand/dev/nullmust be present on real /dev (hidden under tmpfs).
Cool, I'll modify my system for that, thanks a lot :)
Quoted 4 lines
See
http://www.linuxfromscratch.org/lfs/view/development/chapter06/udev.html
for a list of devices and directories to be copied from/lib/udev/devicesto /dev (tmpfs) on each boot.
So, /dev/console, /dev/null and the symlinks for core, stdin/out/err
and fd, right?
Quoted 2 lines
Note, however, that udev in LFS is slightly misconfigured (wrong names for DVB cards, and the
create_floppy_devicesscript is never called).
That's not a problem, I have my own rules already written and
working.
Thanks a lot, dude :)) BTW, I've downloaded the ISO's you told me
and I'll test as soon as I can reboot my system.
Raúl Núñez de Arenas Coronado
Signature · 12 lines
Linux Registered User 88736 | http://www.dervishd.net It's my PC and I'll cry if I want to... RAmen! ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 3 lines · On Monday 04 June 2007 07:47:46 Alexander E. Patrakov wrote:
Note, however, that udev in LFS is slightly
misconfigured (wrong names for DVB cards, and thecreate_floppy_devicesscript is never called).
Alexander, I'd guess these are easy enough to fix in LFS? Would you mind creating a bug in LFS' Trac database so we can deal with this?
Thanks,
Matt.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel