6    Producing Hardware Product Kits

This chapter describes how to produce a hardware product kit, what additional files are required, and how to test the kit installation.

Note

The information in this chapter describes how to produce hardware product kits.

Follow these steps to create and test a hardware product kit:

  1. Read Chapter 1 for an overview of product kits.

  2. Design the kit directory structure as described in Chapter 2.

  3. Create subsets as described in Chapter 3. Hardware product kits require a subset control program (Section 3.4).

  4. Create additional installation files as described in Section 6.2.

  5. Rerun the newinv utility as described in Section 3.7 to update the master inventory file with the additional installation files.

  6. Rerun the kits utility as described in Section 3.5 to produce updated subsets and control files.

  7. Create the kit distribution media as described in Section 6.3.

  8. Test the distribution media as described in Section 6.4.

6.1    Overview

A hardware product includes the kernel modules that let your operating system support new or upgraded hardware, letting you install hardware support without reinstalling or updating your base operating system. However, you must reboot your system to rebuild the kernel so that it includes the modules that support your new hardware. To support the new hardware and the hardware product kit software, the customer may need to install or update to a version of the operating system that supports hardware product kits before installing the hardware product kit software.

The kernel modules and the kit support files are distributed on CD-ROM as part of the hardware product kit, and can be installed either directly from the distribution media or loaded onto a Remote Installation Services (RIS) area for installation by RIS clients over a local area network (LAN).

Hardware product kits can be delivered by a process called new hardware distribution (NHD). The kit usually is provided on CD-ROM, and includes installation and testing instructions.

6.2    Creating Additional Installation Files

Figure 6-1 shows the files that make up the ODB product kit source directory. Additional hardware product files are highlighted.

Figure 6-1:  Hardware Product Source Directory

  1. /README.odb -- a text file containing general product information

    This file is installed in the root ( / ) file system and is placed in the opt/OAT100 source directory.

  2. /sbin/odb_recover -- a utility to recover corrupt ODB documents when the system boots. The odb_recover script executes when the system boots and the /usr file system may not be mounted.

    This file is installed in the root ( / ) file system and is placed in the opt/OAT100/sbin source directory.

  3. /usr/bin/odb_start -- the ODB tool startup script. The odb_start script is a user command.

    This file is installed in the /usr file system and is placed in the usr/opt/OAT100/bin source directory.

  4. /usr/var/templates/odb_template -- a document template that can be modified by a user.

    This file is installed in the /var file system and is placed in the usr/var/opt/OAT100/templates source directory.

  5. /usr/var/log_files/odb_log -- the context-dependent symbolic link (CDSL) for the odb_log file.

    This symbolic link is installed in the /usr/var file system and is placed in the usr/var/opt/OAT100/log_files source directory.

  6. /usr/var/cluster/members/member0/log_files/odb_log -- the file listing all of the ODB documents created by a user. The odb_log file can be modified by users.

    This file is installed in the /usr/var file system and is placed in the usr/var/cluster/members/member0/opt/OAT100/log_files source directory.

  7. files -- the files file fragment contains information about the location of the source code and modules associated with the driver, tags indicating when the driver is loaded into the kernel, and whether the source or binary form of the driver is supplied to the customer.

  8. sysconfigtab -- the sysconfigtab file fragment contains device special file information, bus option data, and information on contiguous memory usage for statically and dynamically configured drivers. The sysconfigtab file fragment gets appended to the /etc/sysconfigtab database when the kernel product kit is installed. For more information, refer to the sysconfigtab(4) reference page.

  9. odb_printer.mod -- the object module file containing the single binary module for the ODB kernel product.

  10. The odb.kit files allow the target system's kernel to bootlink the new hardware support software modules. One stays resident on the distribution media, and one is installed onto the target system. Although their format is the same, module specifications differ within the two files. Section 6.2.6 provides more information about the name.kit files.

A hardware product kit requires that you include the following files on the distribution media to make the hardware product accessible during initial system installation and console-level reboots:

6.2.1    The files File Fragment

The files file fragment contains information about the location of the source code and modules associated with the driver, tags indicating when the driver is loaded into the kernel, and whether the source or binary form of the driver is supplied to the customer. You need to edit this file if the kit development directory structure differs from the driver development directory structure or if you must change the driver name for any reason.

Caution

The files file fragment must be in the same directory as the kernel modules or the kreg and doconfig utilities will not work properly.

Figure 6-2 shows which fields within the files file fragment need to change.

Figure 6-2:  Editing the files File Fragment

6.2.2    The sysconfigtab File Fragment

The sysconfigtab file fragment contains device special file information, bus option data information, and information on contiguous memory usage for statically and dynamically configured drivers. When the user installs a kernel product kit, the driver's sysconfigtab file fragment gets appended to the /etc/sysconfigtab database. You should place this file fragment in a product directory, such as /opt/OAT100/etc.

You do not need to change the sysconfigtab file fragment unless you change the driver (subsystem) name. The driver name appears in three places within the file, as shown in Figure 6-3. In the example, the driver runs on a TURBOchannel bus (indicated by the TC_Option entry), but a similar set of bus options would be specified for other bus types.

