Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022



devfsadm, devfsadmd - administration command for /dev


/usr/sbin/devfsadm [-C] [-c device_class] [-i driver_name]
     [ -n] [-r root_dir] [-s] [-t table_file] [-u] [-v]


devfsadm maintains the /dev namespace. It replaces the previous suite of devfs administration tools including drvconfig(8), disks(8), tapes(8), ports(8), audlinks(8), and devlinks(8).

The default operation is to attempt to load every driver in the system and attach to all possible device instances. Next, devfsadm creates logical links to device nodes in /dev and /devices and loads the device policy.

devfsadmd(8) is the daemon version of devfsadm(8). The daemon is started during system startup and is responsible for handling both reconfiguration boot processing and updating /dev and /devices in response to dynamic reconfiguration event notifications from the kernel.

For compatibility purposes, drvconfig(8), disks(8), tapes(8), ports(8), audlinks(8), and devlinks(8) are implemented as links to devfsadm.

In addition to managing /dev, devfsadm also maintains the path_to_inst(5) database.


The following options are supported:


Cleanup mode. Prompt devfsadm to cleanup dangling /dev links that are not normally removed. If the –c option is also used, devfsadm only cleans up for the listed devices' classes.

–c device_class

Restrict operations to devices of class device_class. Solaris defines the following values for device_class: disk, tape, port, audio, and pseudo. This option might be specified more than once to specify multiple device classes.

–i driver_name

Configure only the devices for the named driver, driver_name.


Do not attempt to load drivers or add new nodes to the kernel device tree.


Suppress any changes to /dev. This is useful with the –v option for debugging.

–t table_file

Read an alternate devlink.tab file. devfsadm normally reads /etc/devlink.tab.


Activate and attach devices for drivers added with add_drv(8) –u. Cannot be used together with –n or –r.

–r root_dir

Presume that the /dev directory trees are found under root_dir, not directly under root (/). No other use or assumptions are made about root_dir.


Print changes to /dev in verbose mode.

Exit Status

The following exit values are returned:


Successful completion.


An error occurred.



device nodes directory


logical symbolic links to /devices


devfsadm daemon


update lock file


daemon lock file


device policy file


additional device privileges


See attributes(7) for descriptions of the following attributes:


See Also

svcs(1), devfs(4FS), path_to_inst(5), attributes(7), privileges(7), smf(7), add_drv(8), modinfo(8), modload(8), modunload(8), rem_drv(8), svcadm(8), tapes(8)


This document does not constitute an API. The /devices directory might not exist or might have different contents or interpretations in a future release. The existence of this notice does not imply that any other documentation that lacks this notice constitutes an API.

devfsadm no longer manages the /devices name space. See devfs(4FS).

As a daemon to support hot-plug and synchronous device naming, devfsadm is managed by the service management facility, smf(7), under the service identifier:


The status of the service can be queried using the svcs(1) command.