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 10–4 Values for Creating Vendor Category Options for Solaris 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 standalone boot program when it loads the 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 need to install from the network. See Table 10–3 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 10–5 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 10–3 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.
You can create a Korn shell script by adapting the example in Example 10–1 to create all the options listed in Table 10–4 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=10.21.0.2:SrootNM="blue2":SinstIP4=10.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 10.20.64.64 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.20.64.0 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.20.64.128 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.21.0.0 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.22.0.0 -e BootSrvA=10.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=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.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.
You can create the options listed in Table 10–4 and the macros listed in Table 10–5 with DHCP Manager.
See Figure 10–17 and Figure 10–16 for illustrations of the dialog boxes you use to create options and macros.