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:
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
Use the following table to determine which method to use to preconfigure system configuration information.
Table 7–1 Methods to Preconfigure System Configuration Information
Because this information is system specific, edit the name service rather than create a different sysidcfg file for each system.
You can configure this information during a Solaris Web Start installation, but not through the sysidcfg file or the name service.
You cannot preconfigure this system configuration information through the sysidcfg file or the name service. SPARC: Preconfiguring Power Management Information contains details.
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.
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.
|
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. |
Using a text editor, create a file called sysidcfg.
Type the sysidcfg keywords you want.
Save the sysidcfg file.
If you create more than one sysidcfg file, you must save each one 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 disketteor PCFS diskette.
The following is an example of a sysidcfg filefor 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 is an example of a sysidcfg file 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 9 DVD or Solaris 9 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 9 DVD or Solaris 9 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.
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.