Solaris DHCP Administration Guide

Supporting Solaris Network Booting and Installation with the DHCP Service

You can use DHCP to install the Solaris operating environment on certain client systems on your network. Only Sun Enterprise Ultra systems and Intel systems that meet the hardware requirements for running the Solaris operating environment can use this feature.

For information about supporting diskless clients, see Supporting Remote Boot and Diskless Boot Clients.

The following task map shows the high-level tasks that must be performed to enable clients to obtain installation parameters using DHCP.

Table 4–10 DHCP Network Installation Task Map

Task 

Description 

Where to Find Instructions 

Set up an install server. 

Set up a Solaris server to support clients that want to install the Solaris operating environment from the network. 

“Preparing to Install Solaris Software From the Network” in Solaris 8 Advanced Installation Guide

Set up client systems for Solaris installation over the network using DHCP. 

Use add_install_client -d to add DHCP network installation support for a class of client (such as those of a certain machine type) or a particular client ID.

“Preparing to Install Solaris Software From the Network” in Solaris 8 Advanced Installation Guide

add_install_client(1M)

Create DHCP options for installation parameters and macros that include the options. 

Use DHCP Manager or dhtadm to create new Vendor options and macros which the DHCP server can use to pass installation information to the clients.

Creating DHCP Options and Macros for Solaris Installation Parameters

Creating DHCP Options and Macros for Solaris Installation Parameters

When you add clients with the add_install_client -d script on the install server, the script reports DHCP configuration information to standard output. This information can be used when you create the options and macros needed to pass network installation information to clients.

To support clients that require Solaris installation from the network, you must create Vendor category options to pass information that is needed to correctly install the Solaris operating environment. The following table shows the options you must create and the properties needed to create them.

Table 4–11 Values for Creating Vendor Category Options for Solaris Clients

Name 

Code 

Data Type 

Granularity 

Maximum 

Vendor Client Classes * 

Description 

SrootOpt

ASCII text 

SUNW.Ultra–1, SUNW.Ultra-30, SUNW.i86pc

NFS mount options for the client's root file system 

SrootIP4

IP address 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

IP address of root server 

SrootNM

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Host name of root server 

SrootPTH

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Path to the client's root directory on the root server 

SswapIP4

IP address 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

IP address of swap server 

SswapPTH

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Path to the client's swap file on the swap server 

SbootFIL

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Path to the client's boot file 

Stz

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Time zone for client 

SbootRS

NUMBER 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

NFS read size used by standalone boot program when it loads the kernel 

SinstIP4

10 

IP address 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

IP address of Jumpstart Install server 

SinstNM

11 

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Host name of install server 

SinstPTH

12 

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Path to installation image on install server 

SsysidCF

13 

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Path to sysidcfg file, in the format server:/path

SjumpsCF

14 

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Path to JumpStart configuration file in the format server:/path

Sterm

15 

ASCII text 

SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc

Terminal type  

* The vendor client classes determine what classes of client can use the option. Vendor client classes listed here are suggestions only. You should specify client classes that indicate the actual clients in your network that need to install from the network. See Table 4–9 for information about how to determine a client's vendor client class.

When you have created the options, you can create macros that include those options. The following table lists suggested macros you can create to support Solaris installation for clients.

Table 4–12 Suggested Macros to Support Network Installation Clients

Macro Name 

Contains These Options and Macros 

Solaris

SrootIP4, SrootNM, SinstIP4, SinstNM, Sterm

sparc

SrootPTH, SinstPTH

sun4u

Solaris and sparc macros

i86pc

Solaris macro, SrootPTH, SinstPTH, SbootFIL

SUNW.i86pc *

i86pc macro

SUNW.Ultra-1 *

sun4u macro, SbootFIL

SUNW.Ultra-30 *

sun4u macro, SbootFIL macro

xxx.xxx.xxx.xxx (network address macros)

BootSrvA option could be added to existing network address macros. The value of BootSrvA should indicate the tftboot server.

* These macro names match the Vendor client classes of the clients that will install from the network. These names are examples of clients you might have on your network. See Table 4–9 for information about determining a client's vendor client class.

You can create these options and macros by using the dhtadm command or DHCP Manager. If you use dhtadm, it is better to create the options and macros by writing a script that uses the dhtadm command repeatedly.

The following section, Writing a Script That Uses dhtadm to Create Options and Macros, shows a sample script that uses the dhtadm command. If you prefer to use DHCP Manager, see Using DHCP Manager to Create Install Options and Macros.

Writing a Script That Uses dhtadm to Create Options and Macros

You can create a Korn shell script by adapting the example in Example 4–1 to create all the options listed in Table 4–11 and some useful macros. Be sure to change all IP addresses and values contained in quotes to the correct IP addresses, server names, and paths for your network. You should also edit the Vendor= key to indicate the class of clients you have. Use the information reported by add_install_client -d to obtain the data needed to adapt the script.


Example 4–1 Sample Script to Support Network Installation

