Chapter 3. Creating a Share Tree
Prev |  | Next

## Chapter 3. Creating a Share Tree

To create a new share tree, you run the `/var/boot/share_setup` program to create a share tree configuration file that specifies the requirements of your share tree. To modify a share tree configuration file that already exists, use a text editor. When the configuration file is finished, you run the share tree installation script, `/var/boot/share_inst`, which installs the share tree software based on the specifications that you provided in the configuration file. This process is repeated for each share tree that you plan to run (see Figure 2-5 for an illustration of this process).

This chapter provides the information and procedures that are needed to configure and install a share tree. It contains the following sections:

- “Share Tree Configuration File”

- “Creating a New Share Tree Configuration File”

- “Editing a Share Tree Configuration File”

- “Verifying the Share Tree Configuration File”

- “Installing the Share Tree”

- “share_inst Command”

| Note: To update an existing share tree with a newer software version, use the information in Chapter 5, “Updating Software on Diskless Trees.”

## Share Tree Configuration File

The share tree configuration file contains a list of variables that specify the diskless server and its clients. Specifically, these variables identify the host that will act as the diskless server, the name and location of the share tree, and the hardware components for each client class that the tree supports (see “Influence of Client Classes” for background information).

| Note: Your server should already have a default copy of a share tree configuration file in `/var/boot/share.dat` as a result of installing Diskless software.

To create a new share tree configuration file, you can run the `/var/boot/share_setup` program, or you can create a working copy of the `/var/boot/share.dat` file that was stored on the server during the Diskless software installation process. If you plan to modify an existing share tree configuration file, you must use a text editor to make your changes.

Share tree configuration files are stored in the `/var/boot` directory. This directory contains a separate configuration file for each share tree that it supports. For example, if a server supports three share trees, then the `/var/boot` directory contains three separate share tree configuration files.

By convention, a share tree configuration file is named for the release of IRIX that the tree contains; a `.dat` extension is appended to its name. For example, this file contains configuration information for a share tree of IRIX 6.5 for 32-bit systems:

    /var/boot/IRIX_65-32.dat

| Note: Configuration information for share trees supporting 32-bit and 64-bit versions of the same IRIX release must be stored in separate share tree configuration files.

### Server Variables in the Share Tree Configuration File

Server variables in a share tree configuration file specify the host that will act as the diskless server and whether NIS will provide any client information. Example 3-1 illustrates the server specification section of `share.dat`.

Example 3-1. Server Specification Section of share.dat

    # SERVER ENVIRONMENT SETUP
    #
    #       HOSTNAME  :  Do not change unless you understand network topologies.
    #                    This variable should contain the name of the interface
    #                    that is connected directly to the client machines.
    #                    For example, a server machine “foobar” has two interfaces.
    #                    Its primary interface is FDDI, and its secondary interface
    #                    is ethernet.  The client machines are on an ethernet
    #                    subnet connected to foobar's ethernet interface.  foobar's
    #                    ethernet interface is named “ether-foobar”.  In this
    #                    case, the HOSTNAME variable below needs to be set to
    #                    “ether-foobar” because hostname will return “foobar”.
    #       SHAREHOST :  Do not change
    #       SERVER_NIS : yes - server is running NIS.Implies NIS name lookup
    #                        during installation. Please note that after
    #                        yp_boot_param runs, it takes time for the information
    #                        to propagate back to the diskless server from the
    #                        NIS master. Also, this option is only fully functional
    #                        for SGI NIS masters.
    #                    no -- server is using local naming service.
    #
    HOSTNAME=”`hostname`”
    SHAREHOST=”$HOSTNAME”
    SERVER_NIS=”no”

The variables in the server specification section have these meanings:

HOSTNAME |  | Specifies the hostname of the diskless server. The default setting for HOSTNAME is the value returned by the `hostname` command. In most cases, the default setting is appropriate and should not be changed (see the note that follows for exceptions).
| Note: If your diskless server has multiple network interfaces, HOSTNAME must be set to the name assigned to the network interface where the diskless LAN is attached.
For example, suppose your server has two network interfaces: an FDDI network interface with the hostname calvin, and an Ethernet interface to the diskless LAN with the hostname ether-calvin. In this example, the correct setting is HOSTNAME=”ether-calvin”.
SHAREHOST |  | Specifies the hostname of the server. The default setting is the value specified by the HOSTNAME variable. Do not change this value.
SERVER_NIS |  | Specifies whether to obtain the client's hostname and address from the NIS database. The default setting is no. Set SERVER_NIS to yes if you want `share_inst` to obtain client names, addresses, and filesystem locations from the NIS hosts. When you set SERVER_NIS to yes, `share_inst` makes an entry for this client in the bootparams map on the NIS master server. This assumes that the master server is a Silicon Graphics system.to
| Note: When you use an NIS server, expect some delay before client entries are propagated to other NIS servers.
Set SERVER_NIS to no if you want `share_inst` to obtain client addresses from the server's local `/etc/hosts` file. If you set SERVER_NIS to no, `share_inst` will enter filesystem locations for this client in the local server's `bootparams` file.
| Note: If the NIS master is not a Silicon Graphics system and you want a client entry in the master's NIS bootparams map, set SERVER_NIS to no; then, after you run `share_inst`, move the `bootparams` lines from the diskless server's `/etc/bootparams` file`` to the map on the NIS master.

