[Return to Library]  [TOC]  [PREV]  SECT--  [NEXT]  [INDEX] [Help]

5    Producing Distribution Media

After you have gathered product files into subsets, you can move the subsets onto the distribution media in one of the following formats:

You can distribute kits on tape, diskette, or CD-ROM, as follows:

Figure 5-1 shows the types of file formats and distribution media that are available for layered product kits.


Figure 5-1: File Formats for Layered Product Kits


The gentapes and gendisk utilities refer to a file called /etc/kitcap, a database of kit descriptors. This database contains information about the kits to be built on the system. Each record contains a product code and the names of the directories, files, and subsets that make up the product kit.

This chapter describes how to edit the /etc/kitcap file and how to use the gentapes and gendisk utilities to produce kits for each type of media.


[Return to Library]  [TOC]  [PREV]  SECT--  [NEXT]  [INDEX] [Help]

5.1    Editing the /etc/kitcap File

Before you can build your kit, you must add a record to the /etc/kitcap database to describe your kit. When you add a record to the file, use the following conventions:

The contents of a kitcap record differ depending on whether you are going to produce tape or disk media. Therefore, you must add one record for each media type on which you plan to distribute your kit.


[Return to Library]  [TOC]  [PREV]  --SECT  SECT--  [NEXT]  [INDEX] [Help]

5.1.1    Tape Media kitcap Record Format

The kitcap record for tape media contains the following elements:

For example, the following record would be added to the /etc/kitcap file to produce the ODB kit on TK50 tapes:

OAT100TK | Orpheus Authoring Tools: \
   /dcb_tools/output:SPACE:SPACE:SPACE: \
   instctrl:OATODB100:OATODBDOC100

The product name, OAT100, is the same name that appears in the key file. The product description, (Orpheus Authoring Tools) also appears in the key file. The name of the output directory is specified as /dcb_tools/output, and three SPACE files are included for compatibility with operating system kits. The last line of the record contains the instctrl directory and the names of the two subsets that make up the kit -- OATODB100 and OATODBDOC100.


[Return to Library]  [TOC]  [PREV]  --SECT  SECT--  [NEXT]  [INDEX] [Help]

5.1.2    Disk Media kitcap Record Format

You create a disk media kitcap record when producing kits for distribution on diskette or CD-ROM. The kitcap record for disk media contains the following elements:

The following example shows the kitcap record for the /dev/none driver:

ESA100HD:c:/: \
  EasyDriver_none_driver: \
  /easy/output:instctrl:ESANONESTATIC100

Based on the information supplied in this record, the gendisk utility places the kit on the c partition, in the / (root) directory of the disk media. The product description is "EasyDriver none driver", the kit output directory is named /easy/output, and subset control information is in the instctrl directory. The kit consists of one subset, named ESANONESTATIC100.


[Return to Library]  [TOC]  [PREV]  --SECT  SECT--  [NEXT]  [INDEX] [Help]

5.2    Building a Kit on Magnetic Tape Media in tar Format

With the product subsets in the output area of the kit directory structure, use the gentapes utility to create the kit on magnetic tape. The syntax of the gentapes command is as follows:

gentapes [-w -v] [hostname:] product-code special

The -w option specifies that gentapes writes to the tape without verifying it; the -v option specifies that the command verifies a tape without writing to it first. If you specify neither option, gentapes writes the tape, rewinds it, and verifies its contents.

The optional hostname argument is the name of a remote TCP/IP network machine that contains the /etc/kitcap file. The gentapes utility searches /etc/kitcap on the remote machine for the product-code and uses it for creating the media. The colon (:) is a required delimiter for TCP/IP networks, and space is permitted between the colon and the product-code. If you do not specify a hostname, gentapes looks on your own system. You can use NFS file sharing to mount the kit files remotely on a system with the required tape drive.

The product-code is a user-defined code that describes the product. It should match the product name specified in the kitcap record, which is usually a concatenation of the NAME and VERS fields of the key file.

The special argument is the name of the device special file for the tape device, such as /dev/nrmt0h.

The following command produces a kit for the ODB product on a magnetic tape:

% gentapes OAT100 /dev/nrmt0h


[Return to Library]  [TOC]  [PREV]  --SECT  SECT--  [NEXT]  [INDEX] [Help]

5.3    Building a Kit on Disk Media

With the product subsets in the output area of the kit directory structure, use the gendisk utility to create the kit on a disk.

Note

The gendisk utility supports diskettes but does not support creation of a chained diskette kit. A kit written to diskette must fit on a single diskette or be packaged as a set of kits on separate diskettes.


The syntax of the gendisk command is as follows:

gendisk [-w -v ] [-d] [hostname:] product-code special

The -w option specifies that gendisk writes to the disk without verifying it; the -v option specifies that the command verifies a disk without writing to it first. If you specify neither option, gendisk writes the disk and verifies its contents.

