Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ roboinst_check(1M) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

roboinst_config(1M)

at(1)

inst(1M)

bootp(1M)

dks(7M)

dhcp_bootp(1M)

inetd(1M)

nvram(1M)

rsh(1C)

shutdown(1M)

prom(1M)



roboinst(1M)                                                      roboinst(1M)



NAME
     roboinst, roboinst_start, roboinst_check - automatic software
     installation tool

SYNOPSIS
     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 ]

DESCRIPTION
     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.

OPTIONS
     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 inst(1M) distribution which contains the roboinst(1M)
          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
     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)



EXAMPLES
     A set of roboinst examples can be obtained by installing the optional
     subsystem roboinst.sw.examples using inst(1M) or Software Manager(1M).

NOTES
     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.

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.

SEE ALSO
     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.

BUGS
     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.









                                                                        Page 7



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026