You can use DHCP to install the Solaris operating environment on certain client machines on your network. Only Sun Enterprise Ultra machines and Intel machines meeting the hardware requirements for running the Solaris operating environment can use this feature.
The following task map shows the high-level tasks that must be done to allow clients to obtain install parameters using DHCP.
Table 11-10 DHCP Network Install Task Map
Task |
Description |
For Instructions, Go To... |
---|---|---|
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 Over 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 install support for a class of client (such as those of a certain machine type) or a particular client ID. |
"Preparing to Install Solaris Software Over the Network" in Solaris 8 Advanced Installation Guide |
Create DHCP options for install parameters and macros including 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 Install Parameters" |
When you add clients using 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 needing to install 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 need to create and the properties needed to create them.
Table 11-11 Values for Creating Vendor Category Options for SUNW Clients
Name |
Code |
Data Type |
Granularity |
Maximum |
Vendor Client Classes * |
Description |
---|---|---|---|---|---|---|
SrootOpt |
1 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
NFS mount options for the client's root file system |
SrootIP4 |
2 |
IP address |
1 |
1 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
IP address of root server |
SrootNM |
3 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Host name of root server |
SrootPTH |
4 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to the client's root directory on the root server |
SswapIP4 |
5 |
IP address |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
IP address of swap server |
SswapPTH |
6 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to the client's swap file on the swap server |
SbootFIL |
7 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to the client's boot file |
Stz |
8 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Time zone for client |
SbootRS |
9 |
NUMBER |
2 |
1 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
NFS read size used by stand-alone boot program when loading kernel |
SinstIP4 |
10 |
IP address |
1 |
1 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
IP address of Jumpstart Install server |
SinstNM |
11 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Host name of install server |
SinstPTH |
12 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to installation image on install server |
SsysidCF |
13 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to sysidcfg file, in the format server:/path |
SjumpsCF |
14 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to JumpStart configuration file in the format server:/path |
Sterm |
15 |
ASCII text |
1 |
0 |
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 will be installing from the network. See Table 11-9 for information about determining 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 11-12 Suggested Macros to Support Network Install 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 11-9 for information about determining a client's vendor client class. |
You can create these options and macros using the dhtadm command or DHCP Manager. If you use dhtadm, it might be easiest to create the options and macros by writing a script that uses the dhtadm command repeatedly. This is the recommended approach.
The following section, "Writing a Script That Uses dhtadm to Create Options and Macros", shows a sample script using the dhtadm command. If you prefer to use DHCP Manager, see "Using DHCP Manager to Create Install Options and Macros".
You can create a Korn shell script by adapting the example below to create all the options listed in Table 11-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.
# 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=172.21.0.2:SrootNM="blue2":SinstIP4=172.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 DHCP server. dhtadm -M -m 172.20.64.64 -e BootSrvA=172.21.0.2 dhtadm -M -m 172.20.64.0 -e BootSrvA=172.21.0.2 dhtadm -M -m 172.20.64.128 -e BootSrvA=172.21.0.2 dhtadm -M -m 172.21.0.0 -e BootSrvA=172.21.0.2 dhtadm -M -m 172.22.0.0 -e BootSrvA=172.21.0.2 # Make sure we return hostnames 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=172.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/172.23.128.12":' |
Execute the script as superuser to add the options and macros to your dhcptab. When you have done this, network client classes that are listed in the Vendor= string can install from the network using DHCP.
You can create the options listed in Table 11-11 and the macros listed in Table 11-12 using DHCP Manager.
See Figure 11-17 and Figure 11-16 for illustrations of the dialog boxes you use to create options and macros.
Select the Options tab in DHCP Manager.
Choose Create from the Edit menu.
The Create Option dialog box opens.
Type the option name for the first option and type values appropriate for that option.
Use Table 11-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 will install using DHCP. See Table 11-9 for information about determining a client's vendor client class.
Click OK when you have entered all the values.
In the Options tab, select the option you just created.
Select Duplicate from the Edit menu.
The Duplicate Option dialog box opens.
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 11-11 for the values.
Repeat Step 4 through Step 7 until you have created all the options.
You can now create macros to pass the options to network install clients, as explained in the following procedure.
Select the Macros tab in DHCP Manager.
Choose Create from the Edit menu.
The Create Macro dialog box opens.
Type the name of a macro.
See Table 11-12 for macro names you might use.
Click the Select button.
The Select Option dialog box opens.
Select Vendor in the Category list.
The Vendor options you created are listed.
Select an option you want to add to the macro and click OK.
Type a value for the option.
See Table 11-11 for the option's data type and refer to the information reported by add_install_client -d.
Repeat Step 4 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.
Click OK when the macro is complete.