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 check out and change to get ready for the diskless service, and how to organize the server filesystem that will contain diskless software. It also provides an overview of diskless software and the installation procedure.

This chapter contains the following sections:

Obtaining a Software Distribution

The 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 read-only memory (CD-ROM). On some networks, a copy of this software is available from a central distribution point on the network. You can use either source to install diskless software, as long as you use an official software release.

At minimum, your IRIX 5.1 source must include the Silicon Graphics Execution Only Environment products, eoe1 and eoe2; and the NFS product option, nfs. A group of subsystems from each of these products is required to install diskless software.

Checking a Server

Use the questions that follow to check 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 200 megabytes (Mb) of disk space is required for a diskless tree with these characteristics:

  • One share tree of IRIX 5.1 with a minimum software configuration

  • Two client trees with a minimal software configuration

  • Two swap trees, each containing 20 Mb of swap space

Approximately 115 Mb is required for the same configuration, if the share tree contains IRIX 4.0. See “Planning Share Trees” for more specific space planning information.

3. Is the server running the necessary software?

The IRIX version implemented on a server must be equal to or greater than the IRIX version implemented on any share tree that it supports. See the Release Notes shipped with your software for specific compatibility information.

To determine the version of IRIX running on a server, use the uname(1) 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
5.1

Table 2-1 shows the software subsystems that must be installed on a server to support clients using a share tree of IRIX 5.1 and IRIX 4.0.

Table 2-1. Software Requirements on Diskless Servers

Share tree

Product

Subsystems

IRIX 5.1

eoe1

eoe1.sw.lboot

eoe1.sw.lib

eoe1.sw.unix

 

eoe2

eoe2.sw.tcp

 

nfs[a]

nfs.sw.nfs

nfs.sw.nis

nfs.sw.dskless_server

IRIX 4.0

eoe1

All

 

eoe2

Default selections

 

nfs

nfs.sw.nfs

nfs.sw.dskless

[a] If you are installing IRIX 4.X share and client trees, you must also install the nfs.sw.dskless_server_405 subsystem. See the release notes for this product for installation instructions.

4. Is the TFTP environment set up correctly?

Client boot files are transferred from the server by means of TFTP. The server must contain a user account that owns TFTP (see tftp(1C)). By default, the owner of TFTP is guest. If you want a user other than guest to own TFTP, you must modify the file /etc/inetd.conf (see inetd(1M)). 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(1M)).

5. Is an NIS domain name assigned?

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(1) command:

% domainname
my.domain.name

If this command gives 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, issue the command shown in this example 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/ypdomain

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 will either prevent the installation scripts from exporting diskless directories correctly or compromise security on the exported files. Check the server's /etc/exports file to verify that the parent directory of the diskless tree is not listed for export.

7. Is the notation in the host database correct?

The host addresses in /etc/hosts must be given in domain 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. Is the server on the same network as the client?

See the information about this question in “Checking a Client”.

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?

Diskless service cannot be implemented by means of a router; the client and server systems must be on the same physical network (all hosts are connected to the same network cable). The physical network can be segmented by repeaters, however. If you do not have responsibility for cabling computers to the network, see your data communications technicians to determine whether a client and server are on the same physical network. If client and server are not on the same network, one system must be connected to the network of the other to implement diskless service.

The client and server must be members of the same logical network (the network portion of the internet address of the server and clients are the same) or subnetwork, if you are using subnetting. If you are not responsible for assigning internet addresses to hosts on the network, check with the site or network administrator who has this responsibility to verify that client and server network addresses are on the same network. If they are not, request a new address for either the client or server.

2. What hardware components does the client contain?

When you prepare the share tree configuration file, it helps to know model names of your diskless workstations and the designations for the hardware components that the workstations contain. You can use the hinv (1M) command at client workstations to get component information. Make a note of these components if you need to.

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

Table 2-2. Workstation Hardware Components

Model Name

CPU Processor

CPU Board

Graphics Subsystem

Graphics Subgroup

4D/20 and 4D/25

R3000

IP6

ECLIPSE

ECLIPSE

4D/30

R3000

IP12

ECLIPSE

ECLIPSE

4D/30 Elan

R3000

IP12

EXPRESS

EXPRESS

4D/35

R3000

IP12

ECLIPSE

ECLIPSE

4D/35 Elan

R3000

IP12

EXPRESS

EXPRESS

Indigo and Indigo Dual Head

R3000

IP12

LIGHT

LIGHT

Indigo XS and Indigo Elan

R3000

IP12

EXPRESS

EXPRESS

Indigo R4K and
Indigo R4K DH

R4000

IP20

LIGHT

LG1MC

Indigo R4K XS, Indigo R4K, and Indigo Elan

R4000

IP20

EXPRESS

EXPRESS

Indigo2 Extreme and
Indigo2 XZ

R4000

IP22

EXPRESS

EXPRESS

Indigo2 Extreme+XL

