mrconfig man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



roboinst_config(1M)					   roboinst_config(1M)

NAME
     roboinst_config, mrconfig - configure automatic installation server
     directory

SYNOPSIS
     roboinst_config [ -nxy ] [ -c configdir ]

DESCRIPTION
     roboinst_config is run on the configuration server system to check and
     index the contents of an roboinst configuration directory (configdir).
     The mrconfig file is parsed for errors, other scripts, if any, are
     checked, and a table of contents is built.	 Any custom configuration
     directories (for specific hardware or network addresses) beneath the
     configuration directory are also checked and included in the table of
     contents.

     roboinst_config first reads the mrconfig file.  The mrconfig file must be
     present in the configuration directory.

     The mrconfig file controls the RoboInst automatic installation session.
     Each line in the mrconfig file is a statement which specifies actions to
     occur at each phase of the automatic installation.	 Each statement is
     comprised of a keyword and its arguments.

     The ordering of lines is only significant among lines that have the same
     keyword.  For example, all lines that begin with the inst keyword are
     assumed to contain input lines for inst(1M), and this input is passed to
     inst in the same order it appears in the mrconfig file.

     Blank lines and lines beginning with # are ignored.

     This is the order in which events happen in an automatic installation
     process in the miniroot:

	  1.   system restarted to the miniroot
	  2.   configuration directory downloaded and mrconfig file
	       preprocessed
	  3.   init keyword commands executed
	  4.   disks partitioned as per partition keywords
	  5.   fx keyword commands executed
	  6.   filesystems created as per partition keywords
	  7.   mkfs keyword commands executed
	  8.   filesystems mounted
	  9.   preinst keyword commands executed
	  10.  inst keyword commands executed
	  11.  build new kernel, unless the nokernel keyword is specified
	  12.  postinst keyword commands executed
	  13.  restart system to multi-user mode

     In a live automatic installation the order of events is as follows:

									Page 1

roboinst_config(1M)					   roboinst_config(1M)

	  1.   configuration directory downloaded and mrconfig file
	       preprocessed
	  2.   init keyword commands executed
	  3.   preinst keyword commands executed
	  4.   inst keyword commands executed
	  5.   postinst keyword commands executed

     The syntax of the mrconfig keywords is detailed below:

     version number
		Versioning information in case new keywords are added in the
		future.	 If this keyword is omitted, version 1 is assumed.
		The RoboInst software will terminate with an error if it
		encounters a mrconfig file with a higher version number.

     loghost IP address(es)
		The IP address(es) of the host(s) to which syslog messages
		will be forwarded, in addition to being logged on the client.

     setenv variable value
		Set the named RoboInst environment variable.  The variable is
		also exported to subcommands, such as those executed in the
		preinst, postinst, etc., phases of the installation.

     onerror action
		The onerror keyword controls the behavior of inst in response
		to an error, such as incompatible product selections, disk
		space shortages, etc.  If set to ignore, the default, then
		inst continues without stopping if an error is detected
		(errors are still reported in /root/var/inst/INSTLOG and in
		the SYSLOG).  If set to wait, inst will stop and wait for a
		response from the user (interactive mode) whenever an error
		occurs.

     partition device size type name options
		Specify partitions to create and filesystems to mount (see
		Partitioning section below).

     disksetup	This keyword is required when repartitioning of the root disk
		drive is requested, and the drive is either uninitialized (has
		no volume header) or in a pre-6.5 format, that is, when swap
		is not located just after the volume header at the physical
		beginning of the drive.	 Specifying this keyword will cause
		the swap partition to be relocated to the beginning of the
		drive, when the installation session is initiated from multi-
		user mode using roboinst(1M).  Note: if the installation is
		initiated from the PROM command monitor, the disksetup keyword
		will be ignored.  You must also specify disksetup=true on the
		boot command line when initiating roboinst from the PROM
		command monitor (see prom(1M)).	 See Partitioning section
		below.

									Page 2