# Load the Solaris vendor specific options. We'll start out supporting 
# the Ultra-1, Ultra-30, and i86 platforms. Changing -A to -M would replace
# the current values, rather than add them.
dhtadm -A -s SrootOpt -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,1,ASCII,1,0'
dhtadm -A -s SrootIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,2,IP,1,1'
dhtadm -A -s SrootNM -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,3,ASCII,1,0'
dhtadm -A -s SrootPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,4,ASCII,1,0'
dhtadm -A -s SswapIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,5,IP,1,0'
dhtadm -A -s SswapPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,6,ASCII,1,0'
dhtadm -A -s SbootFIL -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,7,ASCII,1,0'
dhtadm -A -s Stz -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,8,ASCII,1,0'
dhtadm -A -s SbootRS -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,9,NUMBER,2,1'
dhtadm -A -s SinstIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,10,IP,1,1'
dhtadm -A -s SinstNM -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,11,ASCII,1,0'
dhtadm -A -s SinstPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,12,ASCII,1,0'
dhtadm -A -s SsysidCF -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,13,ASCII,1,0'
dhtadm -A -s SjumpsCF -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,14,ASCII,1,0'
dhtadm -A -s Sterm -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,15,ASCII,1,0'
# Load some useful Macro definitions
# Define all Solaris-generic options under this macro named Solaris.
dhtadm -A -m Solaris -d ':SrootIP4=188.21.0.2:SrootNM="blue2":SinstIP4=188.21.0.2:\
SinstNM="red5":Sterm="xterm":'
# Define all sparc-platform specific options under this macro named sparc.
dhtadm -A -m sparc -d ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":'
# Define all sun4u architecture-specific options under this macro named sun4u. (Includes
# Solaris and sparc macros.)
dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:'
# Solaris on IA32-platform-specific parameters are under this macro named i86pc.
dhtadm -A -m i86pc -d \
':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\
:SbootFIL="/platform/i86pc/kernel/unix":'
# Solaris on IA32 machines are identified by the "SUNW.i86pc" class. All
# clients identifying themselves as members of this class will see these
# parameters in the macro called SUNW.i86pc, which includes the i86pc macro.
dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:'
# Ultra-1 platforms identify themselves as part of the "SUNW.Ultra-1" class.
# By default, we boot these machines in 32bit mode. All clients identifying
# themselves as members of this class will see these parameters.
dhtadm -A -m SUNW.Ultra-1 -d ':SbootFIL="/platform/sun4u/kernel/unix":Include=sun4u:'
# Ultra-30 platforms identify themselves as part of the "SUNW.Ultra-30" class.
# By default, we will boot these machines in 64bit mode. All clients
# identifying themselves as members of this class will see these parameters.
dhtadm -A -m SUNW.Ultra-30 -d ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:'
# Add our boot server IP to each of the network macros for our topology served by our
# DHCP server. Our boot server happens to be the same machine running our DHCP server.
dhtadm -M -m 188.20.64.64 -e BootSrvA=188.21.0.2
dhtadm -M -m 188.20.64.0 -e BootSrvA=188.21.0.2
dhtadm -M -m 188.20.64.128 -e BootSrvA=188.21.0.2
dhtadm -M -m 188.21.0.0 -e BootSrvA=188.21.0.2
dhtadm -M -m 188.22.0.0	-e BootSrvA=188.21.0.2
# Make sure we return host names to our clients.
dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_
# The client with this MAC address is a diskless client. Override the root settings
# which at the network scope setup for Install with our client's root directory.
dhtadm -A -m 0800201AC25E -d \
':SrootIP4=188.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/188.23.128.12":'


As superuser, execute dhtadm in batch mode and specify the name of the script to add the options and macros to your dhcptab. For example, if your script is named netinstalloptions, type the command:

dhtadm -B netinstalloptions

When you have done this, clients that have vendor client classes that are listed in the Vendor= string can use DHCP to obtain the parameters they need for Solaris installation over the network.

Using DHCP Manager to Create Install Options and Macros

You can create the options listed in Table 4–11 and the macros listed in Table 4–12 with DHCP Manager.

See Figure 4–17 and Figure 4–16 for illustrations of the dialog boxes you use to create options and macros.

How to Create Options to Support Solaris Installation (DHCP Manager)

  1. Select the Options tab in DHCP Manager.

  2. Choose Create from the Edit menu.

    The Create Option dialog box opens.

  3. Type the option name for the first option and type values appropriate for that option.

    Use Table 4–11 to look up the option names and values for options you must create. Notice that the vendor client classes are only suggested values. You should create classes to indicate the actual client types that need to obtain Solaris installation parameters from the DHCP service. See Table 4–9 for information about how to determine a client's vendor client class.

  4. Click OK when you have entered all the values.

  5. In the Options tab, select the option you just created.

  6. Select Duplicate from the Edit menu.

    The Duplicate Option dialog box opens.

  7. Type the name of another option and modify other values appropriately.

    The values for code, data type, granularity, and maximum are most likely to need modification. See Table 4–11 for the values.

  8. Repeat Step 5 through Step 7 until you have created all the options.

    You can now create macros to pass the options to network installation clients, as explained in the following procedure.


    Note –

    You do not need to add these options to a Solaris client's /etc/dhcp/inittab file because they are already included in that file.


How to Create Macros to Support Solaris Installation (DHCP Manager)

  1. Select the Macros tab in DHCP Manager.

  2. Choose Create from the Edit menu.

    The Create Macro dialog box opens.

  3. Type the name of a macro.

    See Table 4–12 for macro names you might use.

  4. Click the Select button.

    The Select Option dialog box opens.

  5. Select Vendor in the Category list.

    The Vendor options you created are listed.

  6. Select an option you want to add to the macro and click OK.

  7. Type a value for the option.

    See Table 4–11 for the option's data type and refer to the information reported by add_install_client -d.

  8. Repeat Step 6 through Step 7 for each option you want to include.

    To include another macro, type Include as the option name and type the macro name as the option value.

  9. Click OK when the macro is complete.