R4000

IP22

NEWPRESS

NEWPRESS

Indigo2 XL

R4000

IP22

NEWPORT

NG1

Indy

R4000

IP22

NEWPORT

NG1



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

3. Does the EPROM support diskless operation?

All IP12, IP17, IP19, IP20, and IP22 model workstations contain EPROMs that support the diskless variable, a toggle that must be set to enable diskless operation. However, some early workstation models contain EPROMs that do not support this variable.

Table 2-3 shows EPROM revision levels that support the diskless variable in early models of Silicon Graphics workstations.

Table 2-3. EPROM Revision Requirements

Processor Type

EPROM Required

IP5

Revision 007

IP6

Revision E

IP7

Revision 007

IP9

Revision 007


Checking EPROMs with the version Command

You can determine the version of an EPROM in a client workstation by entering the version command at the Command Monitor prompt, as described in the following procedure.


Note: Early versions of the EPROM do not support the version command. If you are checking a client that does not support version, use the procedure in “Checking EPROMs without the version Command” instead of this procedure.


  1. Do a system shutdown; then power up to the System Maintenance menu.

  2. Select option 5, “Enter Command Monitor,” from the menu.

  3. Enter the version command and check its output:

    >> version 
    

    If you get output like either of the samples below, then the EPROM on this workstation supports diskless operation.

    PROM Monitor Version 3.2 Rev E (followed by date and time)
    PROM Monitor Version 4D-4.0A (followed by time and date)
    


    Note: If you see the following output, this workstation does not support the diskless variable:


    Version 3.3 IP6 (followed by time and date)
    

Refer to the “EPROM Workaround” in Chapter 7 to see whether the workaround is a solution for this workstation.

Checking EPROMs without the version Command

If a client workstation does not support the version command, you can determine whether its EPROM supports diskless operation by setting the diskless variable and checking the success of your setting:

  1. Do a system shutdown; then power up to the System Maintenance menu.

  2. Select option 5, “Enter Command Monitor,” from the menu.

  3. Set the diskless parameter to 1:

    >> setenv diskless 1
    

  4. Type init.

    After your entry, the screen flashes; then the System Maintenance menu reappears.

  5. Select option 5, “Enter Command Monitor,” from the menu.

    Check the setting on the diskless parameter:

    >> printenv 
    

    If the diskless parameter is displayed and it is set to 1, the EPROM supports the diskless variable.


Note: If a workstation you plan to use as a client does not support the diskless variable, see “EPROM Workaround” in Chapter 7 for recommendations, or call your support provider to request an EPROM upgrade.


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 service.

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 Advanced Site and Server Administration Guide — 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.

The Diskless Filesystem

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 /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 adjust the variable settings in the share.dat file (see DISKLESS and SHARE descriptions in “Setting Share Tree Variables” in Chapter 3) and client.dat file (see CLROOT and SWAP descriptions in “Setting Client and Swap Tree Variables” in Chapter 4).

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


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; plan to mount them as NFS directories from a server where they are already installed.

Table 2-4 provides an estimate of the disk space required to install a share tree for a class of Indigo2 clients.

Table 2-4. Space Approximations for a Basic Share Tree

Software Product

Subsystems Installed

Space Needed

IRIX Execution Only Environments (eoe1 and eoe2)

All default selections except manuals

90 Mb

NFS (nfs)

nfs.sw.nfs

nfs.sw.nis

nfs.sw.dskless_client

13 Mb

Default Window Manager (4Dwm)

All default selections except manuals

3 Mb

Desktop Environment (desktop_eoe)

All default selections except manuals

8 Mb

Motif™ (motif_eoe)

All default selections except manuals

3 Mb

X Window System™ (x_eoe)

All default selections except manuals

29 Mb

Total Requirement

 

146 Mb

The share tree in Figure 2-2 offers basic diskless functions and a windowing environment on the client workstations. 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 4 megabytes of disk space. However, since the client tree allows read/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.

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 20 Mb. But swap space size is a configurable variable that you can set during the installation procedure 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 two installation utilities and two configuration files. This software sets up the share tree, client trees, and swap trees for a diskless implementation:

/var/boot/share_inst 


The program that creates a share tree using information in the share tree configuration file.

/var/boot/share.dat 


The generic 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.

/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 generic 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 contains a working copy of client.dat for each group of client workstations that contain the same hardware components.

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. Once inst is invoked, 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.

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. Edit a working copy of share.dat to describe the server setup.

  2. Run share_inst to install the share tree.

  3. Edit a working copy of client.dat to describe the client tree for a class of workstations.

  4. For each client, run client_inst to install its client and swap tree.


    Note: To save time on step 4, you can use a client_inst option called cloning, which builds client and swap trees without invoking inst (see Chapter 4 for details).


  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. If you are installing multiple IRIX releases, you need to repeat the entire procedure for each IRIX version that you install.

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, since 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