Figure 6-3:  Editing the sysconfigtab File Fragment

This file is described in the sysconfigtab(4) reference page.

6.2.3    The Object Module File

The driver.mod object module file contains the single binary module for both statically and dynamically configured drivers. Include this file in a product directory, such as /opt/OAT100/sys/BINARY, in the root ( / ) file system.

Caution

Compressed modules cannot be linked using RIS. Use the file command to determine if a file is compressed. You see output similar to the following:

# file odb_graphics.mod
odb_graphics.mod:
    alpha compressed COFF executable or object module not stripped

6.2.4    The Source and Header Files

The *.c (source) and *.h (header) files contain the source code for the device driver. Include these files in a product directory, such as /usr/opt/OAT100/src, when the driver is configured statically and distributed in source form.

6.2.5    The Method Files

The device.mth method files contain driver methods that are called during automatic configuration to create device special files for dynamically configured drivers. The subset control program creates links to these device special files in the customer's subsys directory when the driver is installed. The driver method files are on the distribution media and are not installed onto the customer's system. The device driver developer can tell you which method files the subset control program should link to, typically /subsys/device.mth. Link the method in a device driver kernel kit only if the driver needs to have device special files created for its devices.

6.2.6    The name.kit Files

The name.kit files allow the target system's kernel to bootlink the new hardware support software modules. The format of the distribution name.kit file and the installed name.kit files is the same, but the following list describes the differences:

Commands in the distribution name.kit file direct the boot utility to modify the bootlink process and boot this kit off the distribution media. When the kernel is bootlinked, the distribution name.kit file controls where hardware product modules are found during the boot process. When bootlinking from a hardware product kit, the boot utility sets the default directory to the distribution media's root ( / ) directory. Commands in the distribution name.kit file indicate which modules should be added, removed, or replaced in the kernel.

Kernel modules must reside in the /opt/PRODCODE/sys/BINARY directory so that they can be accessed by the boot process. Kernel modules for the fictitious graphics device driver used in this chapter are located in /opt/OAT100/sys/BINARY.

Caution

Module files for hardware product kits must be compressed with the objZ utility. Do not use the compress or gzip utilities to compress module files for hardware product kits. See the objZ(1) reference page for more information.

Example 6-1 shows the format of the commands in the name.kit file.

Example 6-1:  Sample Installed name.kit File

-/opt/OAT100/sys/BINARY/odb_printer.mod
+/opt/OAT100/sys/BINARY/odb_printer.mod

Each kernel module listed in the name.kit file first must be removed with the - operator and then added with the + operator. If kernel modules are just added and you already have an older version of the hardware product on the system, the bootlink will fail because the kernel module already exists. The + operator does not replace a module if it already exists. Therefore, to protect against this, it is recommended to first remove the module and then add it to make sure you get the latest version of the module in the kernel.

The hardware product kit for the odb_printer driver supplies a name.kit file, which first removes and then adds the single binary module odb_printer.mod to the kernel. In Example 6-1, the sample name.kit file is referencing the /opt/OAT100/sys/BINARY directory on the installed system, not on the distribution media.

Figure 6-4 shows how the distribution name.kit file works with boot utility software during the installation of a hardware product kit.

Figure 6-4:  Using the Distribution name.kit File During Installation

In the figure, the kit contains a name.kit file called odb.kit. The odb.kit file instructs the system's boot utility to build and configure a temporary kernel that includes the odb_printer driver. Upon completion, this temporary kernel makes the odb_printer driver available to handle user and system requests of a specific hardware device during the installation of the operating system.

6.2.7    The database.nhd File

The database.nhd file, also known as the hardware database file, describes the hardware product kits residing on the distribution media. The installation process uses the database.nhd file to determine what software to load. This file contains one record for each hardware product kernel module. For example, if your distribution includes two hardware product kits, one with three kernel modules and another with five kernel modules, the database.nhd file would contain eight records.

There can be only one database.nhd file on each distribution media, located in the root ( / ) directory.

The syntax for the database.nhd file uses the following conventions:

An entry in the database.nhd file contains eight fields:

Each vendor name and hardware name must form a unique combination. Each product release supported by the kit must map to at least one release of the operating system, as shown in Example 6-2. Operating system versions use the format: {MajorNumber}{MinorNumber}[VariantLetter].

Example 6-2:  Sample database.nhd File

#
# New hardware support
#
{
    {Orpheus Document Builders}
    {ODB Device Driver}
    {OATBASE100 OATDOC100}
    {4.0F}
    {1}
    {/V4.0F/sys/BINARY/asynchhw_stub.mod}
    {/V4.0F/kit}
    {/v4.0F/usr/sys/hardware/base.kit}
}

6.2.8    The .root File

When building a Direct CD-ROM (DCD) distribution media, the gendisk utility also generates a PRODCODE.root file, where PRODCODE is the three-letter product code and the version number, for example: OAT100.root.

