Chapter 2. Preparing for Installation
Prev |  | Next

## Chapter 2. Preparing for Installation

This chapter explains what to do to prepare for diskless software installation. It describes what to have on hand for the installation, what to evaluate and change to get ready for the diskless service, and how to organize the server filesystem that will contain the diskless software. It also provides an overview of diskless software and the installation procedure.

This chapter contains the following sections:

- “Obtaining a Software Distribution”

- “Checking a Server”

- “Checking a Client”

- “Assigning Internet Addresses”

- “Planning the Diskless Tree”

- “Working With Diskless Software”

- “Overview of the Installation Procedure”

- “Motif 2.1 Support”

## Obtaining a Software Distribution

Share trees, client trees, and swap trees should be created from an official release of Silicon Graphics software. Silicon Graphics software is originally distributed on compact disc with read-only memory (CD-ROM). On some networks, a copy of this software is available from a central distribution source on the network. You can use either source to install diskless software, as long as you use an official software release.

At minimum, the IRIX 6.5 source must include the Silicon Graphics Execution Only Environment product (`eoe`) and its supporting software, and the NFS product option, `nfs`. A group of subsystems from each of these products is required to install diskless software (see Table 2-2 for details).

## Checking a Server

Use the questions that follow to evaluate the suitability of a server on which you plan to install the diskless tree. If you determine that any procedure described in this section is necessary, complete the procedure before you begin diskless installation.

1. Is the server reliable?

The ideal choice for a diskless server is a network host that is able to provide uninterrupted service to its clients for extended periods of time. Hosts that are subject to frequent shutdowns, such as laboratory systems, those used for software builds, or hosts subject to interruptions in service, are not likely to prove satisfactory as diskless servers.

2. Does the server have ample disk space?

On average, approximately 1 gigabyte (GB) of disk space is required for a diskless tree with these characteristics:

- One share tree of IRIX 6.5 with a minimum software configuration (see Table 2-2)

- Five client trees with a minimal software configuration

- Five swap trees, each containing 64 megabytes (MB) of swap space

3. Is the server running the necessary software?

The IRIX version implemented on a server must be the same as or more recent than the IRIX version of any share tree that it supports. In addition, a server running 32-bit IRIX cannot support share trees of 64-bit IRIX. See the release notes shipped with your software for more specific compatibility information.

To determine the version of IRIX running on a server, use the `uname` command with the release option (`-r`), as shown in the following example. Do not install a share tree with a higher revision level than appears in the output from this command:

    % uname -r
    6.5

You should also verify that the host acting as the diskless server is running nfs.sw.diskless_server, the software subsystem that supports the diskless server function. To verify, enter the `versions` command and look for the diskless server subsystem in the command bitoutput, as shown in this example:

    % versions nfs
    I  nfs.sw.dskless_server  08/18/97  Diskless Server Support

4. Is the TFTP environment set up correctly?

Client boot files are transferred from the server by means of the trivial file transfer protocol (TFTP). The server must contain a user account that owns TFTP (see the `tftp` reference page). By default, the owner of TFTP is guest. If you want a user other than guest to own TFTP (for security reasons, for example), you must modify the file`/etc/inetd.conf` to specify a different owner (see the `inetd` reference page). If you plan to install software by downloading it from a remote host, be sure that TFTP security is correctly configured on the remote system (see `tftpd`).

5. Is an NIS domain name assigned to the server?

To support diskless clients, a server must have an NIS domain name, whether or not it is running the network information service (NIS). To determine whether a server has an NIS domain name, use the `domainname` command:

    % domainname
    my.domain.name

If this command returns no output, the server has no NIS domain name. It must be assigned a domain name (even a fictitious one) for diskless software to operate correctly. To set a domain name, enter this command as the superuser:

    # domainname fakedomain

If you would like the domain name to be set automatically when the server is rebooted, issue this command:

#`domainname > /var/yp/`fakedomain

6. Are there NFS export conflicts?

Be sure that the parent directory of your diskless tree is not listed as an NFS export. This condition causes NFS conflicts, which prevents the installation scripts from exporting diskless directories correctly and can also compromise security on the exported files. For example, if the diskless tree is installed in the directory `/usr/diskless`, the `/usr` directory should not be exported. To check for export conflicts, examine the server's `/etc/exports` file. If the parent directory of the diskless tree is listed, adjust the NFS configuration before implementing the diskless server.