The optional hostname argument is the name of a remote TCP/IP network machine that contains the /etc/kitcap file. The gendisk utility searches /etc/kitcap on the remote machine for the product-code and uses it for creating the media. The colon (:) is a required delimiter for TCP/IP networks, and space is permitted between the colon and the product-code. If you do not specify a hostname, gendisk looks on your own system. You can use NFS file sharing to mount the kit files remotely on a system with the required disk drive.

The product-code is a user-defined code that describes the product. It should match the product name specified in the kitcap record, which is usually a concatenation of the NAME and VERS fields of the key file.

The special argument is the name of the device special file for the disk device, such as /dev/rrz1a.

You can use gendisk to produce kits in either tar or DCD format, depending on whether you use the -d option.


[Return to Library]  [TOC]  [PREV]  --SECT  SECT--  [NEXT]  [INDEX] [Help]

5.3.1    Preparing a Kit in tar Format

To prepare a kit on disk for a user or kernel product, you use the gendisk utility without the -d option. You specify the product name and the device special file name. For example, the following command creates a kit in tar format for the /dev/none driver on the c partition of the disk named rz0:
% gendisk ESA100 /dev/rz0c


[Return to Library]  [TOC]  [PREV]  --SECT  SECT--  [NEXT]  [INDEX] [Help]

5.3.2    Preparing a Foreign Device Kit in DCD Format

To prepare a foreign device kit, you run gendisk with the -d option. The utility creates a kit in DCD format on diskette or hard disk, as specified in the /etc/kitcap entry. In addition to running gendisk, you need to include the following files to support foreign device installation and RIS:

Note

When testing a DCD kit, be sure to reference the kit media at its mount point. For instance, if you decide to use a spare disk partition for creating a media master area, you must reference your kit to the mount point of the device.


To create a kit on diskette for the /dev/edgd product, you would perform the following steps:

  1. Place the diskette in the drive and format it, as follows:
    # fddisk -fmt /dev/rfd0c
    Disk type: 3.50 inch, HD (1.44MB)
    Number of sectors pertrack: 18
    Number of surfaces:   2
    Number of cylinders: 80
    Sector size:  512
    Interleave factor:  2:4
    Formatting disk...
      Percentage complete: Format complete, checking...
    Quick check of disk passes OK.

  2. Write a disk label to the diskette:
    # disklabel -wr fd0 rx23

  3. Run the gendisk utility to move the kit onto the diskette. In this example, the system name is visier.

    Warning

    Always answer n when the utility asks if you want to clean the diskette. Otherwise, gendisk replaces the current disk label with a default label.


    # gendisk -d EDG100 /dev/rfd0c
    Generating EDG100 Kit from visier on /dev/rfd0c
    
    WARNING:  this will remove any information stored in 
    /dev/rfd0c
    
    Are you sure you want to do this? (y/n): y
    
    Do you want to clean the entire disk first? (y/n): n
    Preparing /dev/rfd0c (floppy)
    done.
    
    Checking /dev/rfd0c
    /sbin/usf_fdck /dev/rfd0c
    ** /dev/rfd0c
    File system unmounted cleanly - no fsck needed
    
    Mounting /dev/rfd0c on /usr/tmp/cd_mdt8344
    
    Writing Images (dd=/).
    
    	Image instctrl...done.
    	Image EDGSTATIC100...done.
    
    Verifying Images (dd=/).
    
    	Image instctrl...done.
    	Image EDGSTATIC100...done.
    
    Kit EDG100 done.
    
    Cleaning up working directories.
    Unmounting /dev/rfd0c

  4. Mount the diskette in preparation for making foreign device kit modifications:
    # mount /dev/fd0c /mnt
    
    # cd /mnt

  5. Create the kitname.kk file:
    # touch ./instctrl/EDGSTATIC100.kk

  6. Create the /sys/BINARY and /etc directories on the diskette:
    # mkdir -p ./sys/BINARY
    
    # mkdir ./etc

  7. Copy the name.kit file from the kit-building area to the diskette:
    # cp /kit_area/edgd.kit ./

  8. Create a link from the driver's module file in the kit area to the /sys/BINARY directory:
    # cd ./sys/BINARY
    
    # ln -s ../../usr/opt/EDG100/edgd.mod ./edgd.mod

  9. Create a link from the sysconfigtab database file in the product area to /etc/sysconfigtab:
    # cd ../../etc
    
    # ln -s ../usr/opt/EDG100/sysconfigtab ./sysconfigtab
    
    # cd /

  10. Move the instctrl directory to an empty directory. (The gendisk utility places the instctrl directory in the top-level directory, by default. To support RIS installation, you must move the instctrl directory to an empty directory. Otherwise, the RIS utility cannot recognize the kit.) For example:
    # mkdir -p /mnt/ALPHA/EDGSTATIC100
    
    # mv /mnt/instctrl /mnt/ALPHA/EDGSTATIC100

  11. Unmount the diskette:
    # umount /mnt

To create the /dev/edgd kit on CD-ROM media, perform steps 3 through 11 and use a hard disk as the target instead of a diskette. The hard disk serves as the master for the kit. You can then burn the kit onto the CD-ROM, following the instructions that come with your CD-ROM device.