| Note: Diskless Workstation software installation scripts do not perform name and address resolution by means of DNS. However, DNS is supported after the share and client trees are installed.

### Share Tree Variables in the Share Tree Configuration File

Share tree variables in a share tree configuration file identify the directory that contains the share tree for a given release of IRIX. Example 3-2 illustrates the share tree specification section of `share.dat`.

Example 3-2. Share Tree Specification Section of share.dat

    # SHARE TREE SETUP
    #
    #       DISKLESS  : directory where all the share and client trees reside.
    #       SHARE     : Do not change
    #
    DISKLESS=”/diskless”
    SHARE=”$DISKLESS/share/$RELEASE”
    The variables in the share tree specification section of share.dat have these meanings:

DISKLESS |  | Specifies the pathname to the root of the diskless tree; that is, this directory contains the subdirectories for the share tree, client trees, and swap trees (see Figure 2-2). Set DISKLESS to the pathname of the root of your diskless tree.
| Note: When you execute share_inst, it reads only the first 37 characters of the combined characters in SHARE and DISKLESS, so you might need to limit the character-count of this variable.
SHARE |  | Specifies the pathname to the root of the share tree (see Figure 2-2). The default setting for SHARE ($DISKLESS/share/$RELEASE) specifies the root of the share tree. Do not change this setting. The default setting assigns to $DISKLESS the value that you specified for DISKLESS, the previous variable. This setting assigns to $RELEASE the name of the share tree, which you supply as an argument to the `share_inst` command when installing the share tree (see “Share Tree Installation Procedure”).

### Client Hardware Variables in the Share Tree Configuration File

Client hardware variables in a share tree configuration file specify the architectural components of the client models that the tree supports. These entries determine the hardware-specific files that are included in the share tree. During client tree installation, the hardware specific modules that an individual workstation needs are selected from the share tree and installed into its client tree.

By default, `share_setup` assumes that a share tree supports all client classes listed in Table 2-1. However, to reduce the amount of disk space that the share tree requires, include only the client classes that will use the tree.

Figure 3-1 illustrates the hardware-specific modules that a share tree must contain to build the client trees for four classes.

Figure 3-1. Hardware Modules for Multiple Classes

Example 3-3 illustrates the hardware specification section of `share.dat`.

Example 3-3. Hardware Specification Section of share.dat

    # CLIENT ARCHITECTURE SETUP
    #
    # The following variables are set using the table provided in client.dat.
    # Please consult that file for valid values.
    #
    # It is no longer possible to install a share tree with all possible
    #       architectures. The MODE variable must be set to either
    #       (32bit or 64bit).  This is due to 32bit kernels or 64bit
    #       kernels running on the client.  So a share tree can contain
    #       only 32bit kernels or 64bit kernels, but not both.
    #
    #       To configure a share tree to install 32bit (or 64bit) kernels
    #       in the /usr tree, set the MODE variable to 32bit or 64bit. If a
    #       subset of client classes are to be installed, set all 5 variables
    #       for each class. The example below shows settings for an R4000
    #       Indigo with LIGHT graphics.  (The MACH variable is obsolete.)

    #CPUBOARD=”IP20”
    #CPUARCH=R4000
    #GFXBOARD=”LIGHT -mSUBGR=LG1MC”
    #VIDEO=” ”
    #MODE=” ”
    #
    # To install multiple architectures, set the 5 variables as shown below.
    # Notice that the initial symbols CPUBOARD, CPUARCH, and GFXBOARD are
    # imbedded in the values for the respective variables. The example below
    # contains an R5k O2 with CRIME graphics and an R4k Indy with
    # NEWPORT/NG1 graphics. (The MACH variable is obsolete.)
    #
    #CPUBOARD=”IP20 -mCPUBOARD=IP12”
    #CPUARCH=”R4000 -mCPUARCH=R3000”
    #MACH=”IP20 -mIP12”
    #GFXBOARD=”LIGHT -mSUBGR=LG1MC -mGFXBOARD=EXPRESS -mSUBGR=EXPRESS”
    #VIDEO=” ”

