Using kernel 2.6.15+ and udev 084+

Ahad, 09 Juli 2006 | Software dan OS
Piter Punk

With kernel 2.6.15, udev can listen directly the events given by some devices, through netlink. Sysfs provides a interface to send events, when we wrote to "uevent" file in some device directory, one event will be sent and udev can catch this event and do something.

This is the great idea, now udev can be used to handle all device node creation AND module loading. The hotplug binary is no more and all configuration can be done using only udev.rules.


To use these great new features, you'll need module-init-tools-3.2 or higher, kernel 2.6.15 or higher and udev 084 or higher. To make all this things work in slackware, i do some new packages with new configurations:

  • module-init-tools-3.2
    Use the slackware-current package.

  • udev-092
    New rc.udev, now it tries to detect all hardware earlier in the boot, and really faster than old hotplug system. A new set of udev.rules are created (using slackware as base, with some addons from pcmciautils and udev samples) to load modules, bring up network interfaces and make symlinks.

    Some little things you need remember: put your firmware files in /lib/firmware, this is the correct location. If you need some special device earlier at boot, create a node in /lib/udev/devices, this directory is copied to /dev each boot, before udev tries to detect the hardware.

  • sysvinit-2.84
    Many boot scripts are in this package. rc.S and rc.M are changed. Now, if you had a /sys and sysfs filesystem support and rc.udev had eXecute bit set, the udev will be loaded and hotplug disabled. ELSE, hotplug will run and udev will be disabled. With that, you can use 2.4 and 2.6.15+ kernels in the same machine without problems. REMEMBER, 2.6.14- DON'T WORK WITH NEW UDEV PACKAGE.

  • pcmciautils-013
    New utility to handle PCMCIA devices. In 2.6.13+ kernel, cardmgr isn't needed. The kernel itself can handle the cards. In this package you find the rc.pcmcia that runs cardmgr if the kernel is 2.4 or give all work to kernel and udev if it is 2.6.

  • sysfsutils-2.0.0
    Needed by pcmciautils


Install/upgrade all packages. After that, in /etc/rc.d copy,, and over rc.S, rc.M, rc.udev and rc.pcmcia. Do the same with /etc/ and /etc/modprobe.conf. Maybe is a good idea make some backups before this copies. If your rc.udev is disabled, chmod +x the /etc/rc.d/rc.udev.

Download and compile kernel. Remember, these file ONLY WORKS with kernel 2.6.15+ (rc works) and newer. Never try to use an older kernel or the things doesn't works.

Reboot your machine


The system is tested and working fine in five machines with many different PCI, ISA and PCMCIA cards. Probably it won't burn your machine, but i don't give to you any warranties.

Piter PUNK
piterpk AT terra dot com dot br