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 sysidcfg File Keywords.
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.example.com name_server=connor(192.168.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=sun-cmd |
Enclose all dependent keywords in curly braces ({}) to tie them to their associated independent keyword. |
name_service=NIS {domain_name=marquee.central.example.com name_server=connor(192.168.112.3)} |
You can optionally enclosed values in single (`) or double quotes (“). |
network_interface='none' |
For all keywords except the network_interface keyword, 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. |
name_service=NIS name_service=DNS |
Table 7–2 lists the keywords you can use to configure system information in the sysidcfg file.
Table 7–2 Keywords You Can Use in sysidcfg
Configuration Information |
Keyword |
---|---|
Name service, domain name, name server | |
Network interface, host name, Internet Protocol (IP) address, netmask, DHCP, IPv6 | |
Root password | |
Security policy | |
Language in which to display the install program and desktop | |
Terminal type | |
Time zone | |
Date and time | |
x86: Monitor type | |
x86: Keyboard language, keyboard layout | |
x86: Graphics card, screen size, color depth, display resolution | |
x86: Pointing device, number of buttons, IRQ level |
The following sections describe the keywords you can use in the sysidcfg file.
You can use the name_service keyword to configure the name service, the domain name, and the name server for the system. The following sample shows the general syntax for the name_service keyword.
name_service=name-service {domain_name=domain-name name_server=name-server optional-keyword=value} |
Choose only one value for name_service. Include all or none of the domain_name,name_server, or optional keywords, as needed. If no keywords are used, omit the curly braces {}.
The following sections describe the keyword syntax to configure the system to use a specific name service.
Use the following syntax to configure the system to use the NIS name service.
name_service=NIS {domain_name=domain-name name_server=hostname(ip-address)} |
Specifies the domain name
Specifies the host name of the name server
Specifies the IP address of the name server
The following example specifies a NIS server with the domain name west.example.com. The server's host name is timber, and the server IP address is 192.168.2.1.
name_service=NIS {domain_name=west.example.com name_server=timber(192.168.2.1)} |
For more information about the NIS name service, see System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
Use the following syntax to configure the system to use the NIS name service.
name_service=NIS+ {domain_name=domain-name name_server=hostname(ip-address)} |
Specifies the domain name
Specifies the host name of the name server
Specifies the IP address of the name server
The following example specifies a NIS+ server with the domain name west.example.com. The server's host name is timber, and the server IP address is 192.168.2.1.
name_service=NIS+ {domain_name=west.example.com name_server=timber(192.168.2.1)} |
For more information about the NIS+ name service, see System Administration Guide: Naming and Directory Services (FNS and NIS+).
Use the following syntax to configure the system to use DNS.
name_service=DNS {domain_name=domain-name name_server=ip-address,ip-address,ip-address search=domain-name,domain-name,domain-name, domain-name,domain-name,domain-name} |
Specifies the domain name.
Specifies the IP address of the DNS server. You can specify up to three IP addresses as values for the name_server keyword.
(Optional) Specifies additional domains to search for name service information. You can specify up to six domain names to search. The total length of each search entry cannot exceed 250 characters.
The following example specifies a DNS server with the domain name west.example.com. The server IP addresses are 10.0.1.10 and 10.0.1.20. example.com and east.example.com are listed as additional domains to search for name service information.
name_service=DNS {domain_name=west.example.com name_server=10.0.1.10,10.0.1.20 search=example.com,east.example.com} |
For more information about the DNS name service, see System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
Use the following syntax to configure the system to use LDAP.
name_service=LDAP {domain_name=domain_name profile=profile_name profile_server=ip_address proxy_dn="proxy_bind_dn" proxy_password=password} |
Specifies the domain name of the LDAP server.
Specifies the name of the LDAP profile you want to use to configure the system.
Specifies the IP address of the LDAP profile server.
(Optional) Specifies the proxy bind distinguished name. You must enclose the proxy_bind_dn value in double quotes.
(Optional) Specifies the client proxy password.
The following example specifies an LDAP server with the following configuration information.
The domain name is west.example.com.
The installation program uses the LDAP profile that is named default to configure the system.
The IP address of the LDAP server is 172.221.2.1.
The proxy bind distinguished name includes the following information.
The common name for the entry is proxyagent.
The organizational unit is profile.
The proxy domain includes the west, example, and com domain components.
The poxy password is password.
name_service=LDAP {domain_name=west.example.com profile=default profile_server=172.31.2.1 proxy_dn="cn=proxyagent,ou=profile, dc=west,dc=example,dc=com" proxy_password=password} |
For more information about how to use LDAP, see System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
Use the network_interface keyword to perform the following tasks.
Specify a host name
Specify an IP address
Specify a netmask value
Use DHCP to configure the network interface
Enable IPv6 on the network interface
The following sections describe how to use the network_interface keyword to configure the system interfaces.
To turn off networking for the system, set the network_interface value to none. For example:
network_interface=none |
You can use the network_interface keyword to configure a single interface in the following ways.
With DHCP – You can use a DHCP server on your network to configure the network interface. For more information on how to use a DHCP server during your installation, see Preconfiguring System Configuration Information With the DHCP Service (Tasks).
To use the DHCP server to configure a single interface on the system, use the following syntax for the network_interface keyword.
network_interface=PRIMARY or value {dhcp protocol_ipv6=yes-or-no} |
Instructs the installation program to configure the first up, non-loopback interface that is found on the system. The order is the same as the order that is displayed with the ifconfig command. If no interfaces are up, then the first non-loopback interface is used. If no non-loopback interfaces are found, then the system is non-networked.
Instructs the installation program to configure a specific interface, such as hme0 or eri1.
Instructs the installation program to configure the system to either use IPv6 or to not use IPv6.
For WAN boot installations, you must set the value of protocol_ipv6=no.
Without DHCP – If you do not want to use DHCP to configure the network interface, you can specify the configuration information in the sysidcfg file. To instruct the installation program to configure a single interface on the system without using DHCP, use the following syntax.
network_interface=PRIMARY or value {hostname=host_name default_route=ip_address ip_address=ip_address netmask=netmask protocol_ipv6=yes_or_no} |
Instructs the installation program to configure the first up, non-loopback interface that is found on the system. The order is the same as the order that is displayed with the ifconfig command. If no interfaces are up, then the first non-loopback interface is used. If no non-loopback interfaces are found, then the system is not networked.
Do not use the PRIMARY keyword value if you want to configure multiple interfaces.
Instructs the installation program to configure a specific interface, such as hme0 or eri1.
(Optional) Specifies the host name of the system.
(Optional) Specifies the IP address of the default router. If you want the installation program to detect the router by using the ICMP router discovery protocol, omit this keyword.
If the installation program cannot detect the router, you are prompted for the router information during the installation.
(Optional) Specifies the IP address of the system.
(Optional) Specifies the netmask value for the system.
(Optional) Instructs the installation program to configure the system to either use IPv6 or to not use IPv6.
To perform an unattended custom JumpStart installation, you must specify a value for the protocol_ipv6 keyword.
For WAN boot installations, you must set the value of protocol_ipv6=no.
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 ({}).
The following example instructs the installation program to use DHCP to configure the eri0 network interface. IPv6 support is not enabled.
network_interface=eri0 {dhcp protocol_ipv6=no} |
The following example configures the interface eri0 with the following settings.
The host name is set to host1.
The IP address is set to 172.31.88.100.
The netmask is set to 255.255.255.0.
IPv6 support is not enabled on the interface.
network_interface=eri0 {hostname=host1 ip_address=172.31.88.100 netmask=255.255.255.0 protocol_ipv6=no} |
You can configure multiple network interfaces in your sysidcfg file. For each interface that you want to configure, include a network_interface entry in the sysidcfg file.
You can use the network_interface keyword to configure multiple interfaces in the following ways.
With DHCP – You can use a DHCP server on your network to configure a network interface. For more information on how to use a DHCP server during your installation, see Preconfiguring System Configuration Information With the DHCP Service (Tasks).
To use the DHCP server to configure a network interface on the system, use the following syntax for the network_interface keyword.
network_interface=value {primary dhcp protocol_ipv6=yes-or-no} |
Instructs the installation program to configure a specific interface, such as hme0 or eri1.
(Optional) Specifies value as the primary interface.
Instructs the installation program to configure the system to either use IPv6 or to not use IPv6.
For WAN boot installations, you must set the value of protocol_ipv6=no.
Without DHCP – If you do not want to use DHCP to configure the network interface, you can specify the configuration information in the sysidcfg file. To instruct the installation program to configure multiple interfaces without using DHCP, use the following syntax.
network_interface=value {primary hostname=host_name default_route=ip_address ip_address=ip_address netmask=netmask protocol_ipv6=yes_or_no} |
Instructs the installation program to configure a specific interface, such as hme0 or eri1.
(Optional) Specifies value as the primary interface.
(Optional) Specifies the host name of the system.
(Optional) Specifies the IP address of the default router. If you want the installation program to detect the router by using the ICMP router discovery protocol, omit this keyword.
If the installation program cannot detect the router, you are prompted for the router information during the installation.
(Optional) Specifies the IP address of the system.
(Optional) Specifies the netmask value for the system.
(Optional) Instructs the installation program to configure the system to either use IPv6 or to not use IPv6.
To perform an unattended custom JumpStart installation, you must specify a value for the protocol_ipv6 keyword.
For WAN boot installations, you must set the value of protocol_ipv6=no.
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 ({}).
In the same sysidcfg file, you can use DHCP to configure certain interfaces, while also specifying the configuration information for other interfaces in the sysidcfg file.
In the following example, the network interfaces eri0 and eri1 are configured in the following way.
eri0 is configured by using the DHCP server. IPv6 support is not enabled on eri0.
eri1 is the primary network interface. The host name is set to host1, and the IP address is set to 172.31.88.100. The netmask is set to 255.255.255.0. IPv6 support is not enabled on eri1.
network_interface=eri0 {dhcp protocol_ipv6=no} network_interface=eri1 {primary hostname=host1 ip_address=172.31.88.100 netmask=255.255.255.0 protocol_ipv6=no} |
You can specify the root password to the system in the sysidcfg file. To specify the root password, use the root_password keyword with the following syntax.
root_password=encrypted-password |
encrypted-password is the encrypted password as it appears in the /etc/shadow file.
You can use the security_policy keyword in your sysidcfg file to configure your system to use the Kerberos network authentication protocol. If you want to configure the system to use Kerberos, use the following syntax.
security_policy=kerberos {default_realm=FQDN admin_server=FQDN kdc=FQDN1, FQDN2, FQDN3} |
FQDN specifies the fully qualified domain name of the Kerberos default realm, the administration server, or key distribution center (KDC). You must specify at least one, but no more than three, key distribution centers.
If you do not want to set the security policy for the system, set security_policy=NONE.
For more information about the Kerberos network authentication protocol, see System Administration Guide: Security Services.
The following example configures the system to use Kerberos with the following information.
The Kerberos default realm is example.COM.
The Kerberos administration server is krbadmin.example.COM.
The two key distribution centers are kdc1.example.COM and kdc2.example.COM.
security_policy=kerberos {default_realm=example.COM admin_server=krbadmin.example.COM kdc=kdc1.example.COM, kdc2.example.COM} |
You can use the system_locale keyword to specify the language in which to display the install program and desktop. Use the following syntax to specify a locale.
system_locale=locale |
locale specifies the language you want the system to use to display the installation panels and screens. For a list of valid locale values, see the /usr/lib/locale directory or Appendix D, Locale Values (Reference).
You can use the terminal keyword to specify the terminal type for the system. Use the following syntax to specify the terminal type.
terminal=terminal_type |
terminal_type specifies the terminal type for the system. For a list of valid terminal values, see the subdirectories in the /usr/share/lib/terminfo directory.
You can set the time zone for the system with the timezone keyword. Use the following syntax.
timezone=timezone |
In the previous example, timezone specifies the time zone value for the sytem. The directories and files in the /usr/share/lib/zoneinfo directory provide the valid time zone values. The timezone value is the name of the path relative to the /usr/share/lib/zoneinfo directory. You can also specify any valid Olson time zone.
In the following example, the system time zone is set to mountain standard time in the United States.
timezone=US/Mountain |
The installation program configures the system to use the time zone information in /usr/share/lib/zoneinfo/US/Mountain.
You can use the timeserver keyword to specify the system that sets the date and time on the system you want to install.
Do not set timeserver=hostname or ip-address if you are running a name service.
Choose one of the following methods to set the timeserver keyword.
To configure the system to serve as its own time server, set timeserver=localhost. If you specify localhost as the time server, the system's time is assumed to be correct.
To specify another system as the time server, specify either the host name or the IP address of the time server with the timeserver keyword. Use the following syntax.
timeserver=hostname or ip-address |
hostname is the host name of the time server system. ip-address specifies the IP address of the time server.
For x86-based systems, you can configure the monitor information with the monitor keyword. Use the following syntax with the monitor keyword.
monitor=monitor_type |
To set the value for the monitor keyword, run the kdmconfig -d command on the system you want to install. Copy the line of output that includes the monitor keyword, and include this line in the sysidcfg file.
For more information, see the kdmconfig(1M) man page.
For x86-based systems, you can configure the keyboard language and layout information with the keyboard keyword. Use the following syntax with the keyboard keyword.
keyboard=keyboard_language {layout=value} |
To set the value for the keyboard keyword, run the kdmconfig -d command on the system you want to install. Copy the line of output that includes the keyboard keyword, and include this line in the sysidcfg file.
For more information, see the kdmconfig(1M) man page.
For x86-based systems, you can configure the following information with the display keyword.
Graphics card
Screen size
Color depth
Display resolution
Use the following syntax with the display keyword.
display=graphics_card {size=screen_size depth=color_depth resolution=screen_resolution} |
To set the appropriate values for the display keyword, run the kdmconfig -d command on the system you want to install. Copy the line of output that includes the display keyword, and include this line in the sysidcfg file.
For more information, see the kdmconfig(1M) man page.
For x86-based systems, you can configure the following mouse information with the pointer keyword.
Pointing device
Number of buttons
IRQ level
Use the following syntax with the pointer keyword.
pointer=pointing_device {nbuttons=number_buttons irq=value} |
To set the value for the pointer keyword, run the kdmconfig -d command on the system you want to install. Copy the line of output that includes the pointer keyword, and include this line in the sysidcfg file.
For more information, see the kdmconfig(1M) man page.
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 SPARC based system. The host name, IP address, and netmask of this system has 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.example.com name_server=connor(172.31.112.3)} root_password=m4QPOWNY network_interface=le0 {hostname=feron default_route=192.168.88.1 ip_address=192.168.88.210 netmask=255.255.0.0 protocol_ipv6=no} security_policy=kerberos {default_realm=example.COM admin_server=krbadmin.example.COM kdc=kdc1.example.COM, kdc2.example.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.example.com name_server=connor(172.25.112.3)} root_password=URFUni9 |
In the following sample sysidcfg file, configuration information is specified for both the eri0 and eri1 network interfaces. The eri0 interface is configured as the primary network interface, and eri1 is configured as a secondary network interface.
timezone=US/Pacific system_locale=C terminal=xterms timeserver=localhost network_interface=eri0 {primary hostname=feron ip_address=192.168.2.7 netmask=255.255.255.0 protocol_ipv6=no default_route=192.168.2.1} network_interface=eri1 {hostname=feron-b ip_address=192.168.3.8 netmask=255.255.255.0 protocol_ipv6=no default_route=192.168.3.1} root_password=JE2C35JGZi4B2 security_policy=none name_service=NIS {domain_name=domain.example.com name_server=nis-server(192.168.2.200)}
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 13, 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.
You can customize the macros in your DHCP service to perform the following types of installations.
Class-specific installations - You can instruct the DHCP service to perform a network installation for all clients of a specific class. For example, you can define a DHCP macro that performs the same installation on all Sun Blade systems on the network. Use the output of the add_install_client -d command to set up a class-specific installation.
Client-specific installations - You can instruct the DHCP service to perform a network installation for a client with a specific ethernet address. For example, you can define a DHCP macro that performs a specific installation on the client with the ethernet address 00:07:e9:04:4a:bf. Use the output of the add_install_client -d -e ethernet_address command to set up a client-specific installation.
For more information on setting up clients to install from the network, see the following procedures.
For network installations that use DVD media, see Adding Systems to Be Installed From the Network With a DVD Image.
For network installations that use CD media, see Adding Systems to Be Installed From the Network With a CD Image.
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–13 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.