| Note: Use Table 2-1, Example 4-2, or the tables in the `client.dat` file to determine the components in your client workstations. Be sure you include the components of all workstation models that the share tree will support.

The variables in the hardware specification section of `share.dat` have these meanings:

CPUBOARD |  | Specifies the CPU subsystems in client workstations. You can assign these values to CPUBOARD:
    IP20
    IP22
    IP28
    IP30
    IP32
Set CPUBOARD to the values needed by your clients. If your clients include different workstation models, you might need to assign multiple settings to this variable (see Table 2-1 for details). Check the samples in Example 3-3 (or the `client.dat` file) for the correct format of your settings.
CPUARCH |  | Specifies the type of CPU architecture in client workstations. You can assign these values to CPUARCH:
    R4000
    R5000
    R10000
Set CPUARCH to the values needed by your clients. If your clients include different workstation models, you might need to assign multiple settings (see Table 2-1 for details). Check the samples in Example 3-3 (or the `client.dat` file) for the correct format of your settings.
GFXBOARD |  | Specifies the type of graphics subsystems in client workstations. A subgroup designation is also required in this setting. You can assign these values to GFXBOARD:
    LIGHT    -mSUBGR= LG1MC
    EXPRESS  -mSUBGR= EXPRESS
    NEWPRESS -mSUBGR= NEWPRESS
    NEWPORT  -mSUBGR= NG1
    EXPRESS  -mSUBGR= I2_64
    MGRAS    -mSUBGR= I2_64
    MGRAS    -mSUBGR= RACER
    CRIME    -mSUBGR= CRM
Set GFXBOARD to the values needed by your clients. If your clients include different workstation models, you might need to assign multiple settings. Check the samples in Example 3-3 (or the `client.dat` file) for the correct format of your settings.
VIDEO |  | Specifies the video chip. The default setting is null, which indicates a system with no on-board video hardware. You can assign these values to VIDEO:
    VINO
    VICE
MODE |  | Specifies the version of an IRIX release. You can assign these values to MODE:
    32bit
    64bit

## Creating a New Share Tree Configuration File

Use the `/var/boot/share_setup` program to create a separate configuration file for each share tree in your diskless implementation. Remember that a 32-bit and a 64-bit version of a particular IRIX release (such as IRIX 6.5) require separate share trees and therefore separate share tree configuration files.

| Note: If you prefer to use an editor to create this file, or if you need to modify an existing share tree configuration file, use the information in “Editing a Share Tree Configuration File” instead of this procedure.

This procedure explains how to create a new share tree configuration file with `share_setup`.

1. Create the root directory for the diskless tree.

   See “Diskless Filesystems”.

2. Start `share_setup`.

       # cd /var/boot
       # ./share_setup

   After your entry, you see this prompt:

       This program will help you create a share tree configuration file for a single IRIX version. Create a separate share tree configuration file for a 32-bit and a 64-bit version of the same IRIX release.
       Retrieving system information...
       Hostname is hostname
       If you wish to use a different interface name for this host, enter it now (press return if hostname is ok):

3. Press Enter to accept the default interface name or enter a different interface name.

   The `share_setup` program retrieves the name of the primary interface on the host where it is running. If clients are attached to a different interface, enter the other interface name at this prompt. Otherwise, press the Enter key to accept the hostname that `share_setup` retrieved. After you enter the interface name, this prompt is displayed:

       Do you want client boot information stored on hostname (y/n)?

4. Specify whether client boot information should be stored on hostname.

   The `share_setup` program assumes that client names and addresses are stored in the local copy of the `/etc/hosts` file. If client information is stored locally, answer yes. This prompt is displayed after your entry:

       Enter the root directory of the diskless tree (e.g. /diskless):

   Client name and address information and information about client filesystems can be stored on an NIS host in its `/etc/bootparams` file rather than in the local `/etc/hosts` file. If this information is stored on an NIS host, answer no to the previous question. This prompt is displayed after your entry (the `updaters` file allows users on the hostname system to write changes to the NIS database):

       Make sure hostname is listed in the server's /etc/updaters file
       Enter the root directory of the diskless tree (e.g. /diskless):

5. Enter the name of the root directory for the diskless tree.

   See “Diskless Filesystems” if you need help. After your entry, this prompt is displayed:

       Enter the name of the share tree (e.g. IRIX65):

