cfgmgr Command

Purpose

Configures devices and optionally installs device software by running the programs specified in the Configuration Rules object class.

Syntax

cfgmgr [ -f | -s | -p Phase ] [ -i Device ] [ -l Name ] [ -v ]

Description

The cfgmgr command configures devices and optionally installs device software into the system. The configurable devices are controlled by the Configuration Rules object class, which is part of the Device Configuration database. Each configuration rule specifies the following:

During system boot, the cfgmgr command configures all the devices that are necessary to use the system. System boot is a two-step process:
  1. Called phase 1, this step begins when the kernel is brought into the system and the boot file system is initialized. During this phase, the cfgmgr command is invoked, specifying this as phase 1 by using the -f flag. The cfgmgr command runs all of the phase 1 configuration rules, which results in the base devices being configured.
  2. Phase 2 execution begins, and the cfgmgr command is called with the -s flag.

The cfgmgr command recognizes three phases of configuration rules:

The cfgmgr command runs all of the rules for the phase specified during invocation (for example, phase 1 rules for the -f flag). However, if the -l flag is used, the cfgmgr command configures only the named device and its children.

If the cfgmgr command is invoked without a phase option (for example, without the -f,-s, or -p flags), then the command runs the phase 2 rules. The only way to run the phase 3 rules is with the -p flag.

The configuration rules for each phase are ordered based on the values specified in the seq field. This field is an integer that specifies the priority in which to run this rule, relative to the other rules for this phase. The higher the number specified by the seq field, the lower the priority. For example, a value of 1 specified in the seq field is executed before a rule with a value of 10. There is one exception: a seq field value of 0 implies a "don't care" condition, and runs last. Therefore, a seq field value of 1 is the highest priority and runs first.

If there are any devices detected that have no device software installed when configuring devices, the cfgmgr command returns a warning message with the name or a list of possible names for the device package that must be installed. If the specific name of the device package is determined, it is displayed as the only package name on a line below the warning message. If the specific name cannot be determined, a colon-separated list of possible package names is displayed on a single line. A package name or list of possible package names is displayed for each of the devices, if more than one device is detected without its device software.

The system displays the following warning message when devices without their device software are detected:

cfgmgr: 0514-621 WARNING: The following  device packages are
        required for device support but are not currently 
        installed.
devices.pci.22100020
devices.pci.14101800
devices.pci.scsi:devices.pci.00100300:devices.pci.NCR.53C825

In this example, two devices missing software were found, and the cfgmgr command displays the names of the device packages that must be installed. A third device that is also missing software was found, but in this case, the cfgmr command displays several possible device package names.

When more than one possible package name is identified for a device, only one of the names will actually correspond to a device package on the installation medium. This is the package you must install. However, in some cases, more than one of the names will correspond to actual device packages on the installation medium. In this case, the first package name in the list for which there is a device package on the install medium is the package that must be installed. If the cfgmgr command is used with the -i flag, then the correct packages will be installed.

If you invoke the cfgmgr command with the -i flag, the command attempts to install device software automatically for each new detected device. The Device variable of the -i flag specifies where to find the installation medium. The installation medium can be a hardware device (such as a tape or diskette drive), a directory that contains installation images, or the installation image file itself.

Attention: To protect the Configuration database, the cfgmgr command is not interruptible. Stopping this command before it is complete could result in a corrupted database.

Flags

Item Description
-f Specifies that the cfgmgr command runs the phase 1 configuration rules. This flag is not valid at run time (after system start).
-i Device Specifies the location of the installation medium.
-l Name Specifies the named device to configure along with the children of the device.
-p Phase Specifies that the cfgmgr command runs the specified phase.
-s Specifies that the cfgmgr command runs the phase 2 configuration rules.
-v Specifies verbose output. The cfgmgr command writes information about what it is doing to standard output.

Configuration Rules

Item Description
phase Specifies whether this rule belongs to phase 1, phase 2, or phase 3 (second boot phase for service mode).
seq Specifies the relative priority of this rule as an integer.
rule A string containing the full path name of a program to execute. It can also contain any flags, but they must follow the program name as the whole string run as if it was typed on the command line.

