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

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

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

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

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

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

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.