Solaris reconfiguration boot

When adding or removing hardware in a Solaris system, it may be necessary to perform a reconfiguration boot. During this boot, the system discovers new hardware and recreates the file /etc/path_to_inst which contains mappings of physical devices to logical instance numbers.

Warning: Reconfiguration boots can cause problems under certain circumstances, particularly regarding the order of disk devices. Hosts running Solstice DiskSuite and Veritas Volume manager should be particularly cautious of reconfiguration boots that may change the order of disk mappings.

There are currently three method of performing a reconfiguration boot in Solaris:

  • From openboot (ok prompt):
    OK> boot -r
  • From Solaris OS (example 1):
    # reboot -- -r
  • From Solaris OS (example 2):
    # touch /reconfigure
    # init 6
    The file /reconfigure automatically gets removed during the bootup process.

Using devfsadm

Another option used to automatically configure devices on a running Solaris system that cannot be rebooted is the use of the devfsadm command.

In Solaris, the devfsadm command manages the special device files in the /dev and /devices directories. By default, devfsadm attempts to load every driver in the system and attach to all possible device instances. Then it creates the device files in the /devices directory and the logical links in the /dev directory. In addition to managing the /dev and /devices directories, devfsadm also maintains the path_to_inst(4) instance database.

In previous Solaris releases, device configuration was handled by drvconfig, which managed the physical device entries in the /devices directory, and five link generators, devlinks, disks, tapes, ports, and audlinks, which managed the logical device entries in the /dev directory.

These utilities were not aware of hot-pluggable devices nor were they flexible enough for devices with multiple instances. For compatibility purposes, drvconfig and the other link generators are symbolic links to the devfsadm utility.

Both reconfiguration boot processing and updating the /dev and /devices directories in response to dynamic reconfiguration events is handled by devfsadmd, the daemon version of the devfsadm command. This daemon is started from the /etc/rc* scripts when a system is booted.

Since devfsadmd automatically detects device configuration changes generated by any reconfiguration event, there is no need to run this command interactively.

See devfsadm(1M) for more information.

Alternate reconfiguration boot

If another device of an existing type (with the driver already installed) is added, and you forget to do a reconfiguration boot, use the following commands to tell the system to recognize the new device.

# touch /reconfigure
# _INIT_RECONFIG=YES /etc/init.d/drvconfig
# _INIT_RECONFIG=YES /etc/init.d/devlinks