Before building a kit, consider the kind of product the kit represents:
The answers to these questions determine the type of format you choose, the type of medium you use to distribute the kit, and the installation procedures that your users run when they install the kit on their systems.
This chapter helps you answer these questions. It describes the product types supported by the kit-building process and the options for packaging and installing the kit on the customer's system. It leads you through the steps involved in building kits for the various kinds of products, and it describes the installation options that the Digital UNIX system supports.
After you determine the kind of kit your are building, you can go to individual chapters of the book for detailed steps for building your particular kit.
A kernel product runs in kernel space. Users do not directly run kernel products, but the operating system and utilities access them to perform their work. For example, a device driver is one common type of kernel product. A user runs an application or utility, which generates system requests to perform operations such as opening a file or writing data to a disk. The system determines which device driver should service this request, then calls the appropriate driver interface.
A foreign device is a peripheral device installed during the initial system installation and bootstrap. Before a system manager can make use of the foreign device, the associated device driver must be configured into the kernel. The problem is that prior to the installation of the operating system, there is no kernel and there are no device drivers available to handle potential kernel and user requests of these foreign devices.
A graphics controller is the hardware interface between the computer and a graphics terminal.
A disk controller is the hardware interface between the computer and a disk device. (Currently, disk devices are not supported as foreign devices.)
A network controller (when bootstrapping from the network) is the hardware interface between the computer and a network device. (Currently, network controllers are not supported as foreign devices.)
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 customer's system, preserving the files' original directory structure. The gentapes and gendisk utilities can create kits in tar format.
In DCD format, the files are written to any disk media (CD-ROM, hard disk, or diskette) as a UNIX file system. Subsets distributed in DCD format cannot be compressed. The gendisk utility can create kits in DCD format.
The kit-building process is divided into the following steps:
On the development system, you create the following directory structure for the kit you want to build:
The setld utility can call a subset control program to perform installation steps specific to your kit. This program is optional for user products and kernel products. You supply it on your kit only if the product requires special installation steps. The program is required for RIS installations of foreign device kits. Most layered products supply a subset control program, though the actions the programs perform differ for each product type. For example, the subset control program for a kernel product may call the kreg utility, while the subset control program for a user product would not.
Before transferring your kit onto distribution media, organize the product files into subsets. Subsets group together related files. For example, one subset could contain optional product files, while another subset could contain the files required to run the product. The kits utility creates subsets according to the specifications you define in the master inventory file and key file. The newinv utility can help you maintain the master inventory.
When you have created the subsets for the product, you are ready to package the kit. At this point, you must decide whether to create the kit in DCD format or in tar format. You do this by selecting the appropriate packaging utilities, such as gendisk or gentapes. If you are creating a kit for a foreign device, you must also modify the kit and add files for the osfboot utility's bootstrap link support.
After you have successfully created the kit, you should test the installation. For user products and kernel products, you install the kit by running the setld utility. For foreign devices, you use the osfboot utility's bootstrap link technology to install the kit and bootstrap a custom kernel. You may also want to install the kit on a RIS server so that RIS clients can install it across a network.
This application is one of a set of applications that the fictitious company, Orpheus Authoring Tools, Inc., produces. This example shows how to build a kit for a user product.
Writing Device Drivers: Tutorial introduces this peripheral device driver, which the fictitious company, EasyDriver, Inc., produces. This example shows how to build a kit for a kernel product.
This graphics device driver, which EasyDriver, Inc. also produces, shows how to build a kit for a foreign device.