In tar format, the product files belonging to the same subset are dumped to the distribution media as a single file. During installation, the setld utility uncompresses the files, then moves them onto the target system, preserving the files' original directory structure. Kits for user and kernel products should be in tar format.
In DCD format, the files are written to the distribution media as a UNIX file system. Subsets distributed in DCD format cannot be compressed. Foreign device kits must be in DCD format.
You can distribute kits on tape, diskette, or CD-ROM, as follows:
You can distribute kits for user and kernel products on magnetic tape. You cannot distribute foreign device kits on magnetic tape because this media does not support DCD format. Use the gentapes utility to produce kits for magnetic tape media.
Diskettes are a good media for testing purposes or for small products, such as device drivers. However, the product must fit on a single diskette; it cannot span multiple diskettes. Use the gendisk utility to produce kits for diskette media.
CD-ROM media can support large kits or multiple kits on a single media. However, you must dedicate an entire hard disk on the kit development system to creating a kit master. The kit is first produced on the hard disk, then burned onto the CD-ROM. Use the gendisk utility to produce the master kit on hard disk. Follow the CD-ROM manufacturer's instructions for burning the kit onto the CD-ROM media.
Figure 5-1 shows the types of file formats and distribution media that are available 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.
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.
# touch space # tar -cf SPACE space
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 following example shows the kitcap record for the /dev/none driver:
ESA100HD:c:/: \ EasyDriver_none_driver: \ /easy/output:instctrl:ESANONESTATIC100
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 following command produces a kit for the ODB product on a magnetic tape:
% gentapes OAT100 /dev/nrmt0h
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. Note
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.
% gendisk ESA100 /dev/rz0c
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. Note
To create a kit on diskette for the /dev/edgd product, you would perform the following steps:
# 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.
# disklabel -wr fd0 rx23
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. Warning
# 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
# mount /dev/fd0c /mnt # cd /mnt
# touch ./instctrl/EDGSTATIC100.kk
# mkdir -p ./sys/BINARY # mkdir ./etc
# cp /kit_area/edgd.kit ./
# cd ./sys/BINARY # ln -s ../../usr/opt/EDG100/edgd.mod ./edgd.mod
# cd ../../etc # ln -s ../usr/opt/EDG100/sysconfigtab ./sysconfigtab # cd /
# mkdir -p /mnt/ALPHA/EDGSTATIC100 # mv /mnt/instctrl /mnt/ALPHA/EDGSTATIC100
# 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.