roboinst_config(1M)					   roboinst_config(1M)

     init /bin/sh command
		This keyword is used to specify shell commands to be executed
		during the init phase.

     fx /bin/sh command
		This keyword is used to specify shell commands to be executed
		during the fx phase.

     mkfs /bin/sh command
		This keyword is used to specify shell commands to be executed
		during the mkfs phase.

     preinst /bin/sh command
		This keyword is used to specify shell commands to be executed
		during the preinst phase.

     inst inst command
		Inst command to be executed.  Multiple inst keywords may be
		specified.  Commands are collected in the order they appear in
		the mrconfig file, copied into a temporary command file, and
		inst is invoked with the -c argument.

     nokernel	The presence of this keyword causes the autoconfig(1M) phase
		to be skipped, so that a new UNIX kernel will not be
		automatically generated.  If you use this keyword, you must
		manually build the UNIX kernel from your own scripts, if
		necessary.  Normally a new kernel named /root/unix.install is
		generated by the autoconfig(1M) command.  If it builds
		successfully, it is renamed to /root/unix before the system is
		restarted to multi-user mode, something like this:

		  if echo y | chroot /root \
		      /etc/init.d/autoconfig -o -N
		  then
		      mv /root/unix.install /root/unix
		  fi

     postinst /bin/sh command
		This keyword is used to specify shell commands to be executed
		during the postinst phase.

     if /bin/sh command
     ...
     elsif /bin/sh command
     ...
     else
     ...
     endif	The conditional syntax is similar to the if syntax in sh(1).
		The first command is executed and if it exits with a status of
		zero, then all lines up to the next else, elsif or endif

									Page 3

roboinst_config(1M)					   roboinst_config(1M)

		statement are evaluated.  Otherwise, the next command is
		executed and if its exit status is zero, all lines up to the
		next else, elsif or endif statement are evaluated, and so on.
		If all the commands exit non-zero, lines following the final
		else (if present) are evaluated.

		As in /bin/sh, the elsif and else clauses are optional.
		Multiple elsif clauses are allowed. Nesting of if statements
		is permitted.  Any trailing ; then is stripped from if and
		elsif statements before the command is executed.

		Conditional statements are useful for performing different
		disk partitioning, or software installation instructions,
		depending on CPU or graphics type, for example:

		    if [ $SGI_CPUBOARD = IP30 ]; then
		       init echo This is an Octane
		    elsif [ $SGI_CPUBOARD = IP22 ]; then
			init echo This is an Indy
		    else
			init echo Neither an Octane nor an Indy
		    endif

   Environment Variables
     RoboInst exports environment variables to commands and subcommands
     executed during the automatic installation.  Some variables can have
     multiple values.  In that case the values are separated by whitespace.
     The pre-defined variables and values are as follows:

	  SGI_CPUBOARD	  The value of CPUBOARD as per the inst(1M) admin
			  hardware command.

	  SGI_CPUARCH
	  SGI_ABI	  SGI_CPUARCH is set to the value of CPUARCH as per
			  the inst(1M) admin hardware command, specifically,
			  the processor type.  The value of the CPUARCH ABI(5)
			  type is available in the SGI_ABI variable.  For
			  example, if inst reports both CPUARCH=R4000 and
			  CPUARCH=MIPS2, then the variable SGI_CPUARCH is set
			  to R4000, and SGI_ABI is set to MIPS2.

	  SGI_GFXBOARD	  The value of GFXBOARD as per the inst(1M) admin
			  hardware command.

	  SGI_SUBGR	  The value of SUBGR as per the inst(1M) admin
			  hardware command.

									Page 4

