IDINSTALL(ADM) UNIX System V
Name
idinstall - add, delete, update, or get device driver
configuration data
Syntax
/etc/conf/bin/idinstall -[adkug]
[-e] -[msoptnirhcl] dev_name
Description
The idinstall command is called by a Driver Software Package
(DSP) Install script or Remove script to Add (-a), Delete
(-d), Update (-u), or Get (-g) device driver configuration
data. idinstall expects to find driver component files in
the current directory. When components are installed or
updated, they are moved or appended to files in the
/etc/conf directory and then deleted from the current
directory unless the -k flag is used. The options for the
command are as follows:
Action Specifiers:
-a Add the DSP components
-d Remove the DSP components
-u Update the DSP components
-g Get the DSP components (print to std out, except
Master)
Component Specifiers: (*)
-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
-r Device Initialization (rc) component
-h Device shutdown (sd) component
-c Mfsys component: file system type config (Master)
data
-l Sfsys component: file system type local (System)
data
(*) If no component is specified, the default is
all except for the -g option where a single
component must be specified explicitly.
Miscellaneous:
-e Disable free disk space check
-k Keep files (do not remove from current directory)
on add or update.
In the simplest case of installing a new DSP, the command
syntax used by the DSP's Install dinstascript should be
idinstall -a dev_name. In this case the command will
require and install a Driver.o, Master and System entry, and
optionally install the Space.c, Stubs.c, Node, Init, Rc,
Shutdown, Mfsys, and Sfsys components if those modules are
present in the current directory.
The Driver.o, Space.c, and Stubs.c files are moved to a
directory in /etc/conf/pack.d. The dev_name is passed as an
argument, which is used as the directory name. The
remaining components are stored in the corresponding
directories under /etc/conf in a file whose name is
devname. For example, the Node file would be moved to
/etc/conf/node.d/devname.
The idinstall -m usage provides an interface to the idmaster
command which will add, delete, and update mdevice file
entries using a Master file from the local directory. An
interface is provided here so that driver writers have a
consistent interface to install any DSP component.
As stated above, driver writers will generally use only the
idinstall -a dev_name form of the command. Other options of
idinstall are provided to allow an Update DSP (i.e., one
that replaces an existing device driver component) to be
installed, and to support installation of multiple
controller boards of the same type.
If the call to idinstall uses the -u (update) option, it
will:
overlay the files of the old DSP with the files of the
new DSP.
invoke the idmaster command with the 'update' option if
a Master module is part of the new DSP.
idinstall also does a verification that enough free disk
space is available to start the reconfiguration process.
This is done by calling the idspace command. idinstall will
fail if insufficient space exists, and exit with a non-zero
return code. The -e option bypasses this check.
idinstall makes a record of the last device installed in a
file (/etc/.lastdevadd), and saves all removed files from
the last delete operation in a directory
(/etc/.lastdevdel). These files are recovered by
/etc/conf/bin/idmkenv whenever it is determined that a
system reconfiguration was aborted due to a power failure or
unexpected system reboot.
Diagnostics
An exit value of zero indicates success. If an error was
encountered, idinstall will exit with a non-zero value, and
report an error message. All error messages are designed to
be self-explanatory. Typical error message that can be
generated by idinstall are as follows:
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.
See Also
idspace(ADM), idcheck(ADM), mdevice(F), sdevice(F)
(printed 8/23/89) IDINSTALL(ADM)