This file must ship in the instctrl directory and contains the path to the expanded subset files starting from the kit directory (for example, /mnt/ODB/kit).

This file is created automatically by the gendisk utility when a Direct CD-ROM (DCD) distribution media is built.

6.2.9    The kitname.kk File

By default, all hardware product kits should contain a hardware product indicator file (kitname.kk) in the instctrl directory. The file can be empty, but it must exist. This file indicates to RIS that a hardware product kit exists on the distribution media. When the ris utility finds this file, you are prompted for a hardware product kit name to add to the RIS area. This file is created automatically by the gendisk utility when it finds the kk=true option in the /etc/kitcap file.

6.3    Producing Distribution Media

After you have created the subsets and the additional installation files, you can move the subsets onto the distribution media. This consists of the following tasks:

  1. Rerunning the newinv utility to update the master inventory file with the additional installation files. (Section 3.7)

  2. Rerunning the kits utility to produce updated subsets and control files. (Section 3.5)

  3. Editing the /etc/kitcap file. (Section 6.3.1)

  4. Using the gendisk utility to build the hardware product kit on disk media. (Section 6.3.2)

6.3.1    Editing the /etc/kitcap File

The gendisk utility refers to the /etc/kitcap file, a database containing 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. Before you can build your kit, you must add a media descriptor record to the /etc/kitcap database.

Note

If you use the gendisk utility to produce your kit on disk distribution media, you can specify an alternate kit descriptor database. Refer to the gendisk(1) reference page for additional information.

Use the following conventions when you add a record to the /etc/kitcap file:

The contents of the record can depend on the product type you are delivering. For example, the kitcap record for a hardware product must contain the kk=true parameter and may require the use of the rootdd= option.

The kitcap record for disk media contains the following elements:

Refer to the kitcap(4) reference page for more information about the disk media record format.

Refer to Section 3.3 for information about the key file.

Example 6-3 shows the record to be added to the /etc/kitcap file to produce the ODB hardware product kit. Notice the use of the kk=true and rootdd= options.

Example 6-3:  Sample Disk Media Descriptor

OAT100HD:c:\
  dd=/ODB/kit,kk=true,rootdd=..:Orpheus_Document_Builder:\
  /mykit/output:instctrl:OATBASE100
 
 

Example 6-4 shows a sample kitcap record for a CD-ROM with multiple hardware products. In Example 6-4, the rootdd=.. entry overrides the default and places the expanded subset files in the product-specific directory of /ODB. By default, expanded subset files (in DCD format) are placed at the top of the media's file system.

Example 6-4:  Sample Disk Media Descriptor for Multiple Hardware Product Kits

OAT100HD:c:\
  dd=/OAT100/kit,kk=true,rootdd=..:ODB_Driver_V1:\
  /odb100/output:instctrl:OATBASE100:\
  dd=/OAT200/kit,kk=true,rootdd=..:ODB_Driver_V2:\
  /odb200/output:instctrl:OATBASE200:

Refer to the kitcap(4) reference page for more information about the disk media descriptor format.

Note

Each kit must be contained in a separate directory located in the distribution media's root directory. For example, a kit is located in /mnt/ODBprinter where /mnt is the mount point and ODBprinter is the subdirectory under which the kit files are located.

6.3.2    Building a Hardware Product Kit on Disk Media

When the product subsets are located in the output area of the kit directory structure, you produce a master copy of the hardware product kit on a hard disk and use this master disk to copy the kit onto a CD-ROM.