roboinst_config(1M)					   roboinst_config(1M)

	  SGI_MODE	  The value of MODE as per the inst(1M) admin hardware
			  command.

	  SGI_MACHINE	  The value of MACHINE as per the inst(1M) admin
			  hardware command.

	  SGI_IPADDR	  The network IP address of the system, as stored in
			  the nvram(1M) netaddr variable.

	  SGI_CAPACITY
	  SGI_CAP_dks#d#vol
			  SGI_CAPACITY is set to the capacity of the root disk
			  drive, in 512-byte blocks.  The variables
			  SGI_CAP_dks#d#vol are also set to correspond to the
			  capacity of specific SCSI disk drives attached to
			  the system.  For example, if you have a 2 GB system
			  disk (dks0d1vol) and a 1 GB option disk (dks0d2vol)
			  then the following variables would be set:
			      SGI_CAPACITY=4197405
			      SGI_CAP_dks0d1vol=4197405
			      SGI_CAP_dks0d2vol=2070235

	  SGI_ROOT	  Set to the pathname of the directory where the
			  actual system root directory (when the system is
			  booted normally) is mounted.	If the installation is
			  being performed in the miniroot SGI_ROOT is set to
			  /root; in a live installation (roboinst -L),
			  SGI_ROOT is normally set to /.

	  SGI_SYSTEMPART  The device name of the swap partition that the
			  miniroot is loaded onto.  For example, dks0d1s0.  In
			  live mode (-L) this is the partition where the
			  directory / is mounted.

	  SGI_SYSTEMDISK  This is the same as SGI_SYSTEMPART, without the
			  final partition number.  For example, dks0d1.

	  SGI_CUSTOM	  Set to the pathname of the directory to which your
			  mrconfig file, and any other custom files, are
			  copied during the automatic installation process.
			  In a miniroot installation, this is usually /custom;
			  in a live installation, SGI_CUSTOM is set to the
			  name of a temporary directory, such as
			  /tmp/d.roboinst.NNNNN (where NNNNN is a unique
			  number).

	  SGI_HOSTNAME	  Set to the hostname(1) of the client machine, or a
			  NULL string if the hostname has not been set.

	  SGI_SYSID	  Set to the system identifier comprised of 12
			  hexadecimal characters, for example,
			  08:00:69:07:73:80.

									Page 5

roboinst_config(1M)					   roboinst_config(1M)

	  SGI_MEMSIZE	  Set to the amount of memory on the system in
			  megabytes (MB), as reported by hinv(1).

	  SGI_BOOTSERVER
	  SGI_BOOTDIR	  SGI_BOOTSERVER is set to the name of the machine
			  from which the miniroot was booted.  SGI_BOOTDIR is
			  set to the name of the directory containing that
			  miniroot.

	  SGI_CONFIGSERVER
	  SGI_CONFIGDIR	  SGI_CONFIGSERVER is set to the name of the machine
			  from which your custom files (mrconfig, .index,
			  etc.) were copied.  SGI_CONFIGDIR is set to the name
			  of the directory containing those files.

   Partitioning
     Use the partition keyword to specify disk partitioning, filesystems and
     mount points.  The syntax for this keyword is:

	 partition device size type name mount-options ; mkfs-options ;

     The device, size, and type arguments are used as input to the fx -s
     command to perform disk partitioning.  Partitions are laid out in the
     order specified, unless a start position is given.	 The name and mount-
     options (if any) are used as input to the mount(1M) command.  The mkfs-
     options (if any) are used as input to the mkfs_xfs(1M) command.

     For example to create a standard system disk layout one might use:

	 partition dks0d1s0 standard root /

     or

	 partition systemdisk standard root /

     And to create a standard option disk mounted at /d2:

	 partition dks0d2s0 standard option /d2

     Note: in order for repartitioning of the system disk to work properly,
     the disksetup keyword (described above) must appear in the mrconfig file,
     or the disksetup=true argument should be specified on the boot command
     line when initiating roboinst(1M) from the PROM command monitor.

     The partition arguments are as follows.

     device is one of:

	  systemdisk	  a shorthand notation for partition 0 of the disk on
			  which the miniroot is currently loaded (the current
			  system disk). If this keyword is immediately

									Page 6

