Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  IGF(1M)            (Media Generation Utilities)           IGF(1M)



  NAME
       igf - software management package generation facility

  SYNOPSIS
       igf [ -vb ] [ -f special_file ] { table | - }

  DESCRIPTION
       igf is a general purpose utility for creating software
       installation tapes.  It provides a flexible mechanism to
       combine identification information, multiple archives of
       software, and scripts needed to manipulate software packages
       (usually installation and removal scripts) on a single tape.
       Optionally, the tape can be made bootable to run standalone.

       Information about what is written to the tape is read from
       table or standard input when the argument is a dash (-).
       This information includes the package description, name,
       version number, and entries that describe the number and
       contents of the archives.  The archives are not limited to a
       specific format and may even be several different formats on
       a single tape.

       If the -b option is used to create a bootable tape, table
       will also contain information about a bootloader and other
       files necessary to run in a standalone environment.

       The -f option is used to specify a tape device other than
       the default (/dev/rmt/ctapen).  Since the tape is created
       with multiple records, special_device must be a ``no-
       rewind'' tape device.

       The -v option prints messages showing the progress and
       contents of the tape being made.

       table is made up of a number of single and/or multiple line
       entries separated by any number of blank lines.  A line is
       defined as all characters leading up to a newline character;
       line continuation is not recognized.  Lines within a
       multiple line entry must not be separated by blank lines.  A
       pound sign (#) in the first column of a line indicates a


  Page 1                                                   May 1989


















  IGF(1M)            (Media Generation Utilities)           IGF(1M)



       comment line, and the line is discarded.  Each line of each
       entry consists of a keyword immediately followed by an equal
       sign (=) and the text for that line.

       table contains several different types of entries.  Some of
       them are optional, while some are used only when creating a
       bootable tape.  In the following descriptions, lines are
       referred to by their keyword.

       DESC      Optional description of the software package on
                 the tape.  This description is limited to 88
                 characters.

       VER       Optional package version number.  This is actually
                 a string of 12 characters and need not be a
                 number.  All printable characters, including
                 spaces, are acceptable.

       PACK      Optional package name.  The name is usually the
                 one-word name of the package, limited to 14
                 characters.

       BL        Pathlist to the tape bootloader.  It must be a
                 valid a.out file that is readable by the current
                 process (only with -b option).

       OS        Pathlist to the standalone operating system or
                 boot file.  It must be a valid a.out file and
                 readable by the current process (only with -b
                 option).

       RAM       Ramdisk image. This entry must be a pathlist to a
                 valid file system image (only with -b option).

       FILES     Definition of an archive's contents.  This entry
                 begins a multiple line entry.  It has two
                 arguments separated by white space:  source and
                 destination directory.  igf changes to the source
                 directory before the the archive command is
                 executed.  This is useful for archives with


  Page 2                                                   May 1989


















  IGF(1M)            (Media Generation Utilities)           IGF(1M)



                 relative pathnames.  The destination directory
                 will be stored on the tape and used by the tape
                 extraction facility, ixf(1M).  The other possible
                 lines in this entry are A_DESC, ARC, O_OPT and
                 I_OPT.  The FILES line must be the first line in
                 the entry and is the only required line.

       A_DESC    Archive description.  This entry is a short
                 description of the contents of this archive,
                 limited to 25 characters.  This line is always
                 optional.  If included, it is stored in the tape
                 directory entry for this archive.

       ARC       Name of the archive utility.  This is the archive
                 utility that is used to write the archive
                 specified by the current FILES entry.  The name is
                 not a full pathlist.  The environment variable
                 PATH is parsed to find the instance of the
                 utility.  The first match is used, as it is in the
                 shell.  The archiver name will also be stored in
                 the tape directory for extracting of this archive.

       O_OPT     Archiver output options.  These options are used
                 by the archiver to create the archive.  If the
                 string $DEVICE is in this entry, it is substituted
                 with the current tape device specified by the -f
                 option or by /dev/rmt/ctapen when -f was not
                 specified.  This allows the use of different tape
                 device nodes without having to change table.

       I_OPT     Archiver input options.  These options are used by
                 the archiver when files are being extracted from
                 the tape.  They are stored in the tape directory.
                 If the string $DEVICE is in this entry, it is
                 replaced with the current tape device specified on
                 the command line of ixf(1M) when the tape is being
                 read or extracted.  This allows for different
                 device names to be used on the source and
                 destination systems without changing the contents
                 of the tape directory which would require remaking


  Page 3                                                   May 1989


















  IGF(1M)            (Media Generation Utilities)           IGF(1M)



                 the tape.

       SCRIPTS   Scripts archive.  This entry is similar to the
                 FILES entry except it has only one argument, a
                 source directory.  SCRIPTS is a special archive
                 that is used to contain scripts and all files
                 necessary to manipulate a software package (used
                 by sysadm softwaremgmt).  A SCRIPTS entry is also
                 a multiple line entry which can contain all the
                 lines associated with the FILES entry (A_DESC,
                 ARC, O_OPT, I_OPT).

       All other lines in FILES and SCRIPTS entries are optional.
       If any one of the ARC, O_OPT or I_OPT lines are specified,
       then all three of these lines are required to prevent a
       mismatch of archiver options and arguments with the archive
       utility.  If all three lines are not in the entry, they take
       on the following values:  ARC defaults to cpio, O_OPT
       defaults to -ocB > $DEVICE, and I_OPT defaults to -icBdu <
       $DEVICE.  File names in and below the source directory will
       be supplied to cpio(1) by find(1).

       The tape generated by igf is made up of multiple records.
       The number of records depends on whether or not the tape is
       bootable and how many archives are on it.

       The first tape record, called volume id block, is a header.
       It contains information about the tape for the software
       package and for the tape-based bootloader.  There is no line
       in table that creates this record but some information from
       the table is stored here.

       If the tape is bootable, the next record is the bootloader.
       It is stored on the tape as an image of how it will be run,
       not as an a.out file.  The bootloader designed to work with
       igf is /stand/m68k/boots/350ipl for SYSTEM V/68 platforms
       and /stand/m88k/boots/350ipl for SYSTEM V/88 platforms.
       This record is created from the BL line in table.

       The next record is a tape directory.  It contains the


  Page 4                                                   May 1989


















  IGF(1M)            (Media Generation Utilities)           IGF(1M)



       following information about all records after the tape
       directory (where applicable):  record number starting at
       zero for the volume id block, archive number starting at one
       for the first archive, type of record, name of record or
       archive utility, description, destination directory, and
       input options.  There is no line in table that causes this
       record to be created.

       On a bootable tape, the next record is an operating system
       or standalone kernel.  There may be as many of these records
       on the tape as needed.  One record is created for each OS
       entry in table.  They are stored on the tape in a.out
       format. The bootloader, 350ipl, is able to select any one of
       these files to boot from.

       After the operating system(s), there may be a ramdisk image
       record on a bootable tape.  This record is created from the
       RAM line in table.  It is an image of a file system from
       disk.

       Following this record are all of the archives.  Archive
       records are created from FILES and SCRIPTS entries in table,
       one record per entry.  If there is a SCRIPTS entry, it is
       always the first archive; otherwise, the archives are in the
       order in which they appear in table.  These archives have no
       special headers and their format is determined by the
       archiving utility used.

  EXAMPLES
       Following is an example of a table used to create a bootable
       installation tape for a SYSTEM V/68 platform..

                           -- Example Table --

          #IGF Table for creating m68k distribution tapes

          DESC=UniSoft UNIX

          PACK=SYSTEM V



  Page 5                                                   May 1989


















  IGF(1M)            (Media Generation Utilities)           IGF(1M)



          VER=0.4.0 3.2

          # Tape bootloader
          BL=/root/stand/m68k/boots/350ipl

          # kernel used for installation
          OS=/root/stand/tapeboot

          RAM=/dev/dsk/m323_1s1

          #Archive entry for the bill-of-materials files
          FILES=/root                /mnt

          ARC=cpio
          O_OPT=-ocB > $DEVICE </usr/src/build/tape/releaselist
          I_OPT=-icBdu < $DEVICE

          #Archive entry for the files in root and usr file systems
          FILES=/usr/src/build/tape          /mnt
          ARC=cpio
          O_OPT=-ocB > $DEVICE <releasefile
          I_OPT=-icBdu < $DEVICE


       In this example, ``tapeboot'' is the operating system kernel
       that will be booted by the tape-based bootloader 350ipl .
       The file system which will be mounted as a memory-based file
       system by the bootloader is specified by the block-special
       device /dev/dsk/m3231s1 .

       There are two cpio (1) archive entries. The first archive is
       for the basic operating system files, and the second is for
       the bill-of-materials file. Since cpio (1) gets its file
       list from the standard input, standard input is redirected
       from the file /usr/src/build/tape/releaselist, which
       contains a list of pathnames of basic operating systems
       files for the first archive and
       /usr/src/build/tape/releaselist.

       The $DEVICE string is used so the tape device node name may


  Page 6                                                   May 1989


















  IGF(1M)            (Media Generation Utilities)           IGF(1M)



       be changed for the second archive.  Notice that the output
       is being redirected to the tape.

  SEE ALSO
       ixf (1M), sh (1).

  WARNINGS
       Although 9-track drives have the capabilities needed by igf,
       only the MVME350 streaming tape drive is supported.

       If special_device is not a ``no-rewind'' device, the program
       execution will proceed normally without a single error
       message, but the tape will contain only one record, usually
       the last archive.  If the -f option is used, the
       special_device name must correspond to a ``no-rewind''
       device.  The name for the ``rewind'' device is derived by
       truncating the last character from the ``no-rewind''
       device's name (for example, /dev/rmt/ctapen for a no-rewind
       device and /dev/rmt/ctape for the rewind device).

  BUGS
       The option to have the table information read from standard
       input does not work although it may appear to.



















  Page 7                                                   May 1989
















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