Follow this sample procedure to produce a master disk for the OAT100 hardware product kit:

  1. Log in as root or use the su command to gain superuser privileges.

  2. Make sure that you have an entry for your system's root account in the /.rhosts file. For example, if your system name is system01, your entry in the /.rhosts file would look similar to the following:

    system01 root
     
    

    If this entry is not present, the gendisk utility will fail with a Permission denied error.

  3. Follow these steps to prepare the master disk for the hardware product kit:

    1. Determine the device where the master media is to be written. This sample procedure uses an RZ26 disk associated with the /dev/disk/dsk1 device special file.

    2. Use the disklabel command to erase any existing label or data. For example:

      # disklabel -z /dev/disk/dsk1
      

    3. Use the disklabel command to write a new disk label. For example:

      # disklabel -wr /dev/disk/dsk1 rz26L
      

  4. Use the gendisk utility to create the master disk for the hardware product kit.

    Use the following syntax for the gendisk command:

    gendisk [-d] [-i] [-k filename] [-w] [-v] [hostname:] prodID devname

    -d

    Creates a distribution disk in direct CD (DCD) format. This means that the distribution disk contains uncompressed file systems that are arranged in the same way as the software will be installed on the system.

    -i

    Creates a distribution disk in ISO 9660 format. This means that the distribution disk contains an ISO 9660-compliant CD-ROM file system (CDFS).

    -k filename

    Uses an alternate kit descriptor database, filename, on the local system. You may use either a full absolute pathname or a relative pathname from the directory where you run the gendisk utility. You do not have to name the file kitcap.

    -w

    If used without the -v option, writes the product media without verification. If used with the -w option, the gendisk utility writes and then verifies the product media.

    -v

    If used without the -w option, verifies the product media without writing it first. This assumes that you already have written kit files to the distribution media. If used with the -w option, the gendisk utility writes and then verifies the product media.

    hostname:

    The optional hostname: operand is the name of a remote machine that contains the kitcap file. The utility searches the /etc/kitcap file on the remote machine for the prodID 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 prodID. For example, if the product code is OAT100 and you are using the kit descriptor database on node mynode, use mynode:OAT100 for this option.

    prodID

    The mandatory prodID operand is a kit identifier consisting of the product code and version number specified in the CODE and VERS fields of the kit's key file. Refer to Section 3.3 for information about the key file.

    devname

    The mandatory devname operand specifies the device special file name for a raw or character disk device such as /dev/rdisk/dsk1. The gendisk utility uses the disk partition specified in the kit descriptor and ignores any partition specified on the command line.

    Note

    If you do not use either the -w or -v options, the gendisk utility writes and then verifies the product media.

    In this sample procedure, the system name is system01. For example:

    # gendisk -d OAT100 /dev/disk/dsk1a
    Generating OAT100 Kit from system01 on /dev/disk/dsk1a
     
    WARNING:  this will remove any information stored in 
    /dev/disk/dsk1a
    Are you sure you want to do this? (y/n): y
    Do you want to clean the entire disk first? (y/n): n
     
     
    

    Caution

    When the gendisk utility asks if you want to clean the disk, always answer n or the gendisk replaces the current disk label with a default label.

    The gendisk utility output is similar to the following:

    Preparing /dev/disk/dsk1a
    done.
     
    Checking /dev/disk/dsk1a
    /sbin/usf_fdck /dev/disk/dsk1a
    ** /dev/disk/dsk1a
    File system unmounted cleanly - no fsck needed
     
    Mounting /dev/disk/dsk1a on /usr/tmp/cd_mdt8344
     
    Writing Images (dd=/).
     
    	Image instctrl...done.
    	Image OATBASE100...done.
     
    Verifying Images (dd=/).
     
    	Image instctrl...done.
    	Image OATBASE100...done.
     
    Kit OAT100 done.
     
    Cleaning up working directories.
    Unmounting /dev/disk/dsk1a
    

  5. Follow these steps to copy the additional installation files to the master disk:

    1. Mount the master copy's hard disk. For example:

      # mount /dev/disk/dsk1a /mnt
      # cd /mnt
      

    2. Verify that the .kk and .root files exist in the master disk's instctrl directory. For example:

      # cd ./ODB/kit/instctrl
      # ls *.kk *.root
      OAT100.kk
      OAT100.root
      

    3. Copy the database.nhd file to the master disk's root area. For example:

      # cp /mykit/database.nhd /mnt
      

    4. If it was not included in the inventory, copy the distribution name.kit file to the proper directory on the master disk. For example:

      # cp /mykit/odb.kit \
          /mnt/ODB/usr/opt/OAT100/sys/hardware/odb.kit
      

    5. Copy the distribution name.kit file and the database.nhd file from the kit-building area to the master disk. For example:

      # cp /kitarea/odb.kit \
          /mnt/ODB/usr/opt/OAT100/sys/hardware/odb.kit
      # cp /kitarea/database.nhd /mnt/database.nhd
      

      Note

      The backslash ( \ ) in this example represents line continuation. Do not include it in the command line.

    6. Unmount the disk. For example:

      # umount /mnt
      

  6. Use this master disk to copy the hardware product kit onto a CD-ROM by following the instructions that came with your CD-ROM burner.

6.4    Testing the Distribution Media

Before shipping a hardware product kit to customers, you should test the kit with the same procedures that your customers will use on hardware configurations that resemble your customers' systems.

Run the following tests, in sequence, to test a hardware product kit:

  1. Use the setld utility to verify that the subsets have been built correctly and that the files get installed into the correct locations on the target system. (Section 6.4.1)

  2. Use the bootlink process to test that all of the modules are in the correct locations to allow the system to add support to the bootlinked kernel. (Section 6.4.2)

  3. Use the hw_check utility to verify that the database.nhd file is in the correct location and that it contains the correct information. (Section 6.4.3)

  4. Use the ris utility to add a hardware product kit into a RIS area to verify that the correct files are present on the kit. (Section 6.4.4)

  5. Register a client for the RIS area containing the hardware product kit and start a Full Installation on the client system. (Section 6.4.5)

When testing a hardware product kit in DCD format, reference the kit media at its mount point. For example, if you decide to use a spare disk for creating a media master area, you must reference your kit to that devices's mount point.

6.4.1    Testing a Hardware Product Kit with the setld Utility

To test a hardware product kit using the setld utility, the system where you conduct the test must be running the same version of the operating system for which the hardware product kit was built.

