This chapter describes how to preconfigure system information. Preconfiguration can help you to avoid being prompted for this information when you install the Solaris operating environment. This chapter also describes how to preconfigure Power ManagementTM information. This chapter contains the following sections:
Advantages of Preconfiguring System Configuration Information
Preconfiguring System Configuration Information With the DHCP Service (Tasks)
The installation methods require configuration information about a system, such as peripheral devices, host name, Internet Protocol (IP) address, and name service. Before the installation tools prompt you for configuration information, they check for the information in the sysidcfg file and then in the name service databases.
When the Solaris Web Start program, Solaris suninstall program, or the custom JumpStart installation program detects preconfigured system information, the installation program does not prompt you to enter the information. For example, you have several systems and you do not want a time zone prompt every time you install the Solaris 9 software on one of the systems. You can specify the time zone in the sysidcfg file or the name service databases. When you install the Solaris 9 software, the installation program does not prompt you to type a time zone.
You can choose one of the following ways to preconfigure system configuration information. You can add the system configuration information to either of the following.
A sysidcfg file on a remote system or diskette
The name service database available at your site
If your site uses DHCP, you can also preconfigure some system information in the site DHCP server. For more information about how to use a DHCP server to preconfigure system information, see Preconfiguring System Configuration Information With the DHCP Service (Tasks).
Use the following table to determine whether to use a sysidcfg file or a name service database to preconfigure system configuration information.
Table 7–1 Methods to Preconfigure System Configuration Information
Preconfigurable System Information |
Preconfigurable With the sysidcfg File? | |
---|---|---|
Name service |
Yes |
Yes |
Domain name |
Yes |
No |
Name server |
Yes |
No |
Network interface |
Yes |
No |
Host name |
Yes Because this information is system specific, edit the name service rather than create a different sysidcfg file for each system. |
Yes |
Internet Protocol (IP) address |
Yes Because this information is system specific, edit the name service rather than create a different sysidcfg file for each system. |
Yes |
Netmask |
Yes |
No |
DHCP |
Yes |
No |
IPv6 |
Yes |
No |
Default route |
Yes |
No |
Root password |
Yes |
No |
Security policy |
Yes |
No |
Language (locale) in which to display the install program and desktop |
Yes |
Yes, if NIS or NIS+ No, if DNS or LDAP |
Terminal type |
Yes |
No |
Time zone |
Yes |
Yes |
Date and time |
Yes |
Yes |
Web proxy |
No You can configure this information during a Solaris Web Start installation, but not through the sysidcfg file or the name service. |
No |
x86: Monitor type |
Yes |
No |
x86: Keyboard language, keyboard layout |
Yes |
No |
x86: Graphics card, color depth, display resolution, screen size |
Yes |
No |
x86: Pointing device, number of buttons, IRQ level |
Yes |
No |
SPARC: Power Management (autoshutdown) You cannot preconfigure Power Management through the sysidcfg file or the name service. SPARC: Preconfiguring Power Management Information contains details. |
No |
No |
You can specify a set of keywords in the sysidcfg file to preconfigure a system. The keywords are described in Table 7–2.
You must create a unique sysidcfg file for every system that requires different configuration information. You can use the same sysidcfg file to preconfigure the time zone on a set of systems if you want all the systems to be assigned the same time zone. However, if you want to preconfigure a different root (superuser) password for each of those systems, you need to create a unique sysidcfg file for each system.
You can place the sysidcfg file in one of the following.
NFS file system – If you put the sysidcfg file in a shared NFS file system, you must use the -p option of the add_install_client(1M) command when you set up the system to install from the network. The -p option specifies where the system can find the sysidcfg file when you install the Solaris 9 software.
UFS or PCFS diskette – Place the sysidcfg file in the root (/) directory on the diskette.
HTTP or HTTPS server – If you want to perform a WAN boot installation, place the sysidcfg file in the document root directory of the web server.
If you are performing a custom JumpStart installation and you want to use a sysidcfg file on a diskette, you must place the sysidcfg file on the profile diskette. To create a profile diskette, see Creating a Profile Diskette for Standalone Systems.
You can place only one sysidcfg file in a directory or on a diskette. If you are creating more than one sysidcfg file, you must place each file in a different directory or on a different diskette.
You can use two types of keywords in the sysidcfg file: independent and dependent. Dependent keywords are guaranteed to be unique only within independent keywords. A dependent keyword exists only when it is identified with its associated independent keyword.
In this example, name_service is the independent keyword, while domain_name and name_server are the dependent keywords:
name_service=NIS {domain_name=marquee.central.sun.com name_server=connor(129.152.112.3)} |
Syntax Rule |
Example |
---|---|
Independent keywords can be listed in any order. |
pointer=MS-S display=ati {size=15-inch} |
Keywords are not case sensitive. |
TIMEZONE=US/Central terminal=PC Console |
Enclose all dependent keywords in curly braces ({}) to tie them to their associated independent keyword. |
name_service=NIS {domain_name=marquee.central.sun.com name_server=connor(129.152.112.3)} |
You can optionally enclosed values in single (`) or double quotes (“). |
network_interface='none' |
Only one instance of a keyword is valid. However, if you specify the keyword more than once, only the first instance of the keyword is used. |
network_interface=none network_interface=le0 |
The following table describes the keywords you can use in the sysidcfg file.
Table 7–2 Keywords You Can Use in sysidcfg
Configuration Information |
Keywords |
Values or Examples |
---|---|---|
Name service, domain name, name server |
name_service=NIS, NIS+, DNS, LDAP, NONE | |
Options for NIS and NIS+: {domain_name=domain_name name_server=hostname(ip_address)} |
name_service=NIS {domain_name=west.arp.com name_server=timber(129.221.2.1)} name_service=NIS+ {domain_name=west.arp.com. name_server=timber(129.221.2.1)} |
|
Options for DNS: {domain_name=domain_name name_server=ip_address,ip_address, ip_address (three maximum) search=domain_name,domain_name,domain_name,domain_name,domain_name, domain_name (six maximum, total length less than or equal to 250 characters)} |
name_service=DNS {domain_name=west.arp.com name_server=10.0.1.10,10.0.1.20 search=arp.com,east.arp.com} Note – Choose only one value for name_service. Include either, both, or neither the domain_name and name_server keywords, as needed. If neither keyword is used, omit the curly braces {}. |
|
Options for LDAP: {domain_name=domain_name profile=profile_name profile_server=ip_address proxy_dn="proxy_bind_dn" proxy_password=password} |
name_service=LDAP {domain_name=west.arp.com profile=default profile_server=129.221.2.1 proxy_dn="cn=proxyagent,ou=profile, dc=west,dc=arp,dc=com" proxy_password=password} Note – The proxy_dn and proxy_password keywords are optional. The proxy_dn value must be enclosed in double quotes. |
|
Network interface, host name, Internet Protocol (IP) address, netmask, DHCP, IPv6 |
network_interface=NONE, PRIMARY, or value |
|
If DHCP is to be used, specify: {dhcp protocol_ipv6=yes_or_no} |
network_interface=primary {dhcp protocol_ipv6=yes} |
|
|
If DHCP is not to be used, specify: {hostname=host_name default_route=ip_address or NONE ip_address=ip_address netmask=netmask protocol_ipv6=yes_or_no} Note – If you do not use DHCP, you are not required to specify protocol_ipv6=yes and default_route. But, take note of the following issues.
If you use the sysidcfg file in a WAN boot installation, you must set protocol_ipv6=no. |
network_interface=le0 {hostname=feron default_route=129.146.88.1 ip_address=129.146.88.210 netmask=255.255.0.0 protocol_ipv6=no} Note – Choose only one value for network_interface. Include any combination or none of the hostname, ip_address, and netmask keywords, as needed. If you do not use any of these keywords, omit the curly braces ({}). |
Root password |
root_password=root_password |
Encrypted from /etc/shadow. |
Security policy |
security_policy=kerberos, NONE Options for Kerberos: {default_realm=FQDN admin_server=FQDN kdc=FQDN1, FQDN2, FQDN3} (FQDN is a fully qualified domain name.) |
security_policy=kerberos {default_realm=Yoursite.COM admin_server=krbadmin.Yoursite.COM kdc=kdc1.Yoursite.COM, kdc2.Yoursite.COM} Note – You can list a maximum of three key distribution centers (KDCs), but at least one is required. |
Language in which to display the install program and desktop |
system_locale=locale |
The /usr/lib/locale directory or Appendix D, Locale Values (Reference) provides the valid locale values. |
Terminal type |
terminal=terminal_type |
The subdirectories in the /usr/share/lib/terminfo directory provide the valid terminal values. |
Time zone |
timezone=timezone |
The directories and files in the /usr/share/lib/zoneinfo directory provide the valid time zone values. The time zone value is the name of the path relative to the /usr/share/lib/zoneinfo directory. For example, the time zone value for mountain standard time in the United States is US/Mountain. The time zone value for Japan is Japan. You can also specify any valid Olson time zone. |
Date and time |
timeserver=localhost, hostname, ip_addr |
If you specify localhost as the time server, the system's time is assumed to be correct. If you are not running a name service and you specify the hostname or ip_addr of a system, that system's time is used to set the time. |
x86: Monitor type |
monitor=monitor_type |
On the system you want to install, run kdmconfig -d filename. Append output to sysidcfg file. |
x86: Keyboard language, keyboard layout |
keyboard=keyboard_language {layout=value} |
On the system you want to install, run kdmconfig -d filename. Append output to sysidcfg file. |
x86: Graphics card, screen size, color depth, display resolution |
display=graphics_card {size=screen_size depth=color_depth resolution=screen_resolution} |
On the system you want to install, run kdmconfig -d filename. Append output to sysidcfg file. |
x86: Pointing device, number of buttons, IRQ level |
pointer=pointing_device {nbuttons=number_buttons irq=value} |
On the system you want to install, run kdmconfig -d filename. Append output to sysidcfg file. |
Create a file called sysidcfg in a text editor.
Type the sysidcfg keywords you want.
Save the sysidcfg file.
If you create more than one sysidcfg file, you must save each file in a separate directory or on a separate diskette.
Make the sysidcfg file available to clients through the following:
A shared NFS file system. Use add_install_client(1M) with the -p option to set up the system to install from the network.
The root (/) directory on a UFS diskette or PCFS diskette.
The following is an example of a sysidcfg file for a group of SPARC based systems. The host names, IP addresses, and netmask of these systems have been preconfigured by editing the name service. Because all of the system configuration information is preconfigured in this file, you can use a custom JumpStart profile to perform a custom JumpStart installation.
system_locale=en_US timezone=US/Central terminal=sun-cmd timeserver=localhost name_service=NIS {domain_name=marquee.central.sun.com name_server=connor(129.152.112.3)} root_password=m4QPOWNY network_interface=le0 {hostname=feron default_route=129.146.88.1 ip_address=129.146.88.210 netmask=255.255.0.0 protocol_ipv6=no} security_policy=kerberos {default_realm=Yoursite.COM admin_server=krbadmin.Yoursite.COM kdc=kdc1.Yoursite.COM, kdc2.Yoursite.COM} |
The following sample sysidcfg file is for a group of x86 based systems that all use the same type of keyboard, graphics cards, and pointing devices. The device information (keyboard, display, and pointer) was obtained by running the kdmconfig(1M) command with the -d option. If the following example sysidcfg file is used, a prompt that asks you to select a language (system_locale) is displayed before installation can proceed.
keyboard=ATKBD {layout=US-English} display=ati {size=15-inch} pointer=MS-S timezone=US/Central timeserver=connor terminal=ibm-pc name_service=NIS {domain_name=marquee.central.sun.com name_server=connor(129.152.112.3)} root_password=URFUni9 |
The following table provides a high-level overview of the name service databases that you need to edit and populate to preconfigure system information.
System Information to Preconfigure |
Name Service Database |
---|---|
Host name and Internet Protocol (IP) address |
hosts |
Date and time |
hosts. Specify the timehost alias next to the host name of the system that will provide the date and time for the systems that are being installed. |
Time zone |
timezone |
Netmask |
netmasks |
You cannot preconfigure the locale for a system with the DNS or LDAP name service. If you use the NIS or NIS+ name service, follow the procedure for your name service to preconfigure the locale for a system:
Become superuser on the name server.
Change /var/yp/Makefile to add the locale map.
Insert this shell procedure after the last variable.time shell procedure.
locale.time: $(DIR)/locale -@if [ -f $(DIR)/locale ]; then \ sed -e "/^#/d" -e s/#.*$$// $(DIR)/locale \ | awk '{for (i = 2; i<=NF; i++) print $$i, $$0}' \ | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/locale.byname; \ touch locale.time; \ echo "updated locale"; \ if [ ! $(NOPUSH) ]; then \ $(YPPUSH) locale.byname; \ echo "pushed locale"; \ else \ : ; \ fi \ else \ echo "couldn't find $(DIR)/locale"; \ fi |
Find the string all: and, at the end of the list of variables, insert the word locale.
all: passwd group hosts ethers networks rpc services protocols \ netgroup bootparams aliases publickey netid netmasks c2secure \ timezone auto.master auto.home locale |
Near the end of the file, after the last entry of its type, insert the string locale: locale.time on a new line.
passwd: passwd.time group: group.time hosts: hosts.time ethers: ethers.time networks: networks.time rpc: rpc.time services: services.time protocols: protocols.time netgroup: netgroup.time bootparams: bootparams.time aliases: aliases.time publickey: publickey.time netid: netid.time passwd.adjunct: passwd.adjunct.time group.adjunct: group.adjunct.time netmasks: netmasks.time timezone: timezone.time auto.master: auto.master.time auto.home: auto.home.time locale: locale.time |
Save the file.
Create the file /etc/locale and make one entry for each domain or specific system:
locale domain_name |
Or
locale system_name |
Appendix D, Locale Values (Reference) contains a list of valid locales.
For example, the following entry specifies that French is the default language that is used in the worknet.com domain:
fr worknet.com |
And the following entry specifies that Belgian French is the default locale that is used by a system named charlie:
fr_BE charlie |
Locales are available on the Solaris DVD or Solaris Software 1 of 2 CD.
# cd /var/yp; make |
Systems that are specified by domain or individually in the locale map are now set up to use the default locale. The default locale that you specified is used during installation and by the desktop after the system is rebooted.
The following procedure assumes the NIS+ domain is set up. Setting up the NIS+ domain is documented in the System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
Log in to a name server as superuser or as a user in the NIS+ administration group.
# nistbladm -D access=og=rmcd,nw=r -c locale_tbl name=SI,nogw= locale=,nogw= comment=,nogw= locale.org_dir.`nisdefaults -d` |
Add needed entries to the locale.
# nistbladm -a name=name locale=locale comment=comment locale.org_dir.`nisdefaults -d` |
Either the domain name or a specific system name for which you want to preconfigure a default locale.
The locale you want to install on the system and use on the desktop after the system is rebooted. Appendix D, Locale Values (Reference) contains a list of valid locales.
The comment field. Use double quotation marks to begin and end comments that are longer than one word.
Locales are available on the Solaris DVD or Solaris Software 1 of 2 CD.
Systems that are specified by domain or individually in the locale table are now set up to use the default locale. The default locale you specified is used during installation and by the desktop after the system is rebooted.
The Dynamic Host Configuration Protocol (DHCP) enables host systems in a TCP/IP network to be configured automatically for the network as they boot. DHCP uses a client and server mechanism. Servers store and manage configuration information for clients, and provide that information on a client's request. The information includes the client's IP address and information about network services available to the client.
A primary benefit of DHCP is its ability to manage IP address assignments through leasing. Leasing allows IP addresses to be reclaimed when not in use and reassigned to other clients. This ability enables a site to use a smaller pool of IP address than would be needed if all clients were assigned a permanent address.
You can use DHCP to install the Solaris operating environment on certain client systems on your network. Only Sun Enterprise Ultra systems and x86 systems that meet 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 performed to enable clients to obtain installation parameters by using DHCP.
Table 7–3 Task Map: Preconfiguring System Configuration Information With the DHCP Service
Task |
Description |
Instructions |
---|---|---|
Set up an install server. |
Set up a Solaris server to support clients that must install the Solaris operating environment from the network. |
Chapter 10, Preparing to Install From the Network (Overview) |
Set up client systems for Solaris installation over the network by using DHCP. |
Use add_install_client -d to add DHCP network installation support for a class of client (of a certain machine type, for example) or a particular client ID. |
Using Solaris DVD: Adding Systems to Be Installed From the Network With a DVD Image Using Solaris CD: Adding Systems to Be Installed From the Network With a CD Image |
Prepare your network to use the DHCP service. |
Decide how you want to configure your DHCP server. |
“Planning for DHCP Service (Task)” in System Administration Guide: IP Services |
Configure the DHCP server. |
Use DHCP Manager to configure your DHCP server |
“Configuring DHCP Service (Task)” in System Administration Guide: IP Services |
Create DHCP options for installation parameters and macros that include the options. |
Use DHCP Manager or dhtadm to create new Vendor options and macros that the DHCP server can use to pass installation information to the clients. |
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 that are needed to pass network installation information to clients.
To install DHCP clients from the network, you must create Vendor category options to pass information that is needed to install the Solaris operating environment. Table 7–4 shows the options you must create and the properties that are needed to create them. The vendor client classes that are listed in the following table determine what classes of client can use the option. Vendor client classes that are listed here are examples only. You should specify client classes that indicate the actual clients in your network that you need to install from the network. See “Working With DHCP Options (Task Map)” in System Administration Guide: IP Services for information about how to determine a client's vendor client class.
For detailed information on DHCP options, see “DHCP Option Information” in System Administration Guide: IP Services.
Table 7–4 Values for Creating Vendor Category Options for Solaris Clients
Name |
Code |
Data Type |
Granularity |
Maximum |
Vendor Client Classes * |
Description |
---|---|---|---|---|---|---|
The following Vendor category options are required to enable a DHCP server to support Solaris installation clients. The options are used in the Solaris client's startup scripts. |
||||||
SrootIP4 |
2 |
IP address |
1 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
IP address of root server |
SrootNM |
3 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Host name of root server |
SrootPTH |
4 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Path to the client's root directory on the root server |
SinstIP4 |
10 |
IP address |
1 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
IP address of JumpStart install server |
SinstNM |
11 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Host name of install server |
SinstPTH |
12 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Path to installation image on install server |
The following options can be used by the client startup scripts, but are not required by the scripts. |
||||||
SrootOpt |
1 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
NFS mount options for the client's root file system |
SbootFIL |
7 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Path to the client's boot file |
SbootRS |
9 |
NUMBER |
2 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
NFS read size used by standalone boot program when loading the kernel |
SsysidCF |
13 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Path to sysidcfg file, in the format server:/path |
SjumpsCF |
14 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Path to JumpStart configuration file in the format server:/path |
16 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Path to the standalone boot file or path to the WAN boot file. For the standalone boot file, use the following format. tftp://inetboot.sun4u For the WAN boot file, the format is http://host.domain/path-to-file This option can be used to override BootFile and siaddr settings in order to retrieve a standalone boot file. Supported protocols: tftp (inetboot), http (wanboot). For example, use the following format. tftp://inetboot.sun4u |
|
17 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
IP address and port number of the proxy server that is used on your network. This option is needed only when a client is booting across a WAN, and the local network uses a proxy server. For example, use the following format: 198.162.10.5:8080 |
|
The following options are not currently used by the Solaris client startup scripts. You can use them only if you edit the startup scripts. |
||||||
SswapIP4 |
5 |
IP address |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
IP address of swap server |
SswapPTH |
6 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Path to the client's swap file on the swap server |
Stz |
8 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Time zone for client |
Sterm |
15 |
ASCII text |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Terminal type |
When you have created the options, you can create macros that include those options. The following table lists sample macros you can create to support Solaris installation for clients.
Table 7–5 Sample Macros to Support Network Installation Clients
Macro Name |
Contains These Options and Macros |
---|---|
Solaris |
SrootIP4, SrootNM, SinstIP4, SinstNM |
sparc |
SrootPTH, SinstPTH |
sun4u |
Solaris and sparc macros |
i86pc |
Solaris macro, SrootPTH, SinstPTH, SbootFIL |
SUNW.i86pc |
i86pc macro |
SUNW.Sun-Blade-1000 |
sun4u macro, SbootFIL |
SUNW.Sun-Fire-880 |
sun4u macro, SbootFIL |
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. |
The macro names that are listed in the previous table match the Vendor client classes of the clients that must install from the network. These names are examples of clients you might have on your network. See “Working With DHCP Options (Task Map)” in System Administration Guide: IP Services for information about determining a client's vendor client class.
You can create these options and macros by using the following methods.
Write a script that creates the options and macros by using the dhtadm command. See Writing a Script That Uses dhtadm to Create Options and Macros for information bout how to write scripts that create these options and macros.
Create the options and macros in DHCP Manager. See Using DHCP Manager to Create Install Options and Macros for instructions about how to create options and macros in DHCP Manager.
You can create a Korn shell script by adapting the example in Example 7–1 to create all the options listed in Table 7–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 that add_install_client -d reports to obtain the data that you need to adapt the script.
# Load the Solaris vendor specific options. We'll start out supporting # the Sun-Blade-1000, Sun-Fire-880, and i86 platforms. Changing -A to -M would replace # the current values, rather than add them. dhtadm -A -s SrootOpt -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,1,ASCII,1,0' dhtadm -A -s SrootIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,2,IP,1,1' dhtadm -A -s SrootNM -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,3,ASCII,1,0' dhtadm -A -s SrootPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,4,ASCII,1,0' dhtadm -A -s SswapIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,5,IP,1,0' dhtadm -A -s SswapPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,6,ASCII,1,0' dhtadm -A -s SbootFIL -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,7,ASCII,1,0' dhtadm -A -s Stz -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,8,ASCII,1,0' dhtadm -A -s SbootRS -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,9,NUMBER,2,1' dhtadm -A -s SinstIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,10,IP,1,1' dhtadm -A -s SinstNM -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,11,ASCII,1,0' dhtadm -A -s SinstPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,12,ASCII,1,0' dhtadm -A -s SsysidCF -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,13,ASCII,1,0' dhtadm -A -s SjumpsCF -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,14,ASCII,1,0' dhtadm -A -s Sterm -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,15,ASCII,1,0' dhtadm -A -s SbootURI -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,16,ASCII,1,0' dhtadm -A -s SHTTPproxy -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,17,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":' # 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:' # Sun-Blade-1000 platforms identify themselves as part of the # "SUNW.Sun-Blade-1000" class. # All clients identifying themselves as members of this class # will see these parameters. dhtadm -A -m SUNW.Sun-Blade-1000 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\ Include=sun4u:' # Sun-Fire-880 platforms identify themselves as part of the "SUNW.Sun-Fire-880" class. # All clients identifying themselves as members of this class will see these parameters. dhtadm -A -m SUNW.Sun-Fire-880 -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. 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 following command.
# dhtadm -B netinstalloptions |
Clients that have vendor client classes that are listed in the Vendor= string can now use DHCP to install over the network.
For more information about how to use the dhtadm command, see dhtadm(1M). For more information about the dhcptab file, see dhcptab(4).
You can use DHCP Manager to create the options that are listed in Table 7–4 and the macros that are listed in Table 7–5.
This procedure assumes that you have already configured your DHCP server. If you have not configured your DHCP server, see “Planning for DHCP Service (Task)” in System Administration Guide: IP Services.
Become superuser on the DHCP server system.
Start the DHCP Manager.
# /usr/sadm/admin/bin/dhcpmgr & |
The DHCP Manager window is displayed.
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, then type values appropriate for that option.
Use Table 7–4 to check 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 “Working With DHCP Options (Task Map)” in System Administration Guide: IP Services for information about how to determine 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, then modify other values appropriately.
The values for code, data type, granularity, and maximum are most likely to need modification. See Table 7–4 for the values.
Repeat Step 7 through Step 9 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.
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.
This procedure assumes that you have already configured your DHCP server. If you have not configured your DHCP server, see “Planning for DHCP Service (Task)” in System Administration Guide: IP Services.
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 7–5 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 7–4 for the option's data type and refer to the information that add_install_client -d reports.
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.
Click OK when the macro is complete.
You can use the Power Management software that is provided in the Solaris environment to automatically save the state of a system and turn it off after it is idle for 30 minutes. When you install the Solaris 9 software on a system that complies with version 2 of the EPA's Energy Star guidelines, for example a sun4u system, the Power Management software is installed by default. During a Solaris Web Start installation, the installation program prompts you to enable or disable the Power Management software. The suninstall installation program prompts you to enable or disable the Power Management software after the installation is complete and the system reboots.
If your system has Energy Star version 3 or later, you are not prompted for this information.
If you are performing interactive installations, you cannot preconfigure the Power Management information and avoid the prompt. However, by using a custom JumpStart installation, you can preconfigure the Power Management information by using a finish script to create an /autoshutdown or /noautoshutdown file on the system. When the system reboots, the /autoshutdown file enables Power Management and the /noautoshutdown file disables Power Management.
For example, the following line in a finish script enables the Power Management software and prevents the display of the prompt after the system reboots.
touch /a/autoshutdown |
Finish scripts are described in Creating Finish Scripts.