7. Is the notation in the host database correct?

Client hostnames must be listed in the server's `/etc/hosts` in dot notation (see `hosts`(4)). For example, your entries in `hosts` should look something like this:

    192.0.2.5 starlite.fakedomain.com starlite

8. Can BOOTP requests from clients reach the server?

If the server is on a different network from any of its clients, BOOTP forwarding must be enabled on the routers between the networks. See question 1 in the “Checking a Client” for details.

9. Is bootparams enabled on the server?

If the bootparams argument commented out in the `inetd.conf` file, it prevents the server from responding to client requests for boot information. Remove the comment character (#) to set bootparams on.

## Checking a Client

Use the questions below to check the suitability of a client for diskless operation. Some changes that might be required as a result of this checkout are changes you can make yourself; others might require additional members of your technical team. Any changes indicated by this check must be made before you begin diskless installation.

1. Is the client on the same network as the server?

Client systems initially request critical information from the server using the Internet Bootstrap Protocol (BOOTP). If a client is and its server are located on different networks, the routers connecting the networks must be configured to perform BOOTP forwarding (see the `bootp(1M)` reference page for details). If you do not have responsibility for configuring network routers, contact your network administrator about this router configuration requirement.

2. What hardware components does the client contain?

When you prepare the share tree configuration file, it helps to know the model names of your diskless workstations and the designations for the hardware components that the workstations contain. You can use the `hinv` command at client workstations to get component information. Make a list of these components to help you during the procedures in Chapter 3.

Table 2-1 shows the components of Silicon Graphics workstation models.

Table 2-1. Workstation Hardware Components

Model Name | CPU Processor | CPU Board | Graphics Subsystem | Graphics Subgroup | Video Component
--- | --- | --- | --- | --- | ---
Indigo | R4000® | IP20 | LIGHT | LG1MC | None
Indigo Elan | R4000 | IP20 | EXPRESS | EXPRESS | None
Indigo2 XZ | R4000 | IP22 | EXPRESS | EXPRESS | None
Indigo2 Extreme | R4000 | IP22 | NEWPRESS | NEWPRESS | None
Indigo2 XL | R4000 | IP22 | NEWPORT | NG1 | None
Indigo 2 IMPACT | R4000 | IP22 | MGRAS | MGRAS | None
Indy | R4000 | IP22 | NEWPORT | NG1 | VINO
Indy R5000 | R5000 | IP22 | NEPORT | NEWTON | VINO
Power Indigo2 | R10000 | IP28 | EXPRESS | I2_64 | None
Power Indigo2 IMPACT | R10000 | IP28 | MGRAS | I2_64 | None
Octane | R10000 | IP30 | MGRAS | RACER | None
O2 | R5000 | IP32 | CRIME | CRM | VICE
O2 | R10000 | IP32 | CRIME | CRM | VICE

| Note: Additional information about workstation architecture is provided in the`/var/boot/client.dat` file and in Chapter 4 of this guide.

## Assigning Internet Addresses

Every client in a diskless implementation must be assigned a unique Internet address so that it can be recognized as a network host. On some networks, the addresses of hosts with which a server communicates (including its diskless clients) are maintained in the server's `/etc/hosts` file. On networks using NIS or DNS services, diskless server and client entries must be added to the database used by these services.

If you are not the administrator for these services, advise the appropriate person to make the necessary entries for your diskless hosts. If you plan to assign Internet addresses yourself and need more information, see the instructions for adding hosts to a network in one of these Silicon Graphics publications:

- IRIX Admin: Networking and Mail for networks using `/etc/hosts` and DNS

- NIS Administration Guide for networks using NIS

## Planning the Diskless Tree

The diskless tree is implemented as server directories that contain a share tree, client trees, and swap trees for each release of IRIX that a server supports. When these directories are well organized, diskless software is easier to install and maintain than when directories are organized in a random fashion. The directory organization scheme in this section can serve as a guide to organizing your own diskless tree.

### Diskless Filesystems

If possible, a diskless tree should be contained in its own filesystem; for large installations, an entire disk might be dedicated to the diskless tree. Using a dedicated filesystem makes administering NFS software easier. If the diskless tree is not in its own filesystem, the parent directory of the diskless tree should not be listed in the server's `/etc/exports` file (see “Checking a Server” for details).

Figure 2-1 shows the organization and naming of the first- and second-level directories of a filesystem for the diskless tree.

Figure 2-1. Level 1 and 2 Directories in the Diskless Trees

The top directory of the diskless tree, `/diskless` in Figure 2-1, is referred to as the `root` of the diskless tree. Similarly, `/diskless/share`, `/diskless/client`, and `/diskless/swap` are considered the root of the share, client, and swap trees, respectively.

### Using Multiple Filesystems

It is possible to distribute elements of the diskless tree across multiple filesystems. To use more than one filesystem for a diskless tree, you simply specify the complete pathnames for the share tree, client tree, and swap location when you generate diskless configuration files (see DISKLESS and SHARE descriptions in “Share Tree Variables in the Share Tree Configuration File” and see CLROOT and SWAP descriptions in “Client and Swap Tree Variables”).

### Planning Share Trees

The root directory for share trees, `/diskless/share` in Figure 2-1, contains a share tree for each release of IRIX that the server supports. Each share tree contains the files normally located in the`/usr`, `/sbin`, `/lib`, and `/stand` directories on a standalone workstation.

Figure 2-2 illustrates the directory structure and typical contents of a share tree.

Figure 2-2. Typical Share Tree Contents

A share tree of IRIX 6.5 that supports clients with a minimum software configuration and the IRIX desktop requires approximate 300 megabytes of disk space. However, the subsystems that you install in a share tree greatly influence disk space requirements. To save space on the server, do not include applications in the share tree; instead, mount the applications from other NFS servers where they are already installed.

| Note: If you plan to mount NFS directories from a server other than the diskless server, you must edit the automatically generated copy of `/etc/fstab` (describe in “Automatic File Updates”) to contain these entries.

Table 2-2 provides a list of the required subsystems for an IRIX 6.5 share tree and the size and description of each subsystem.

Table 2-2. Space Requirements for a Basic Share Tree

Subsystem Name | Size | Description
--- | --- | ---
4Dwm.man.4Dwm | 40 | Desktop Window Manager Man Pages
4Dwm.sw.4Dwm | 704 | Desktop Window Manager
ViewKit_eoe.sw.base | 4156 | ViewKit Execution Environment, 1.5.0
c++_eoe.sw.lib | 1084 | Standard Execution Libraries (C++)
compiler_eoe.man.dso | 88 | IRIX DSO Man Pages (Base Compiler)
compiler_eoe.man.unix | 28 | IRIX Standard Man Pages (Base Compiler)
compiler_eoe.sw.cpp | 480 | Source Code Preprocessor (Base Compiler)
compiler_eoe.sw.lboot | 21328 | Kernel lboot Software (Base Compiler)
compiler_eoe.sw.lib | 5360 | Base Execution Libraries
compiler_eoe.sw.unix | 3476 | IRIX Execution Environment (Base Compilers)
desktop_base.man.base | 40 | Desktop Base Man Pages
desktop_base.sw.FileTypingRules | 3676 | Desktop Filetype Rules
desktop_base.sw.dso | 2976 | Desktop Shared Libraries
desktop_base.sw.ftrdso6_2 | 300 | Desktop 6.2 Icon Libraries (32-bit)
desktop_base.sw.utilities | 44 | Desktop Utilities
dmedia_eoe.data.movies | 836 | Sample Movie Files
dmedia_eoe.data.soundscheme | 2584 | Desktop Sound Files
dmedia_eoe.man.pages | 572 | Digital Media Manual Pages
dmedia_eoe.sw.audio | 1132 | Audio System Components
dmedia_eoe.sw.base | 4344 | Digital Media System Components
dmedia_eoe.sw.lib | 27252 | Digital Media Execution Libraries
dmedia_eoe.sw.plugins | 10128 | Digital Media Plug-ins
eoe.man.base | 6816 | Basic IRIX Man Pages
eoe.man.gifts_perl | 2220 | Perl Man Pages
eoe.man.gltools | 80 | Graphics Library Tools Man Pages
eoe.sw.base | 58504 | IRIX Base Execution Environment
eoe.sw.cdrom | 424 | CD-ROM Filesystem and CD Audio Support
eoe.sw.cpr | 1704 | SGI Checkpoint-Restart Software
eoe.sw.dlpi | 236 | Data Link Provider Interface
eoe.sw.efs | 732 | EFS Filesystem
eoe.sw.gfx | 20852 | Graphics Execution Environment
eoe.sw.gifts_perl | 1628 | Perl Software
eoe.sw.gifts_perl_lib | 5016 | Perl Libraries
eoe.sw.gltools | 1044 | Graphics Library Tools
eoe.sw.perf | 1476 | Performance Measurement Utilities
eoe.sw.rm_media | 576 | Removable Media Software
eoe.sw.termbase | 200 | Base (required) Terminal Information Files
eoe.sw.usrshare | 436 | Miscellaneous shared text/help/data files
ftn_eoe.sw.lib | 15464 | Standard Execution Libraries (N32bit)
insight_base.man.man | 4 | InSight Online Doc Viewer Man Pages, 3.1
insight_base.sw.base | 0 | InSight Online Doc Viewer Base Software, 3.1
insight_base.sw.eoe | 20512 | InSight Online Doc Viewer Base Software, 3.1
motif_eoe.man.eoe | 152 | IRIX IM EOE Manual (SGI port of OSF/Motif 1.2.4)
motif_eoe.sw.eoe | 8948 | IRIX IM Run-time Software (based on OSF/Motif 1.2.4)
tooltalk_eoe.man.links | 0 | ToolTalk man links
tooltalk_eoe.man.manpages | 40 | ToolTalk man pages
tooltalk_eoe.sw.links | 0 | ToolTalk sw links
tooltalk_eoe.sw.runtime | 2652 | ToolTalk runtime
tooltalk_eoe.sw32.links | 0 | ToolTalk N32 sw links
tooltalk_eoe.sw32.runtime | 2308 | ToolTalk N32 runtime
websupport_eoe.sw.lib | 2264 | WebSupport eoe 1.3, o32 ABI
websupport_eoe.sw32.lib | 1760 | WebSupport eoe 1.3, n32 ABI
x_eoe.man.Server | 92 | X11 Server Manual Pages
x_eoe.man.Xapps | 340 | X11 Applications Manual Pages
x_eoe.man.eoe | 596 | X11 Execution Environment Manual Pages
x_eoe.sw.Server | 7276 | X11 Window Server and Font Server
x_eoe.sw.Xapps | 2172 | X11 Applications
x_eoe.sw.Xfonts | 9396 | X11 Standard Fonts
x_eoe.sw.eoe | 15532 | X11 Execution Environment
nfs.man.nfs | 292 | NFS Support Manual Pages
nfs.sw.dskless_client | 2508 | Diskless Client Support
nfs.sw.nfs | 1112 | NFS Support
nfs.sw.nis | 380 | NIS (formerly Yellow Pages) Support

If you need additional space-requirement information, see the space requirements listed in the release notes that accompany the software you plan to install.

### Planning Client Trees

The root directory for client trees, `/diskless/client` in Figure 2-1, contains a directory for each client that it supports. Each client tree contains the files normally located in the root (/) directory on a standalone workstation.

Figure 2-3 illustrates the organization of client tree directories and the typical contents of a client tree.

Figure 2-3. Typical Client Tree Organization and Contents

A newly installed client tree requires approximately 30 megabytes of disk space. However, because the client tree allows read and write access, space requirements may increase as a result of usage patterns on the client. This increase should be considered in your planning.

To save disk space and simplify software maintenance on the diskless server, mount `/usr/people` and `/var/tmp` from a different NFS server. This configuration makes it easier to upgrade system software and relocate user files when these changes become necessary.

| Note: If you plan to mount NFS directories from a server other than the diskless server, you must edit the automatically generated copy of `/etc/fstab` (describe in “Automatic File Updates”) to contain these entries.

### Planning Swap Trees

The root directory for swap trees, `/diskless/swap` in Figure 2-1, contains a swap tree for each client that it supports. The swap tree for an individual client is a directory containing a raw data file that provides swap space for virtual memory functions. By default, the size of the swap set up during diskless installation is 64 megabytes. But swap space size is a configurable variable that you can set during a client tree installation and change after the swap tree is installed.

To determine the amount of swap space to allocate, consider the application requirements of your users. In cases where they do not require much disk space—when electronic mail and news readers are the principal applications, for example—you might consider reducing swap space to 10 megabytes. In cases where swap space usage is heavy—when users run compute-intensive applications, for example—consider increasing the default swap space size or adding a local swap disk to the client workstation (see Chapter 6 for details).

Figure 2-4 illustrates the organization of swap tree directories.

Figure 2-4. Typical Swap Tree Organization

## Working With Diskless Software

Diskless software consists of installation utilities and configuration files that set up the share tree, client trees, and swap trees for a diskless implementation:

`/var/boot/share_ setup` |  | The program that you use to create a new share tree configuration file.
`/var/boot/share_inst` |  | The program that creates a share tree using information in the share tree configuration file.
`/var/boot/share.dat` |  | The default share tree configuration file that defines the location and contents of the share tree and specifies server variables that affect share tree installation. The server contains a separate working copy of `share.dat` for each version of IRIX that the server supports. A working copy of this file is created automatically when you run `share_ setup`.
`/var/boot/client_setup` |  | The program that you use to create a new client tree configuration file.
`/var/boot/client_inst` |  | The program that creates individual client trees and swap trees using information in the client tree configuration file, the share tree configuration file, and information that the installer provides when starting the program.
`/var/boot/client.dat` |  | The default client tree configuration file that defines the location and contents of individual client trees. It also defines the location and size of the swap tree for each client. The server must contain a working copy of `client.dat` for each class of client workstations (see “Influence of Client Classes”). A working copy of this file is created automatically when you run `client_setup`.
`/var/boot/clone_client` |  | The program that reproduces client trees after one client tree is created. This program creates one or more cloned client trees from an existing client tree or from a share tree. A cloned tree supports clients of the same class as that supported by the original tree. For example, if an existing O2 client tree is cloned, the cloned tree cannot be used for Indy clients.

### Using inst to Install a Diskless Tree

Both `share_inst` and `client_inst` invoke `inst` (the standard Silicon Graphics installation program) to install or upgrade the share and client trees. You can use either user interface to `inst`: Software Manager, the graphical interface; or Inst, the command line interface. Once `inst` is invoked from either interface, you use it in the same way as you do to install software on standalone systems. When you install a client tree, `inst` automatically uses the software installed on the share tree as the software source.

### Automatic File Updates

As part of the installation process, `share_inst` and `client_inst` automatically edit the server's `/etc/exports` file, making the share tree, client trees, and swap trees available to diskless clients. These programs also automatically create a copy of the `/etc/fstab` file in the client tree to add entries that mount the required directories from the server. Finally, `share_inst` and `client_inst` automatically edit the`/etc/bootparams` file on the local host or the NIS master server if you are running NIS. The `bootparams` file specifies the names of diskless clients and the information needed to boot them to.

## Overview of the Installation Procedure

The installation procedure is always done on the host that will act as the server system. The procedure consists of five basic steps:

1. Run `share_setup` to create a share tree configuration file (`share.dat)`.

2. Run `share_inst` to install the share tree.

3. Run `client_setup` to create a client tree configuration file (`client.dat).`

4. Run `clone_client` to reproduce the client and swap trees for additional clients.

5. Boot each client and verify the installation.

If you have more than one client class, you need to repeat steps 3, 4, and 5 for each class that is being installed (see “Influence of Client Classes”). If you are installing multiple IRIX releases, you need to repeat the entire procedure for each IRIX version that you install (remember that 32-bit and 64-bit versions of the same IRIX release are considered two separate operating systems in a diskless implementation).

Figure 2-5 illustrates the flow of tasks in the installation process. Notice that the share tree is always installed before any of its client trees. This order is critical, because client trees are built from software contained in the share tree. The swap tree for a client is automatically built at the same time as its client tree.

Figure 2-5. Flow Diagram of Installation Tasks

## Motif 2.1 Support

The latest version of Diskless Workstation includes support for Motif 2.1. Approximately 5 MB is required to hold Motif 2.1 libaries.

When you install the latest version of Diskless Workstation, a script called mksymlinks runs automatically to set up the default Moitf development environment. For more information, see the mksymlinks man page.

Prev | Table of Contents | Next
Chapter 1. Understanding Diskless Operation |  | Chapter 3. Creating a Share Tree