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:
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).
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.
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.
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. |
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
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.
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.
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.
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”).
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.
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.
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.
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. |
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.
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 |
| |
/var/boot/share_inst |
| |
/var/boot/share.dat |
| |
/var/boot/client_setup |
| |
/var/boot/client_inst |
| |
/var/boot/client.dat |
| |
/var/boot/clone_client |
|
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.
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.
The installation procedure is always done on the host that will act as the server system. The procedure consists of five basic steps:
Run share_setup to create a share tree configuration file (share.dat).
Run share_inst to install the share tree.
Run client_setup to create a client tree configuration file (client.dat).
Run clone_client to reproduce the client and swap trees for additional clients.
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.
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.