So, a number of people have complained over the past few years about the fact that /sbin/hotplug was a shell script. Funny enough, it's the people on the huge boxes, with huge number of devices that are complaining, not the embedded people with limited resources (ironic, isn't it...) Anyway, attached below is a replacement /sbin/hotplug written in c. Compiling it with klibc gives you me the following size: $ size hotplug text data bss dec hex filename 4149 28 20 4197 1065 hotplug $ ls -l hotplug -rwxr-xr-x 1 greg users 4636 Nov 18 15:08 hotplug Which is smaller than /bin/true on my boxes (and /bin/true is linked dynamically, this is a static binary. Linked dynamically, it's still smaller than /bin/true. gnu programs, go figure...) I'll be putting this all togther in a "hotplug-ng" type tarball, as I slowly replace the existing hotplug scripts with rewrites based on the fact that we've learned things over the past 4 years, and dropping support for 2.4 and previous kernels. But for now, have fun with this program. Oh, and yeah, I know I need to fix up the fact that if /dev/null isn't present, we should create it ourselves and go from there. That's next on the list after putting it all in a project. thanks, greg k-h p.s. the list.h and logging.h files come from the udev project, if you want to build this yourself.