6. Enter the directory name of the share tree.

   Enter only the directory name for the share tree; do not include a pathname in your entry. The `share_setup` program will construct the pathname for you. After your entry, `share_setup` posts the complete pathname of the share tree (`share_dir` in the example below) and prompts for the name of the share tree configuration file:

       Share tree will be installed at /diskless/share/share_dir
       Enter the name of the share tree configuration file (no extension please):

7. Enter the filename for the share tree configuration file.

   After your entry, `share_setup` posts the complete pathname of the share tree configuration file (`/var/boot/myfile.dat` in the example below) and prompts you to press Enter to continue:

       Share tree configuration file will be written at /var/boot/myfile.dat
       Press [Enter] to continue

8. Press Enter to begin specifying the hardware components of your clients.

   After your entry, this prompt is displayed:

       ***CLIENT ARCHITECTURE INFORMATION***
       *** PLEASE READ CAREFULLY ***
       If you are using a 32 bit machine as your diskless server, you can only
       install share trees for 32 bit platforms.  If you have a 64 bit server,
       you can install either a 32 or a 64 bit share tree.
       Do you want to install a share tree for all client platforms (y or n):

9. Answer yes or no to this question.

   If you answer yes, `share_setup` creates a configuration file that contains all the software needed to support all classes of Silicon Graphics clients (see “Client Hardware Variables in the Share Tree Configuration File” for more information).

   If you answer no, `share_setup` props you to specify the hardware components in one class. To include additional classes in the tree, answer yes when you see this prompt:

       Are there more client classes using this share tree (y/n)?

   When you finish specifying the hardware components for all classes, `share_setup` saves the information in the configuration file under the name that you specified in step 7.

10. Verify that your share tree configuration file executes.

    See the information in “Verifying the Share Tree Configuration File” for this step.

## Editing a Share Tree Configuration File

To modify an existing share tree configuration file, you must use a text editor to make your changes. You can also use a text editor instead of `share_setup` to create a new share tree configuration file.

When you install Diskless software on a server, a default version of the configuration file is stored at `/var/boot/share.dat`. If you are creating a new configuration file with a text editor, use a working copy of `share.dat` as the source for the new file. (Do not edit the original version of `share.dat`; make a copy of it and make your changes to the copy.) Some values in the default version of `share.dat`, though not all, must be changed to reflect conditions in your diskless implementation.

Refer to these sections for information on setting variables when you edit a working copy of `share.dat`:

- “Server Variables in the Share Tree Configuration File”

- “Share Tree Variables in the Share Tree Configuration File”

- “Client Hardware Variables in the Share Tree Configuration File”

## Verifying the Share Tree Configuration File

The share tree configuration file is an executable shell script. After you create a new configuration file or edit an existing one, check its syntax by executing it, as shown in this example:

    # sh IRIX_65-32.dat

If a prompt is returned after your entry, the syntax in your configuration file is correct. If you receive any other response, check your entries in the file for syntax errors.

| Note: This command does not check the validity of the settings in a share tree configuration file; it checks file syntax only.

## Installing the Share Tree

To build a share tree, enter the `share_inst` command and the name of the share tree as a command argument. The `share_inst` command automatically calls `inst` to install the software from its installation location. The following example illustrates a `share_inst` command entry. Notice that the `.dat` extension is omitted from the filename of the share tree configuration file:

    # share_inst -r 32-bitIRIX_6.5

See Table 2-2 for a list of subsystems recommended for share tree installations.

| Note: The `nfs.sw.skless_client` subsystem is mandatory.

### share_inst Command

The `share_inst` command launches a share tree installation and also deletes a share tree. Syntax for the `share_inst` command is described below (see the man page `share_inst` for a more complete description).

    share_inst -r release_name [-d]

The arguments to `share_inst` command have the following meaning.