Follow these steps to test the hardware product kit using the setld utility. The purpose of this test is so that you can test the location of the installed product files as you defined them in the master inventory file.

  1. Log in to the system as root or use the su command to gain superuser privileges.

  2. Place the CD-ROM in the drive.

  3. Create a directory to be the media mount point, such as /cdrom:

    # mkdir /mnt
    

  4. Mount the CD-ROM on /mnt. For example, if the CD-ROM device is located on the c partition of cdrom0, enter the following command:

    
    # mount -r /dev/disk/cdrom0c /mnt
    

  5. Use the following setld command syntax to install each subset on the distribution media:

    # setld -l /mnt/OAT100/kit OATBASE100
    

    Checking file system space required to install specified subsets:
     
    File system space checked OK.
     
    1 subset(s) will be installed.
     
    Loading 1 of 1 subset(s)...
     
    ODB Device Driver Files
      Copying from /mnt/ODB/kit (disk)
      Verifying
     
    1 of 1 subset(s) installed successfully.
     
    Configuring "ODB Device Driver Files " (OATBASE100)
    

    If there is an error during subset installation, the setld utility displays a message explaining the error. Details for verification errors are in the /var/adm/smlogs/fverify.log file.

  6. When the installation is complete, unmount the CD-ROM:

    # umount /mnt
    

  7. After the setld utility has finished installing and configuring each subset, verify that the files for each subset (including the /usr/sys/hardware/database.nhd files) have been installed in the correct locations.

6.4.2    Testing a Hardware Product Kit on a Running System

This section contains procedures for testing the installation of a hardware product kit on a system that already is running a version of the operating system that supports this feature.

Figure 6-5 shows how the boot utility builds a kernel to include a hardware product kit.

Figure 6-5:  Bootlinking with a Hardware Product Kit

Follow these steps to use the bootlink process to install a hardware product kit onto a system that is running a version of the operating system that supports this feature:

  1. Log in as the user root or use the su command to gain superuser privileges.

  2. Back up the operating system.

  3. Use the shutdown command to halt your system and bring it down to console mode:

    # shutdown -h now
    

  4. Enter the following command to turn off automatic reboots at the console prompt:

    >>> set auto_action halt
    

  5. Power down your system.

  6. Install the new hardware.

  7. Power up your system. You see the console prompt:

    >>>
    

  8. Enter the following boot command:

    >>> boot -flag fa -file "/GENERIC" sys_disk
    

    In the previous example:

    You see the following prompt:

    Enter Device Name:
    

  9. Enter the CD-ROM console device name, for example, DKA500. You see a prompt similar to the following:

    Insert media for kit 'device:hwkitname', press Return when ready:
    

  10. Insert the hardware product kit CD-ROM and press [Return]. You see the following prompt:

    Enter Kit Name:
     
    

  11. Enter the name of the hardware product kit you want to install, using the full pathname of the distribution name.kit file on the distribution media. You see the following prompt:

    Insert media for kit 'device:hwkitname', press Return when ready:
    

    In this example, device:hwkitname is the device name you entered in Step 9 and the hardware product kit name you entered in Step 11

  12. Insert the CD-ROM containing the hardware product kit into the CD-ROM drive and press [Return]. The boot utility reads the selected hardware product kit file into memory, and you see the following prompt:

    Enter Kit Name:
    

  13. Take one of the following actions:

  14. Take one of the following actions:

  15. Press [Return], because you are adding hardware support to a running system and the system disk is your boot media.

    The boot utility reads the generic kernel modules and links the kernel objects, and you see the following prompt:

    Insert media for kit 'dev_name:hwkitname', press Return when ready:
     
    

    In the previous prompt, dev_name is the CD-ROM device name you entered in Step 9 and hwkitname is the hardware product kit name that you entered in Step 11.

  16. Insert the CD-ROM into the drive and press [Return].

    Note

    Do this step for every device and every kit name entered in Step 9 through Step 14.

    You see the following prompt:

    Insert boot media, press Return when ready:
     
    

    Press [Return], because you are adding hardware support to a running system and the system disk is your boot media. The boot utility loads and configures the hardware product kit.

    Note

    If you installed more than one hardware product kit from different media on the same device, the boot utility may prompt you for the location of some of the hardware support subsets. If you see this prompt, load the appropriate CD-ROM into the CD-ROM drive and enter the appropriate console device name.

    You see the following prompt:

    Enter a name for the kernel configuration file. [SYSNAME]: 
     
     
    

    SYSNAME is the name of your existing kernel configuration file, usually your system name in upper case characters.

  17. Enter the name of the kernel configuration file or press [Return] to accept the default.

    You may see one or more of the following sequences:

    The boot utility rebuilds your operating system kernel and reboots with the new kernel. After a successful reboot, you see the operating system login window.

  18. Log in as root.

  19. Use the setld -i command to verify that your hardware product kit is installed.

  20. Check to make sure that the installed files are where you want them to be and that the hardware product is operational.

  21. Check to make sure that the /GENERIC file was rebuilt correctly by issuing the following command for each module file that was loaded:

    # cat /GENERIC | grep -e modname.mod
    

    In the previous example, modname.mod represents the name of the module file that was loaded. If the .mod file was supplied in the /opt directory, the full path and file name should be in the /GENERIC file.

