Adding Utilities and Manual Pages
The methodology of the previous section can also be applied to the task of augmenting the client's boot image with tools, utilities, and documentation. Most of the tools to be added to the client's boot image do not require special configuration. In most cases, the utility or tool only needs to be copied into its expected location under $ROOTDIR to be accessible and usable by the client after a boot net - recover. However, it is important to note that device drivers, kernel extensions, and utilities expecting a writable /var/tmp are a special case that is examined in "Files in /var" on page 29.
Adding a Recovery Tool
Let's take Solstice Backup software as an example of adding a recovery tool to a client's boot image. Solstice Backup software installs its client-side utilities in /usr/bin/nsr and /usr/lib/nsr. To provide the client portions of Solstice Backup software to the client's recovery boot image, you need only replicate or relocate the /usr/bin/nsr and /usr/lib/nsr directory hierarchies on the JumpStart server in $ROOTDIR/usr/bin/nsr and $ROOTDIR/usr/lib/nsr, respectively. You accomplish this relocation by using the root-path option (-R) of pkgadd or simply by copying the directory hierarchies from an installed Solstice Backup Client to $ROOTDIR/usr/bin/nsr and $ROOTDIR/usr/lib/nsr.
Adding Device Drivers
As with system services and daemons, the only device drivers provided in the default client's boot image are those device drivers that may be necessary for installing the Solaris OE. Providing the client's recovery boot image with additional device drivers, such as FDDI, ATM, or some other high-bandwidth network driver, can be useful or required in system recovery situations.
Consider the FDDI network interface. The default client's boot image does not provide this device driver. However, many datacenters use a dedicated FDDI network for backups and restores. During a recovery operation, the system administrator would benefit from having the recovery boot image available to access this high-bandwidth network to recover data from the backup server.
In principle, device drivers are added in much the same way that standard files are added to the JumpStart server. Device drivers or kernel extensions are merely copied to $ROOTDIR/kernel/drv. Unfortunately, a device driver may need to modify several other configuration files in order to function properly. The Solaris add_drv command is the mechanism by which the required files can be updated in a controlled fashion. For example, to add the FDDI driver to the recovery boot image, execute the following commands:
server01# ROOTDIR=/jumpstart/OS/Solaris_8_2001-04/Solaris_8/Tools/Boot ; export ROOTDIR server01# cd /kernel/drv server01# cp fddi fddi.conf $ROOTDIR/kernel/drv server01# add_drv -b $ROOTDIR /kernel/drv/fddi
NOTE
Before installation, consult the manufacturer or vendor instructions for all device drivers.
For most drivers, these commands are sufficient for installation into the recovery boot image. However, some device drivers, such as those that create or require entries in /dev upon boot, may require further configuration by hand. Some device drivers may require modifications to files such as these:
$ROOTDIR/etc/devlink.tab
$ROOTDIR/etc/driver_aliases
$ROOTDIR/etc/system
After you configure the drivers by hand, you must then appropriately modify the respective files under $ROOTDIR in order to affect the client's boot image. Consult the installation documentation for the device driver for any specific modifications that may be necessary.
For example, the Veritas Volume Manager (VxVM) product includes the device drivers vxspec, vxio, and vxdmp. In addition to copying these drivers into $ROOTDIR/kernel/drv, you must load these device drivers at boot by adding the following directives to $ROOTDIR/etc/system.
forceload drv/vxdmp forceload drv/vxspec forceload drv/vxio
Additionally, these VxVM device drivers require device entries to be created in /dev according to the specific template in /etc/devlink.tab.