`-r` |  | The flag for the `release_name` argument.
release_name |  | The name of the configuration file (a working copy of share`.dat)` without the `.dat` extension. See “Share Tree Configuration File” for details.
`-d` |  | The flag to delete a share tree.

This example deletes .

    # share_inst -d IRIX_62

### Share Tree Installation Procedure

The procedure below explains how to use `share_inst` to launch a share tree installation. It assumes that you are using Inst, the command line interface to the installation program, but you can use Software Manager, the graphical interface, instead. (See IRIX Admin: Software Installation and Licensing for information on using Inst; see the Personal System Administration Guide for information on using Software Manager.) The location of the installable software source (local CDs, remotely-mounted CDs, or a remote directory) affects steps 3 and 4 of this procedure.

| Note: If you are updating an existing share tree, do not use this procedure; use the procedures in Chapter 5 instead.

1. Start `share_inst` as shown in this example:

       # cd /var/boot
       # ./share_inst -r IRIX_65-32

   This entry directs `share_inst` to read `IRIX_ 65-32.dat` (the working copy of share`.dat`) to build a share tree for 32-bit clients running IRIX 6.5. After it processes your entry, `share_inst` displays a confirmation prompt:

       About to install shared tree at/diskless/share/IRIX_65-32......
       Enter confirmation (y/Y):

   | Note: The pathname of your share tree should match the pathname that appears in this prompt.

2. Enter `y` or `Y` (yes) to confirm the start of installation.

   After your entry, the Inst Main menu is displayed:

       Default location  of new software is <previous installation location>
       If you are a first-time inst user, give the command “help beginner".
       Inst Main Menu
        1. from [source...]          Specify location of software to be installed
        2. open [source...]          Specify additional software locations
        3. close [source]            Close distributions
        4. list [keywords][names]    Display information about software subsystems
        5. go                        Perform software installation and removal now
        6. install [keywords][names] Select subsystems to be installed
        7. remove [keywords][names]  Select subsystems to be removed
        8. keep [keywords][names]    Do not install or remove these subsystems
        9. step [keywords][names]    Enter interactive mode for install/remove/keep
       10. conflicts [choice...]     List or resolve installation conflicts
       11. help [topic]              Get help in general or on a specific word
       12. view ...                  Go to the View Commands Window
       13. admin                     Go to the Administrative Commands Menu
       14. quit                      Terminate software installation

       Inst>

3. Specify the location of your software.

   If you are installing the software locally from a CD, you can accept the default location for the software:

   - Insert the CD in its drive.

   - Press `Return`.

   If you are installing the software from a remote source, specify its location:

   - Enter `from` to select an alternative source

   - Specify the location of the software, as shown in the following examples. These examples show entries that specify a remote directory and remotely mounted CD as the source of the software:

         Inst> from bigsgi:/d2/irix51
         Inst> from bigsgi:/CDROM/dist

   After your entry, `inst` confirms that it will look for the software at the location you specified, then it reads the products available at that location.

4. Insert the next CD, if needed.

   If you have more than one CD to install, enter the `open` command after inserting each additional CD so that its contents can be read:

       open bigsgi:/CDROM/dist

5. Enter `list` to check selected subsystems and space requirements (optional):

       Inst> list
       Computing disk space changes:

   The list option posts the names of software subsystems available from the source; the subsystems that `inst` selects as default installation choices are designated by the letter i. The list option also calculates the disk space needed to install the selected subsystems.

6. Verify that `nfs.sw.dsk_client` is selected for installation.

7. Change the default selections if necessary.

   | Note: See Table 2-2 for a list of subsystems suggested for installation.

   If you want to change the default selections, use the `step i` option to advance through the list of selected subsystems on the source. Use one of these entries for each subsystem that the `step` option posts:

   `Enter` |  | To leave the selection unchanged.
   `r Enter` |  | If it is marked i and you do not want it installed
   `i Enter` |  | If it is not marked i and you want to install it.

   Since it is time consuming to install a share tree, you might want to verify your selections by typing `list` again.

8. Check for conflicts and resolve them, if you have any.

       Inst> conflicts

   Use the messages returned by the `conflicts` command to adjust your selections.

9. Enter `go` to launch the installation.

       Inst> go
       Installing new versions of selected subsystem_name subsystems.

   As it works, `inst` displays messages that identify the subsystems being installed. You see this message when the installation is finished:

       Installation and/or removal succeeded.

       Inst>

10. Enter `quit` to complete the installation:

        Inst> quit
        Running exit commands...

    If there is a problem with the `exports` file (it might be corrupted or in use by another user, for example), you will see a message in your current window and a message is sent to the console. If there is a problem in `exports`, correct the `/etc/exports` file; then run `exportfs` -a manually to correct the problem.

    Allow the `exit` commands several minutes to process.

    | Caution: Do not make any entries that will interrupt processing of the `exit` commands (such as Ctrl+C, for example). Doing so can result in damage to your system.

When processing is complete, the share tree is installed on the server system. To verify the installation, change to the directory for the share tree and list its contents:

    # cd /diskless/share/IRIX_65-32
    # ls
    dev/ lib/ sbin/ var/

Prev | Table of Contents | Next
Chapter 2. Preparing for Installation |  | Chapter 4. Creating Client Trees