6.4.3    Using the hw_check Utility to Test a Hardware Product Kit

When you perform an Update Installation, the process checks for any installed hardware product kits automatically and reports the following information:

This section describes two test cases to test the validity of a hardware product kit during an Update Installation.

Note

The following test assumes that you already have done the bootlink test described in Section 6.4.2.

Follow these steps to test the format of the database.nhd files:

  1. Log in as root to the same system where you performed the boot link test.

  2. Mount the operating system CD-ROM from multiuser mode:

    
    # mount -r /dev/disk/dsk9a /mnt
    

  3. Run the hw_check utility:

    
    # /usr/lbin/hw_check /mnt
    

    You see output similar to the following for a successful test:

    Checking for installed supplemental hardware support...
     
    The following hardware was installed using a supplemental
    hardware kit and will continue to work under the new
    operating system without any modifications.
     
            ODB Device Driver
     
    Press RETURN to continue...
     
     
    

    If you do not see a message similar to this, the most likely cause of the error is an incorrect value in the supported release field of the /usr/sys/hardware/database.nhd file on the system. This file is generated or updated from the database.nhd file on the distribution media. Refer to Section 6.2.7 for information about the format of this file.

Next, follow these steps to run the hw_check utility, testing the kit as if you were performing an Update Installation. This test sets up a scenario where an existing kit is not supported in the new release of the operating system. This procedure assumes that you already have tested the kit with the bootlink utility as described in Section 6.4.2.

  1. Log in as root to the same system where you tested the kit with the setld utility.

  2. Use the editor of your choice to modify the installed system's /usr/sys/hardware/database.nhd file and change the value in the supported release field to XXX. For example, if this is the original installed database.nhd file:

    {
        {Orpheus Document Builders}
        {ODB Device Driver}
        {OATBASE100 OATDOC100}
        {4.0F}
        {1}
        {/V4.0F/sys/BINARY/asynchhw_stub.mod}
        {/V4.0F/kit}
        {/V4.0F/usr/sys/hardware/base.kit}
    }
    

    Change the supported release field as shown in this example:

    {
        {Orpheus Document Builders}
        {ODB Device Driver}
        {OATBASE100 OATDOC100}
        {XXX}
        {1}
        {/V4.0F/sys/BINARY/asynchhw_stub.mod}
        {/V4.0F/kit}
        {/V4.0F/usr/sys/hardware/base.kit}
    }
    

    Changing the supported release field to XXX indicates that the hardware product kit is supported only under operating system version XXX. Changing this field should trigger the appropriate warning logic in the Update Installation process because XXX is not a valid release format.

  3. Run the hw_check utility to start the test:

    # /usr/lbin/hw_check /mnt
     
     
    

    You see output similar to the following:

    Checking for installed hardware product kits...
     
    The update installation has detected that the hardware 
    product kit listed below is loaded on your system and 
    is not supported in the new release of the operating 
    system (V5.0A). In order for the update to
    complete successfully, you must provide the distribution 
    media that contains the V5.0A version of the hardware 
    product listed below.  The update install process will 
    verify that the media you provide contains
    the correct software.
     
          Orpheus Document Builders ODB Device Driver
     
    Enter kit location (e.g.: /dev/disk/dsk3c or /mnt)
    

  4. Enter the kit location, for example /mnt, and press the [Return] key.

    The output is similar to the following:

    The kit located at /mnt contains support for hardware 
    that is currently installed on your system and is not 
    supported under the new version of the operating 
    system V5.0A.  In order for your hardware
    to continue to function properly you will be asked 
    to supply the following kit file names when the update 
    installation reboots the system for the first time.  
    Be sure to record these file names for future use 
    within the update install process.  Each kit file 
    will only need to be entered once for all of the 
    associated hardware support to be loaded.
     
      Orpheus Document Builders ODB Device Driver 
     (Kit File: /ODB/usr/opt/OAT100/sys/hardware/odb.kit)
     
    Press <RETURN> to continue...
    

    If you see this message, the hw_check test is successful. Otherwise, the hw_check utility displays an error message to describe the problem. You must correct the problem and run the test again.

6.4.4    Testing a Hardware Product Kit in a RIS Area

