idinstall(ADM)


idinstall -- add, delete, update, or get kernel configuration data

Synopsis

/etc/conf/bin/idinstall [-adugGM] [-ekN] [-msoptnirhCTbDFO]
[-R rootdir] [-f major-list] [-P pkg_name] module_name

Description

One of the ID/TP kernel configuration tools, idinstall, is called by a Driver Software Package (DSP) installation script or removal script to add (-a), delete (-d), update (-u), or get (-g or -G) device driver/kernel module configuration data. It can also be run from a kernel source makefile to make (-M) driver/module configuration data.

idinstall expects to find driver/module component files in the current directory. When components are installed or updated with -a or -u option, they are copied into subdirectories of the /etc/conf directory and then deleted from the current directory, unless the -k flag is used.

Options

The options for idinstall are:

Action Specifiers

-a
Add the DSP components.

-u
Update the DSP components.

-d
Remove the DSP components.

-g or -G
Get the DSP components (print to stdout). If you use the -g option, the component configuration file specified is output using the configuration file's original format, unconverted by idinstall. If you use the -G option, idinstall converts the file output to appear in the most current configuration file format. If the component configuration is already in the most current format at the time it is installed, these two options provide identical output.

-M
Add or update any DSP components that are out-of-date (modified more recently than the installed copy).

Component Specifiers
If no component is specified, the default is all components present in the current directory. However, when using the -g or -G option, a single component must be specified explicitly.


-m
Master component

-s
System component

-o
Driver.o component

-p
Space.c component

-t
Stubs.c component

-n
Node (special file) component

-i
inittab component (Init)

-r
System startup script (Rc)

-h
System shutdown script (Sd)

-C
Autotune component

-T
Mtune component

-b
Modstub.o component

-D
Drvmap component

-F
Ftab component

-O
firmware.o component

Miscellaneous

-e
Disable free disk space check on add or update.

-k
Keep files (do not remove from current directory) on add or update.

-R rootdir
Use rootdir as the root of the configuration directory structure instead of /etc/conf.

-f major_list
Use major_list file as the reserved major numbers list.

-N
Do not invoke idresadd(ADM) to update the Resource Manager database. Used with the -a or -u option.

-P
Update the contents file with the package name specified.

Usage

In the simplest case of installing a new DSP, the command syntax used by the DSP's Install script should be:

/etc/conf/bin/idinstall -a module-name

In this case, the command requires and installs the DSP Driver.o, Master, and System components, and optionally installs any other components whose files are present in the current directory.

Alternatively, individual components can be installed by using appropriate options. The Dtune and *.bcfg components have no corresponding option letters and are only installed in the default case.

The Driver.o, Modstub.o, Space.c, and Stubs.c components are moved to a directory named /etc/conf/pack.d/module-name. The remaining components are stored in directories under /etc/conf, which are organized by component type, in files named module-name. For example, the Node file would be moved to /etc/conf/node.d/module-name. Driver packages should not directly access /etc/conf files.

When the Driver.o component is installed, idinstall(ADM) looks for any filename that matches the pattern Driver*.o and installs each file. This allows the DSP to install multiple driver binaries that can be dynamically selected by idtype(ADM).

idinstall -a requires that the module specified is not currently installed.

idinstall -u allows an Update DSP (one that replaces an existing device driver component) to be installed. It overlays the files of the old DSP with the files of the new DSP. idinstall -u requires that the module specified is currently installed.

idinstall -M works whether or not the module is currently installed. It copies into the configuration directories any component files which are not yet installed or are newer than the installed versions. In any case, the files in the current directory are not removed.

When the -a or -u options are used, unless the -e option is used as well, idinstall attempts to verify that enough free disk space is available to start the reconfiguration process. This is done by calling the idspace(ADM) command. idinstall will fail if there is not enough space and will exit with a non-zero return code.

When the -a or -u options are used to install hardware drivers (the Master file has an ``h'' in the ``characteristics'' field), idinstall calls idresadd to add a default Resource Manager database entry based on the information in the System file of the DSP, unless the -N or -R option is used.

When the -d option is used with a hardware driver, any default resource manager entries for the driver will be removed. Non-default entries will have their MODNAME parameter removed. See cm_params(D5).

Exit codes

An exit value of zero indicates success. If an error occurs, idinstall exits with a non-zero value and reports an error message. The error messages are designed to be self-explanatory. Typical error messages reported by idinstall can include:
   Device package already exists
   Cannot make the driver package directory
   Cannot remove driver package directory
   Local directory does not contain a Driver object (Driver.o) file
   Local directory does not contain a Master file
   Local directory does not contain a System file
   Cannot remove driver entry
If a module fails to install during a kernel reconfiguration (using idbuild), a message is displayed indicating the failure, then the reconfiguration continues.

References

Autotune(DSP), bcfg(DSP), idbuild(ADM), idcheck(ADM), idspace(ADM), idtype(ADM), Init(DSP), Master(DSP), Mtune(DSP), Node(DSP), Rc(F), Sd(F), Space.c(DSP), Stubs.c(DSP), stune(DSP), System(DSP)
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 - 02 June 2005