roboinst(1M) roboinst(1M)
roboinst, roboinst_start, roboinst_check - automatic software
installation tool
roboinst [ -Lnyx ] [ -b bootdir ] [ -c configdir ] [ -P disk ]
[ -t time ] [ -g grace ] [ -f distribution ] [ -s shell ]
[ -N netinfomode ] [ -F selectionsfile ] [ -m mailbox ] host ...
roboinst [ -rl ] host ...
roboinst [ -q ]
roboinst is a tool to help automate the process of upgrading software on
a number of hosts. roboinst can help in automating installing and
upgrading operating system and application software, installing patches,
repartitioning disks, and other software installation tasks.
More complete documentation is provided in the online book IRIX Admin:
Software Installation and Licensing. This book can be obtained by
installing the eoe.books.sgi_admin subsystem using inst(1M) or Software
Manager(1M).
Once a boot server, configuration server, and other options have been
configured, the superuser executes the roboinst command to actually begin
the automatic installation tasks specified in a file called mrconfig
residing in the configuration directory (see -c below).
roboinst verifies and starts the automatic installation process on the
specified host(s). If no host is given on the command line, the current
host is assumed. Unless the -L option is specified, each host is
restarted in the miniroot. While in the miniroot, the disks may be
repartitioned and software may be installed. Once the installation has
completed, the host is restarted in normal user mode.
roboinst will log into each host using rsh(1C) in order to initiate
remote installation requests. This requires an open root account or
suitable .rhosts entry on the remote side. The -s option may be used to
specify an alternate remote shell program.
roboinst verifies and starts the automatic installation process on the
specified host(s). If no host is specified on the command line, the
current host is assumed. Unless the -L option is specified, each host
is restarted in the miniroot. While in the miniroot, the disks may be
repartitioned and software may be installed. Once the installation has
completed, the host is restarted in normal user mode.
Verification is performed by first checking to make sure that boot server
and other boot-time information is available, using bootp(1M). The
existence of the sa bootfile in the specified bootdir is verified, and
the configuration server is checked to make sure that the configuration
files can be copied. The loghost is determined from the configuration
files and a checkpoint file is created in the /var/inst directory.
Page 1
roboinst(1M) roboinst(1M)
If the client is not up and running in multi-user mode, or is not
accepting remote logins, a roboinst job can be initiated directly from
the client's PROM command monitor. See PROM below.
The roboinst command accepts the following options:
-b server:/bootdir
Specifies the network boot directory on the boot server. A boot
server delivers the files necessary for an SGI machine to boot into
the miniroot across the network. The boot directory must contain
the bootfile sa, and also a subdirectory called miniroot that
contains miniroot unix kernels for each of the client hardware
platforms (unix.IP22, unix.IP32, etc). The sa file contains the
miniroot filesystem image which will be loaded onto each client's
swap partition. See prom(1M) for more information on specifying a
bootfile for a network boot. For example, if the command to boot
the host from the prom is specified as
boot -f bootp()server:/dir/sa(sashARCS)
then the -b argument would be server:/dir. If desired, the boot
directory may also contain inst(1M) format software packages. The
-b option is required unless -L is specified.
The following commands can be used to make the directory
/usr/local/boot a valid roboinst boot directory, assuming the IRIX
Installation Tools CD is currently inserted and mounted under
/CDROM:
mkdir -p /usr/local/boot
cp /CDROM/dist/sa /usr/local/boot
cp -r /CDROM/dist/miniroot /usr/local/boot
Note: the directory /usr/local/boot is tftp-accessible by default on
SGI systems. However, if the boot directory you choose is not
configured for tftp(1C) access, the client will fail to boot the
miniroot, and an error message such as "invalid argument" or "not a
valid file to boot" may appear on the console. If this happens it
may be necessary to edit the /etc/inetd.conf file on the boot
server, and restart inetd(1M).
If the boot server and client are located on different networks,
roboinst will require that bootp forwarding be enabled on routers
between the client and the server. See the bootp(1M) manual page,
and also the online book IRIX Admin: Software Installation and
Licensing.
Page 2
roboinst(1M) roboinst(1M)
-c configdir
Specifies an roboinst configuration server and directory, where the
roboinst configuration files and scripts are located. The specified
configdir must contain an mrconfig file, specifying automatic
installation options (see roboinst_config(1M) for more information).
If no configdir is specified, it is assumed to be
localhost:/usr/local/boot/roboinst/custom.
-P diskpartition
Specify a disk or partition other than the current root partition
for automatic installation. You can either specify the SCSI id of
the desired disk (a number between 1 and 15) or you can specify the
full value for OSLoadPartition. SystemPartition will be set
accordingly. See prom(1M) for more information on specifying values
for OSLoadPartition and SystemPartition.
Note: In order for the roboinst -P n command to successfully boot
the miniroot, a copy of sash (from the IRIX 6.5 or later release)
must be installed into the volume header of the target disk. Once
sash has been installed, subsequent partitionings and installations
will not remove it, though it may possibly get downgraded.
When roboinst.sw.client is installed, it puts a new copy of sash
into the volume header of the system disk if the system is running a
version of IRIX earlier than 6.5. The following commands (run as
superuser) will copy that sash from the default system disk into the
volume header on target disk n:
dvhtool -v get sash /tmp/sash
dvhtool -v creat /tmp/sash sash /dev/rdsk/dks0dnvh
rm /tmp/sash
See dks(7) for a complete discussion of disk device names.
-f distribution
Specifies an ins
client software. If roboinst_start does not exist on the specified
host(s), inst(1M) is invoked to install the roboinst software from
the specified distribution (inst -f).
-F selectionsfile
Specifies an inst(1M) selectionsfile which specifies the location of
the roboinst(1M) client software (see inst(1M) for more information
on selections files). If roboinst_start does not exist on the
specified host(s), inst(1M) is invoked to install the roboinst
software using the specified selectionsfile (inst -F).
-L Run roboinst in live mode. Do not bring the machine down to the
miniroot in order to perform the automatic installation process. It
is not possible to automatically reformat disks or change any
networking parameters in live mode (only the "preinst", "inst", and
Page 3
roboinst(1M) roboinst(1M)
"postinst" keywords in the mrconfig file are processed). Note that
any output from a job running in live mode is normally suppressed,
unless the -m option is used.
-n Run roboinst in test mode. Verify the servers but do not actually
start the automatic installation process.
-y If no time is specified, force the automatic installation to start
now.
-t time
Specifies a time at which the host should be restarted in automatic
installation mode. The time is specified as for at(1). If a time
consisting of more than one word is specified, for example, 0815am
Jan 24, then that time must be quoted '0815am Jan 24'. If a time is
specified, an at(1) job will be submitted, and the host will be
restarted at that time. It follows that the at(1) queue must be
enabled on the host. Cannot be used with -n.
-g grace-period
Specifies a grace period in seconds to be passed to the shutdown(1M)
command on the client machine. The grace period allows active users
some time to save their current work before the machine is shutdown
and booted to the miniroot environment. The default grace period is
60 seconds. This option is ignored when -L is specified.
-N netinfomode
Specifies how the miniroot gets the parameters necessary to connect
to the network. Valid values are DHCP, BOOTP1533, LOCAL and its
alias NONE (case insensitive). LOCAL uses only the information
available in the PROM variables and on the root filesystem, and is
really only appropriate for upgrades. The others broadcast a BOOTP
packet requesting network configuration from network servers, and
DHCP also requests an IP address lease. If configured on the server
(see dhcp_bootp for details), roboinst will set netmask, static
routes, and a default route in the miniroot. The default if not
specified is determined by the miniroot, and is the equivalent of
specifying BOOTP1533 in this release. This option is ignored when
-L is specified.
-r Remove an automatic installation job from the queue for the
specified host(s). You cannot cancel an automatic installation in
progress.
-l List status of any automatic installation job for the specified
host(s). This command only works if run on the host specified as
the loghost for the specified host(s). See roboinst_config(1M) for
more information about loghost.
-q List the host(s) for which automatic installation jobs have been
submitted.
Page 4
roboinst(1M) roboinst(1M)
-m mailbox
Send the standard output and standard error of the at(1) job to the
specified email address. This option is only useful when the job is
scheduled to run at a later time (see -t). Without this option, all
at-job output is suppressed. This option has no affect on messages
generated during the miniroot portion of the job, nor on messages
sent to the loghost (see roboinst_config(1M)).
-s shell
Use the specified shell program to log into and execute commands on
each client host. The default remote shell is /usr/bsd/rsh(1C).
INITIATING ROBOINST FROM THE PROM [Toc] [Back] If the client is not up and running in multi-user mode, or is not
accepting remote logins, a roboinst job can be initiated directly from
the client's PROM command monitor. To enter the PROM, shutdown the
system, and choose Enter Command Monitor from the system maintenance
menu. (See the prom(1M) manual page for complete instructions.)
Assuming the boot directory (see -b above) is located at server:/dir and
the configuration directory (see -c above) is located at server:/config,
then one of the following commands will initiate a roboinst job from the
PROM command monitor:
boot -f bootp()server:/dist/sa(sashARCS) mrmode=custom mrconfig=server:/config
boot -f bootp()server:/dist/sa(sash64) mrmode=custom mrconfig=server:/config
The choice of sashARCS (32-bit sash) or sash64 (64-bit sash) will depend
on the hardware type of the client system. For example, on Indy and O2
systems, sashARCS is used. On Octane and Origin platforms, sash64 is
used.
If the boot server (-b) is different than the config server (-c), then
the latter should be specified in full IP-address notation, for example:
boot -f bootp()server:/dist/sa(sash64) mrmode=custom mrconfig=92.26.80.118:/config
The functionality of the -N option is implemented by prepending a special
character to the configuration directory string. Each mode is specified
by a unique character: ! (exclamation) for LOCAL, % (percent sign) for
BOOTP1533, and + (plus sign) for DHCP. Not specifying any character lets
the miniroot use its default (as in the above example). For example, to
specify the RoboInst 1.0 behavior where DHCP is always used:
boot -f bootp()server:/dist/sa(sash64) mrmode=custom mrconfig=+92.26.80.118:/config
If disk partitioning of the system disk is to be performed, then an
additional disksetup=true argument must be specified, for example:
Page 5
roboinst(1M) roboinst(1M)
boot -f bootp()server:/dist/sa(sash64) mrmode=custom mrconfig=server:/config disksetup=true
As a rule of thumb, the disksetup=true argument should be given whenever
the disksetup keyword is specified in the mrconfig file (see
roboinst_config(1M)).
The PROM has a limit on command-line length, and here are some ways to
work around this problem.
1. Set the mrconfig variable on a separate command line. Note that
mrconfig and netmask are volatie - they are not saved across reboot:
setenv mrconfig 130.62.41.34:/roboinst/upgrade
setenv netmask 0xffffff00
boot -f bootp()server:/dir mrmode=custom
Setting netmask is only necessary if the default of 0xffff0000 is not
desired, and there is no BOOTP 1533 or DHCP server configured to provide
the netmask (see -N above.)
2. Use bootp() as a shorthand for boot -f bootp().
3. Boot from the default location by putting the the sa file and miniroot
subdirectory in /usr/local/boot on the boot server. Extract the the
sashARCS and sash64 files into the same directory, and create symlinks
that are more easily remembered. Models with 32-bit kernels should link
to sashARCS, and models with 64-bit kernels should link to sash64:
cd /usr/local/boot
mkboottape -x -f sa sashARCS sash64
ln -s sashARCS o2
ln -s sash64 octane
Then the PROM boot command will reduce to one of:
bootp()server:o2 mrmode=custom mrconfig=...
bootp()server:octane mrmode=custom mrconfig=...
4. If you use the default location for your mrconfig file (the
/usr/local/boot/roboinst/custom directory on the same server where the sa
file is located) then you can omit the mrconfig=server:/dir argument
entirely:
bootp()server:o2 mrmode=custom
Note: if you are performing disk partitioning, you will have to add the
disksetup=true argument if the swap partition has not already been moved
to the beginning of the disk (see above.)
Page 6
roboinst(1M) roboinst(1M)
A set of roboinst examples can be obtained by installing the optional
subsystem roboinst.sw.examples using inst(1M) or Software Manager(1M).
roboinst requires a software license in order to operate. Please refer
to the roboinst release notes for more information on how to obtain and
install software licenses; the release notes are in the
roboinst.man.relnotes subsystem.
roboinst_start and roboinst_check are called by roboinst to perform
various parts of the automatic installation process, do not run either
directly.
roboinst_start will fail if there is no space in $TMPDIR (/tmp) to create
temporary configuration files.
/var/adm/roboinst/host
File indicating queued status of roboinst for the
specified host(s).
/var/inst/.roboinst_status
A checkpoint file which indicates the loghost and the
current state of automatic installation.
bootserver:/bootfile
The file the host loads when restarting to automatic
installation mode, usually the sa file that contains
the miniroot.
configserver:/usr/local/boot/roboinst
The host and directory which contains the
configuration files for automatic installations.
configdir/mrconfig The configuration file which specifies automatic
installation options.
/usr/share/src/RoboInst/*
RoboInst examples.
roboinst_config(1M), at(1), inst(1M), bootp(1M), dks(7M), dhcp_bootp(1M),
inetd(1M), nvram(1M), rsh(1C), shutdown(1M), prom(1M), and the online
book IRIX Admin: Software Installation and Licensing.
The new options (-N, -s and -m) are not recognized and the roboinst will
fail if the client has an older version of roboinst.sw.client installed.
However, roboinst attempts to detect this and, if given the -f option,
will attempt to install the most recent version on the client.
PPPPaaaaggggeeee 7777 [ Back ]
|