---
name: "devfsd.conf"
section: "5"
platform: "linux"
package: "devfsd"
version: "1.3.25-19"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/devfsd.conf"
---

# devfsd.conf(5)

the main configuration file for devfsd.

## NAME

/etc/devfs/devfsd.conf - the main configuration file for **devfsd**.

## FORMAT

The main documentation for the format is in [devfsd(8)](/devfsd/8.md).

## EXAMPLES

Here are some examples of the most common usage:

Compatibility entries, the following will create symbolic links from /dev/misc/device to /dev/device on node registration and remove them on unregistration:

REGISTER        misc            MKOLDCOMPAT

UNREGISTER      misc            RMOLDCOMPAT

The following means to ignore any **REGISTER** or **CHANGE** entries occurring later in the file for devices matching the regex **^pt\[sy\]/.\***:

REGISTER		^pt\[sy\]/.\*		IGNORE

CHANGE		^pt\[sy\]/.\*		IGNORE

CREATE		^pt\[sy\]/.\*		IGNORE

This runs the partx command to tell the kernel about the partitioning of an IDE or SCSI hard disk when one of the partitions is accessed for the first time.  Notice the use of regular expression substituation in the command "\\1", corresponding to the first set of parentheses in the regular expression being matched.

LOOKUP         ^((ide\|scsi)/host\[0-9\]+/bus\[0-9\]+/target\[0-9\]+/lun\[0-9\]+)/part\[0-9\]+$       EXECUTE /sbin/partx -a $mntpnt/\\1/disc

This calls the **GLOBAL** function to create a symlink from /dev/tts/0 to /dev/ttyS0 and also to /dev/modem, the links will be removed at device unregistration time. The order of link creation is the reverse of the order in the config file. Typically the **GLOBAL** functions are in libc. Note how the **mksymlink** function is being used, rather than the **symlink** function from libc. The **mksymlink** function will create parent directories as required, and will not generate a failure code if the symlink already exists.

REGISTER  ^tts/0$ CFUNCTION GLOBAL mksymlink $devname modem

REGISTER  ^tts/3$ CFUNCTION GLOBAL mksymlink $devname ttyS0

UNREGISTER ^tts/0$ CFUNCTION GLOBAL unlink modem

UNREGISTER ^tts/3$ CFUNCTION GLOBAL unlink ttyS0

The other use of **CFUNCTION** and **MFUNCTION** is to call a function in a shared object that devfsd will load.  See the **/usr/share/doc/devfsd/examples** directory for code for some shared objects.

## SEE ALSO

[**devfsd**(8)](/devfsd/8.md)