Security

Access Control: Only the root user and members of the system group should have execute (x) access to this command.

Auditing Event:

Event Information
DEV_Configure Device name

Examples

These examples are based on the configuration rules containing the following information:
phase   seq        rule


1     10      /usr/lib/methods/defsys
1     12      /usr/lib/methods/deflvm


2     10      /usr/lib/methods/defsys
2     12      /usr/lib/methods/deflvm
2     13      /etc/methods/startusb
2     17      /etc/methods/cfgvlan -2
2     18      /usr/lib/methods/cfgrcnet
2     19      /usr/lib/methods/ptynode
2     20      /etc/methods/vconnode
2     20      /usr/lib/methods/startlft
2     22      /etc/methods/startrcm
2     25      /usr/lib/methods/starttty
2     27      /etc/methods/startsgio
2      0      /usr/lib/methods/defaio
2      0      /usr/lib/methods/def_posix_aio
2      0      /usr/lib/perf/cfg_perfstat load
2      0      /usr/lib/perf/load_blockset_ext


3     10      /usr/lib/methods/defsys
3     12      /usr/lib/methods/deflvm
3     13      /etc/methods/startusb
3     15      /usr/lib/methods/starttty
3     19      /usr/lib/methods/ptynode
3     20      /usr/lib/methods/startlft
3     20      /etc/methods/vconnode
3     22      /etc/methods/startrcm
3     27      /etc/methods/startsgio
  1. When the cfgmgr command is invoked with the -f flag, the command gets all of the configuration rules with phase = 1 and runs them in the following order:
    /usr/lib/methods/defsys
    /usr/lib/methods/deflvm
    Note: The -f flag cannot be used during run time.
  2. When the cfgmgr command is run with the -s flag, the command gets all of the configuration rules with phase = 2 and runs them in the following order:
    /usr/lib/methods/defsys
    /usr/lib/methods/deflvm
    /etc/methods/cfgvlan -2
    /usr/lib/methods/cfgrcnet
    /usr/lib/methods/ptynode
    /etc/methods/vconnode
    /usr/lib/methods/startlft
    /etc/methods/startrcm
    /usr/lib/methods/starttty
    /etc/methods/startsgio
    /usr/lib/methods/defaio
    /usr/lib/methods/def_posix_aio
    /usr/lib/perf/cfg_perfstat load
    /usr/lib/perf/load_blockset_ext
  3. When the cfgmgr command is run with the -p 3 flag, the command gets all of the configuration rules with phase = 3 and runs them in the following order:
    /usr/lib/methods/defsys
    /usr/lib/methods/deflvm
    /etc/methods/startusb
    /usr/lib/methods/starttty
    /usr/lib/methods/ptynode
    /usr/lib/methods/startlft
    /etc/methods/vconnode
    /etc/methods/startrcm
    /etc/methods/startsgio
  4. If the cfgmgr command is run without a flag, the command functions the same as when used with the -s flag. Thus, the phase 2 rules are run in the the following order:
    /usr/lib/methods/defsys
    /usr/lib/methods/deflvm
    /etc/methods/cfgvlan -2
    /usr/lib/methods/cfgrcnet
    /usr/lib/methods/ptynode
    /etc/methods/vconnode
    /usr/lib/methods/startlft
    /etc/methods/startrcm
    /usr/lib/methods/starttty
    /etc/methods/startsgio
    /usr/lib/methods/defaio
    /usr/lib/methods/def_posix_aio
    /usr/lib/perf/cfg_perfstat load
    /usr/lib/perf/load_blockset_ext
  5. To configure detected devices attached to the scsi0 adapter, type the following:
    cfgmgr -l scsi0
  6. To install device software automatically during configuration with the software contained in the /usr/sys/inst.images directory, type the following:
    cfgmgr -i /usr/sys/inst.images

Files

Item Description
/usr/sbin/cfgmgr Specifies the command file.
/usr/include/sys/cfgdb.h Contains numeric representations for fields in the Configuration Rules object class.