InformIT

Performing Network Solaris Installations Without a Local Boot Server

Date: Aug 13, 2004

Article is provided courtesy of Prentice Hall Professional.

Return to the article

In some instances, it might be necessary or advantageous to boot an installation client from local boot media, such as a CD or DVD, but have the Solaris product installed from a JumpStart (or installation) server. This article describes the system startup and installation processes for the Solaris Operating System and explains how to modify them to change the location from which the Solaris product is installed.

In some instances, it might be necessary or advantageous to boot an installation client from local boot media, such as a CD or DVD, but have the Solaris™ Operating System (Solaris OS) distribution installed from a JumpStart™ (or installation) server. However, the rcS startup script found on the Solaris OS installation media is written such that the Solaris product is installed from the boot media. For example, if the installation client is booted off the network, the Solaris OS product directory is nfs mounted. If the installation client is booted from a CD-ROM, the Solaris OS product directory is mounted from the CD.

This article explains how to change the boot media rcS script to circumvent this behavior. This requires you to create a bootable CD using the customized startup script. You can use the procedure described in this article to perform a Solaris OS installation from a remote (network-based) install server without the use of a local boot or DHCP server.

This article describes the system startup and installation processes and explains how to modify them to change the location from which the Solaris product is installed. (On the installation CD or DVD, the directory Solaris_9/Product contains the Solaris product on slice 1.) This article assumes that you are familiar with the concepts of a JumpStart installation and contains the following sections:

NOTE

The techniques presented in this article are not supported and can be used to produce configurations that are not supported by Sun Enterprise™ Services. However, this should not detract from their value.

High-Level Overview of the System Startup Process

The system startup process is a series of shell scripts executed by init. The purpose of the process is to bring the system to a state that can be used for installation, maintenance, or multiuser system use. The system boot is initiated from the OpenBoot™ PROM (OBP), and any boot command parameters or arguments are passed to the kernel. Because the kernel only processes arguments it recognizes, any non-kernel arguments are ignored by the kernel and passed along to init. To prevent confusion, kernel switches and arguments are separated by a lone dash, which is why the space following the minus character (-) is crucial in the command boot net - install.

In turn, init passes all arguments to the scripts that it calls. FIGURE 1 shows an overview of the startup process.

Figure 1FIGURE 1 Overview of the Startup Process




Overview of JumpStart Server Components

The JumpStart framework is a client/server architecture with a number of server components that provide services throughout the installation process. The following table describes the high level components of a JumpStart system.

TABLE 1 JumpStart Server Components

Install Client

The target system to be installed or upgraded.

Boot Server

The network entity which provides a fail-safe OS to the installing client. The boot image is architecture neutral providing base OS services to all hardware supported by that OS release.

Configuration Server

Helps the client determine its unique profile. Partition sizes, the list of software to install, begin and finish scripts, etc. are all specified in a profile served by the configuration server.

Install Server

The source of the software packages which are to be installed on the client.


In practice, all three JumpStart servers are often located on the same physical host, but this is not a requirement.

Booting a client over the network is initiated when that client broadcasts a RARP request. Being an IP broadcast request, it is not typically forwarded beyond subnet boundaries. A server responding to this request, maps the client's MAC address to an IP and hostname, returning this data to the client. The booting client is now aware of two IP addresses: its own, and that of a RARP server. In order to simplify the network booting algorithm, the client assumes that any server which responds to the RARP request is also capable of responding to subsequent requests for data. As such, the RARP server is now declared the server for kernel delivery and boot parameter requests.

A system which provides all three services (RARP, TFTP, bootparam) is referred to as the boot server. The miniroot kernel is read from the boot server via TFTP. Once initially loaded to the client, the kernel will mount its root file system and begin processing with init, just as it would if booted from a disk. A similar procedure is used when using DHCP and a BOOTP relay for locating the installation client configuration information.

Even though the configuration and installation servers might be on separate hosts, on non-local subnets, it is important to note that the bootserver must be on the same subnet as the installation client. This requirement is due to the fact that RARP requests are not forwarded across subnet boundaries. It is because of this limitation on RARP requests that the JumpStart framework requires a bootserver (or a BOOTP relay if using DHCP) on the same subnet as the installation client.

The procedure described in this article provides a method to boot the installation client from a local CD or DVD-ROM and then use a configuration and installation server from the network.

Modifying the Installation Startup Script

Consider a scenario in which the install client must be booted from a local CD-ROM, however, you want to use a standardized JumpStart installation from an existing JumpStart server. To achieve this behavior, perform the following tasks:

  1. Copy the rcS script from the CD.

  2. The rcS script is located in the sbin directory of slice 1 of the Solaris Software 1 of 2 CD. Copy this file to a work area or /var/tmp to edit the file.

  3. Make the necessary modifications to the rcS script.

  4. The location of the Solaris distribution is based on the value of two variables, Installtype and Network. Installtype specifies the type of media the product is on, such as High Sierra File System (hsfs) or nfs. Network is a boolean value that specifies that the install client is networked. The rcS script uses a switch statement to set the values of these variables based on the media from which it was booted.

    To boot from a local CD-ROM and to locate the Solaris distribution from an nfs mounted file system, you must only change the setting of the Installtype and Network variables. For the rcS in slice 1 of the Solaris 9 12/03 CD, replace line 683 with two lines. Line 683 appears as follows.

    Installtype=hsfs

    Replace the preceding line with the following two lines.

    Network="yes"
    Installtype=nfs
  5. Create a bootable CD that contains the modified rcS script.

  6. Use the lofiadm command to copy the modified rcS to the slice 1 image and burn a bootable CD. This procedure is described in an article about the topic (available from: http://www.sun.com/blueprints/0802/816-7587-10.pdf), which is an excerpt from the Sun BluePrints book JumpStartTM Technology: Effective Use in the SolarisTM Operating Environment, by John S. Howard and Alex Noordergraaf (ISBN 0-13-062154-4).

Using the Modified System Startup Procedure

Boot off of the CD that contains the modified rcS as you would normally boot the system.

{1} boot cdrom - install

The install client boots from the CD, finds the profile and sysidcfg files on the JumpStart server, and mounts the product directory from the JumpStart server and the Solaris 9 OS is installed as specified in the profile.

About the Author

John S. Howard is a Senior Staff Engineer with Sun's Reference Architecture Engineering group. He has over 20 years of experience in software engineering and systems administration on a diversity of platforms. John is currently designing data center architectures as well as products and tools to deploy and manage integrated software stacks.

John is the author of numerous technical papers and co-author of the books JumpStart Technology: Effective Use in the Solaris™ Operating Environment and Boot Disk Management: A Guide for the Solaris™ Operating Environment.

Ordering Sun Documents

The SunDocsSM program provides more than 250 manuals from Sun Microsystems, Inc. If you live in the United States, Canada, Europe, or Japan, you can purchase documentation sets or individual manuals through this program.

Accessing Sun Documentation Online

The docs.sun.com web site enables you to access Sun technical documentation online. You can browse the docs.sun.com archive or search for a specific book title or subject. The URL is http://docs.sun.com/

To reference Sun BluePrints OnLine articles, visit the Sun BluePrints OnLine Web site at: http://www.sun.com/blueprints/online.html

800 East 96th Street, Indianapolis, Indiana 46240