To install a hardware product kit into a RIS area, you must extract the base operating system into the RIS area first. Follow these steps to extract the base operating system into a new RIS area and then add the hardware product kit to the new area:

  1. Log in to the RIS server as root or use the su command to gain superuser privileges.

  2. Enter /usr/sbin/ris to start the ris utility. You see the RIS Utility Main Menu:

    *** RIS Utility Main Menu ***
     
    Choices without key letters are not available.
     
        a) ADD a client
        d) DELETE software products
        i) INSTALL software products
         ) LIST registered clients
         ) MODIFY a client
         ) REMOVE a client
        s) SHOW software products in remote installation 
           environments
        x) EXIT
     
    Enter your choice:
    

  3. Enter i to select INSTALL software products. You see the RIS Software Installation Menu:

    RIS Software Installation Menu:
     
        1)  Install software into a new area
        2)  Add software into an existing area
        3)  Return to previous menu
     
    Enter your choice:
    

  4. Enter 1 to select Install software into a new area. You see the following prompt:

    You have chosen to establish new remote installation
    environment.
     
    Enter the device special file name or the path of the
    directory where the software is located (for example,
    /mnt/ALPHA/BASE) or press <Return> to exit:
    

  5. Enter the location of the base operating system distribution media, for example: /mnt/ALPHA/BASE. You see the following prompt:

    Select the type of Tru64 UNIX base product to create.
    If the software you are offering supports add-on hardware that is needed
    to boot the client system, select "boot-link" as the type of RIS area to
    create. Otherwise, select "standard". If you select "boot-link", the
    software will be extracted (or copied) to the RIS area, because symbolically
    linked RIS areas do not support this feature.
     
    Choose one of the following options:
        1)  Standard boot method
        2)  Boot-Link method
     
    Enter your choice:
    

  6. Enter 2 to select Boot-Link method. You see messages similar to the following:

           Media extraction complete
    The new environment is in /var/adm/ris/ris0.alpha
     
    Building Network Bootable Kernel........Done
     
    The following software now exists in RIS product area
    /var/adm/ris/ris0.alpha:
         1   'Tru64 UNIX V5.0A Operating System ( Rev nnn )'
     
     
    

    You see the RIS Utility Main Menu:

    *** RIS Utility Main Menu ***
     
        a) ADD a client
        d) DELETE software products
        i) INSTALL software products
         ) LIST registered clients
         ) MODIFY a client
         ) REMOVE a client
        s) SHOW software products in remote installation 
           environments
        x) EXIT
     
    Enter your choice:
    

  7. Enter i to select INSTALL software products. You see the RIS Software Installation Menu:

    RIS Software Installation Menu:
     
        1)  Install software into a new area
        2)  Add software into an existing area
        3)  Return to previous menu
     
    Enter your choice:
    

  8. Enter 2 to select Add software into an existing area. You see a prompt similar to the following:

    You have chosen to add a product to an existing environment.
     
    Select the remote installation environment:
     
        1) /usr/var/adm/ris/ris0.alpha
             'Tru64 UNIX V5.0A Operating System ( Rev nnn )
     
    Enter your choice or press RETURN to quit:
    

  9. Enter 1 (in this example) to select the new RIS environment where you just extracted the base operating system. You see a prompt similar to the following:

    Enter the device special file name or the path of the
    directory where the software is located (for example,
    /mnt/ALPHA/BASE) or press <Return> to exit:
    

  10. Enter the location of the hardware product kit that you want to install, for example: /mnt/kit. This is the kit directory under the top-level directory of the hardware product kit on the distribution media.

    The ris utility searches the distribution media for the kitname.kk file that indicates that the distribution media contains a hardware product kit.

    You see a prompt similar to the following:

    The kit you have specified has been identified as a Tru64 UNIX
    kernel kit. This type of kit may contain software which is
    needed during the booting of the kernel for the installation, due
    to required hardware support. If you need to add this kit to the
    base, select the option to integrate the kit. You may otherwise
    choose to add this kit to the RIS area as a separate product.
     
    1)  Integrate with Base product and include product
    2)  Include as separate product
    3)  Return to Main Menu
     
    Enter your choice:
    

    Note

    If you do not see this message, the hardware product kit is not structured correctly. The most likely cause is a missing ./kit/instctrl/*.kk file or specifying an invalid location in the previous step. Make sure all kit files are located in the appropriate directories and restart this test.

  11. Enter 1 to select Integrate with Base product and include product. You see a prompt similar to the following:

    Please select one of the following products to add the kit to.
     
        1   'Tru64 UNIX V5.0A Operating System ( Rev nnn )'
     
     Enter your selection or <return> to quit:
    

  12. Enter 1 (in this example) to select the version of the base operating system where you want to integrate the kit. You see a prompt similar to the following:

    Choose one of the following options:
     
        1)  Extract software from   /mnt/OAT100/kit
        2)  Create symbolic link to /mnt/OAT100/kit
     
     Enter your choice:
    

  13. Decide whether you want to either extract the software onto the system or just create symbolic links to the software. In this example, enter 1 to select Extract software.

    The ris utility lists all the subsets associated with the software kit. In this example, the OAT100 kit contains only one subset, and you see a prompt similar to the following:

    The subsets listed below are optional:
     
         There may be more optional subsets than can be presented 
         on a single screen. If this is the case, you can choose 
         subsets screen by screen or all at once on the last 
         screen. All of the choices you make will be collected 
         for your confirmation before any subsets are extracted.
     
         1) ODB Device Driver Version 1
     
     Or you may choose one of the following options:
     
         2) ALL of the above 
         3) CANCEL selections and redisplay menus
         4) EXIT without extracting any subsets 
     
    Enter your choices or press RETURN to redisplay menus.
     
    Choices (for example, 1 2 4-6):
    

  14. Enter 1 (in this example) to select ODB Device Driver Version 1, or you can enter 2 to select ALL of the above. You see a prompt similar to the following:

    You are installing the following optional subsets:
     
            ODB Device Driver Version 1
     
     Is this correct? (y/n):
    

  15. Enter y to confirm your software selection.

    The ris utility integrates the hardware product kit software and the base system. No user interaction is needed at this time.

    You see messages similar to the following:

    Checking file system space required to extract selected 
    subsets:
     
    File system space checked OK.
    Extracting OATBASE100...
    Media extraction complete.
     
    The following software now exists in the RIS product area
    /var/adm/ris/ris0.alpha:
    1   'Tru64 UNIX V5.0A Operating System ( Rev nnn )' with
        'ODB Device Driver Version 1'
     
    2   'ODB Device Driver Version 1'
     
     
    

The hardware product has been extracted into the RIS area and integrated into a new version of the base operating system.

If you choose SHOW software products in remote installation environments from the RIS Utility Main Menu, you see that there are now two products in the new RIS area: the current version of the operating system with support for the ODB device driver and the OATBASE100 hardware product kit.

6.4.5    Registering a RIS Client and Installing a Hardware Product Kit

After adding the base operating system and hardware product kit to a RIS area, the hardware product subsets are now available. However, before a client can perform a Full Installation from this RIS area, you must register the client. You need to know the RIS client's hardware network address.

If you do not know your RIS client's hardware network address, do one of the following:

Follow these steps to register your RIS client:

  1. Log in to the RIS server as root or use the su command to gain superuser privileges.

  2. Enter /usr/sbin/ris to start the ris utility. You see the RIS Utility Main Menu:

    *** RIS Utility Main Menu ***
     
    Choices without key letters are not available.
     
        a) ADD a client
        d) DELETE software products
        i) INSTALL software products
         ) LIST registered clients
         ) MODIFY a client
         ) REMOVE a client
        s) SHOW software products in remote installation 
           environments
        x) EXIT
     
    Enter your choice:
    

  3. Enter a to select Add a client. You see the following messages:

    You have chosen to add a client for remote installation 
    services.
     
    The following conditions must be met to add a client:
     
            1. You must know the client processor's hostname
            2. The client's hostname must be in your system's 
               host database(s).
            3. You must know whether the client is on an 
               Ethernet, FDDI, or Token Ring network.
            4. You must know the client's hardware Ethernet, 
               FDDI, or Token Ring address if the client is 
               registering to install operating system software.
            5. If the client and the server reside on different 
               subnets, you will need the address of the 
               gateway(s) that the client can use to 
               communicate with the server.
     
    Do you want to continue? (y/n) [y]:
    

  4. Enter y to continue if you have the information you need. You see the following prompt:

    Enter the client processor's hostname or press RETURN 
    to quit:
    

  5. Enter the client's host name. In this example, client02. You see a prompt similar to the following:

    The existing environment is /usr/var/adm/ris/ris0.alpha
     
    Select one or more products for the client to install
    from /usr/var/adm/ris/ris0.alpha:
     
    Product    Description
        1    'Tru64 UNIX V5.0A Operating System ( Rev nnn )' w/ 
             'ODB Device Driver Version 1'
        2    'ODB Device Driver Version 1' 
     
    Enter one or more choices as a space-separated list
    (for example, 1 2 3):
    

  6. Enter 1 2 (in this example) to select the products you want the client system to be able to install. This includes the base system that includes kernel support for the ODB device driver as well as the hardware product kit. You see a prompt similar to the following:

    You chose the following products: 
     
       1    'Tru64 UNIX V5.0A Operating System ( Rev nnn )' w/ 
            'ODB Device Driver Version 1' 
       2    'ODB Device Driver Version 1'
     
    Is that correct? (y/n) [y]:
    

  7. Enter y to confirm your selection. You see the following prompt:

    Network type:
            1) Ethernet or FDDI
            2) Token Ring
     
    Enter your choice:
    

  8. Enter the network type. You see the following prompt:

    Enter the client processor's hardware network address.  
    For example, 08-00-2b-02-67-e1: xx-xx-xx-xx-xx-xx
    

  9. Enter the RIS client's hardware network address. You see the RIS Utility Main Menu:

    *** RIS Utility Main Menu ***
     
        a) ADD a client
        d) DELETE software products
        i) INSTALL software products
        l) LIST registered clients
        m) MODIFY a client
        r) REMOVE a client
        s) SHOW software products in remote installation 
           environments
        x) EXIT
     
    Enter your choice:
    

  10. Enter x to exit from the ris utility.

The client system can now boot over the network from the RIS area with the kernel that contains the hardware product subsets. For example:

>>> boot -flag fa boot_device

In the previous example:

The boot procedure installs the kernel from the RIS area and then performs a Full Installation by loading the operating system subsets and the subsets from the hardware product kit.

For more information about RIS, see the guide to Sharing Software on a Local Area Network. For more information about booting a system over the network, see the Installation Guide.