The mdevd program

mdevd is a uevent manager. It connects to the netlink and reads a series of uevents; for every uevent it reads, it performs actions according to its configuration file. Actions can be inserting a kernel module, creating or modifying device entries in /dev, etc.

mdevd's configuration file uses the exact same format as mdev. The differences between mdevd and mdev are:


     mdevd [ -v verbosity ] [ -D notif ] [ -o outputfd ] [ -O nlgroups ] [ -b kbufsz ] [ -f conffile ] [ -n ] [ -s slashsys ] [ -d slashdev ] [ -F fwbase ] [ -C ]

Exit codes


mdevd reacts to the following signals:


Configuration file

mdevd uses mdev's configuration file format. A good mdev.conf example is available here.

If mdevd cannot find its configuration file, it will use a simple, basic default configuration where it can create device nodes as root or delete them, and does nothing else.

A semantic difference with mdev is that a * directive will be run on every action type, not just ACTION=add and ACTION=remove. A & directive is in the same case (see the paragraph below).

execline command support

In addition to the traditional shell command spawning via the @, $ and * directives, mdevd also supports spawning a command with the execlineb launcher:

Note that unlike /bin/sh, execlineb is spawned without an absolute path, so in order for +, - and & to work, the execlineb command must be available in mdevd's PATH.