roboinst_config(1M)					   roboinst_config(1M)

			  followed by a number (eg. systemdisk1) it refers to
			  a specific partition on the system disk.

	  device name	  The name of a disk device in the /dev/rdsk
			  directory, for example dks0d1s0.  See dks(7M) for a
			  full description of device names.

     size is one of:

	  existing	  Keep the same size.

	  standard	  Use a standard layout for the entire disk. Type root
			  or option must also be specified (see below).	 When
			  standard is used, it applies to the entire disk (the
			  partition component in the device name is
			  irrelevant).	For most partitioning tasks, either
			  standard root or standard option should be specified
			  as the first partition statement for the given disk.
			  If customizations are desired, additional partition
			  statements for that disk may also be specified.

	  all		  The entire disk.

	  start:size start is an integer that specifies the exact start
			  address of the partition, in 512-byte blocks.
			  Alternatively, start can be followspart# where # is
			  the partition number which this partition is to
			  immediately follow on the same disk.	Note: the
			  volume header is partition 8, so normally the first
			  usable partition would use followspart8.  size is an
			  integer that specifies the size of the partition in
			  512-byte blocks, or the word remainder to use the
			  entire remainder of disk after making all other
			  partitions.  Note: partitions are processed in the
			  order they appear in the file, so remainder should
			  be used only in the last partition statement for a
			  particular disk.

     type is one of:

	  root		  Only valid when standard is specified (see above).
			  A standard root disk is created, consisting of a
			  swap partition and a root partition of maximum size
			  containing an XFS filesystem.

	  option	  Only valid when standard is specified (see above).
			  A standard option disk is created, consisting of a
			  single partition of maximum size, containing an XFS
			  filesystem.

									Page 7

roboinst_config(1M)					   roboinst_config(1M)

	  xfs
	  xfs /blocksize  An XFS filesystem is created with the specified
			  blocksize, and mounted at the directory name with
			  the specified options.  The blocksize must be an
			  integer multiple of 512 and cannot exceed 65536.  If
			  omitted, a blocksize of 4096 is assumed.

	  efs		  An EFS filesystem is created, and mounted at the
			  directory name with the specified options.  Caution:
			  EFS filesystems will not be supported in future IRIX
			  releases.  Use XFS filesystems in nearly all
			  situations.

	  swap		  A swap partition of the specified size is created.

	  preserve	  Any existing filesystem is preserved, and no new one
			  is created.

     name is ignored when type is swap.	 For other partition types, its value
     can be:

	  pathname	  A local directory where the filesystem is to be
			  mounted.

	  nomount	  If nomount is specified, the filesystem is not
			  mounted.

     options are:

	  options	  See mount(1M) for legal options.  This field is
			  optional.  Any options specified are to be passed
			  along to the mount -o command as a single argument.
			  Multiple options should be comma separated with no
			  spaces.

   Example
     Consider the job of partitioning a set of Indy, O2/R5K and O2/R10K
     clients.  The O2/R10K machines normally have the root drive at dks0d2s0,
     but on the other we would like to use dks0d1s0 for the root drive.	 This
     can be handled with a single mrconfig file using the systemdisk keyword
     as follows:

	      # The following "disksetup" keyword applies to all machines
	      disksetup
	      partition systemdisk standard root /

     The same task could also be accomplished using explicit disk device names
     with:

									Page 8

roboinst_config(1M)					   roboinst_config(1M)

	      # The following "disksetup" keyword applies to all machines
	      disksetup

	      if [ "$SGI_CPUBOARD" = IP32 -a "$SGI_CPUARCH" = R10000 ] then

		  # On O2/R10K machines use drive 2
		  init		     echo This is an O2/R10K
		  partition	     dks0d2s0 standard root /

	      else

		  # On my other machines put root on drive 1
		  init		     echo The machine type is $SGI_MACHINE
		  partition	     dks0d1s0 standard root /

	      endif

     For more examples, install the optional subsystem roboinst.sw.examples
     using inst(1M) or Software Manager(1M).

OPTIONS
     The roboinst_config command accepts the following options:

     -c configdir
		Specify an alternate roboinst configuration directory.	If no
		alternate configuration directory is specified, it is assumed
		to be the current directory.

     -n		Do not write the table of contents.

     -y		Always write the table of contents, even if it already exists.

     -x		Do not write file size and checksum information to the table
		of contents.  This option may be useful while debugging the
		mrconfig file and other scripts in the configuration
		directory.  However, if the table of contents does not contain
		file size and checksum information then it will not be
		possible to detect file transfer errors during the automatic
		installation process.

FILES
     configdir/.index	 Table of contents for the specified configuration
			 directory.
     /usr/share/src/RoboInst/*
			 RoboInst examples.

SEE ALSO
     ABI(5), autoconfig(1M), dks(7M), fx(1M), hinv(1), hostname(1), inst(1M),
     mount(1M), nvram(1M), prom(1M), roboinst(1M), sh(1) and the online book
     IRIX Admin: Software Installation and Licensing.

									Page 9

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net