devfsadm(1M) is now the preferred command for /dev and /devices and should be used instead of drvconfig.
The default operation of drvconfig is to create the /devices directory tree that describes, in the filesystem namespace, the hardware layout of a particular machine. Hardware devices present on the machine and powered on as well as pseudo-drivers are represented under /devices. Normally this command is run automatically after a new driver has been installed (with add_drv(1M)) and the system has been rebooted.
drvconfig reads the /etc/minor_perm file to obtain permission information and applies the permissions only to nodes that it has just created. It does not change permissions on already existing nodes. The format of the /etc/minor_perm file is as follows:
name:minor_name permissions owner group
minor_name may be the actual name of the minor node, or contain shell metacharacters to represent several minor nodes (see sh(1)).
sd:* 0640 root sys zs:[a-z],cu 0600 uucp uucp mm:kmem 0640 root bin
The first line sets all devices exported by the sd node to 0640 permissions, owned by root, with group sys. In the second line, devices such as a,cu and z,cu exported by the zs driver are set to 0600 permission, owned by uucp, with group uucp. In the third line the kmem device exported by the mm driver is set to 0640 permission, owned by root, with group bin.
drvconfig reads the /etc/security/tsol/minor_perm.adjunct file to obtain label information and applies the labels to nodes that it has just created. drvconfig does not change labels on already existing nodes. The format of the file is:
minor_name is the name of the minor node; shell metacharacters may be used to represent several minor nodes (see sh(1)). Labels can be represented in hex or string format.
SD:* [admin_high] mm:zero [admin_low]
The above example sets all devices exported by the sd node to have a sensitivity label of
ADMIN_HIGH. The zero device exported by the mm driver is set to have a sensitivity label of
The following options may be of use to system administrators and driver developers:
Only configure the devices for the named driver. The following options are used by the implementation of add_drv(1M) and rem_drv(1M), and may not be supported in future versions of the Solaris and Trusted Solaris environments.
Add a new major number to name binding into the kernel's internal name_to_major tables. This option is not normally used directly, but is used by other utilities such as add_drv(1M). Use of the -b option requires that -i and -m be used also. No /devices entries are created.
Do not try to load and attach any drivers, or if the -i option is given, do not try to attach the driver named drivername.
Add the name alias_name to the list of aliases that this driver is known by. This option, if used, must be used with the -m major_num, the -b and the -i drivername options.
The driver being added to the system exports the class class_name. This option is not normally used directly, but is used by other utilities. It is only effective when used with the -b option.
Specify the major number major_num for this driver to add to the kernel's name_to_major binding tables.
Build the device tree under the directory specified by rootdir instead of the default /devices directory.
Device nodes directory
Minor mode permissions
Major number binding
Driver class binding file
See attributes(5) for descriptions of the following attributes:
The /etc/security/tsol/minor_perm.adjunct file is used to record the sensitivity label of devices.
This document does not constitute an API. /etc/minor_perm, /etc/security/tsol/minor_perm.adjunct, /etc/name_to_major, /etc/driver_classes, and /devices may not exist or may 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.