Chapter 4 Preconfiguring System Configuration
Information
This chapter describes how to preconfigure the information in a sysidcfg file and name service databases so you can avoid being
prompted for this information every time you install Solaris. It also describes
how to preconfigure Power ManagementTM information.
Both the Solaris 8 Interactive Installation Program and custom JumpStart need configuration information
about a system (such as the system's peripheral devices, host name, Internet
Protocol (IP) address, and name service) before either installation tool can
install the Solaris 8 software. Before prompting you for configuration
information, both installation tools look for the information in the sysidcfg file or the name service databases (in that order).
For example, if you have a large number of systems and you don't want
to be prompted for the time zone every time you install Solaris 8 on
one of the systems, you can specify the time zone in the sysidcfg file or the name service databases. When you subsequently install Solaris 8,
the time zone prompt is not displayed.
Ways to Preconfigure System Configuration Information
There are two ways to preconfigure system configuration information.
You can add the information to:
Use Table 4-1 to determine which method to
use to preconfigure system configuration information for your system.
Table 4-1 Methods to Preconfigure System Configuration Information
|
If you want to preconfigure
|
And your platform is
|
Can you preconfigure
with the sysidcfg file?
|
Can you preconfigure with the name service?
|
|
Name service
|
All
|
Yes
|
Yes
|
|
Domain name
|
All
|
Yes
|
No
|
|
Name server
|
All
|
Yes
|
No
|
|
Network interface
|
All
|
Yes
|
No
|
|
Host name
|
All
|
Yes [Because this information is system specific, edit the name service rather than creating a different sysidcfg file for each system.]
|
Yes
|
|
Internet Protocol (IP) address
|
All
|
Yes
|
Yes
|
|
Netmask
|
All
|
Yes
|
No
|
|
DHCP
|
All
|
Yes
|
No
|
|
IPv6
|
All
|
Yes
|
No
|
|
Root password
|
All
|
Yes
|
No
|
|
Security policy
|
All
|
Yes
|
No
|
|
Language (locale) in which to
display the install program and desktop
|
All
|
Yes
|
Yes
|
|
Terminal type
|
All
|
Yes
|
No
|
|
Time zone
|
All
|
Yes
|
Yes
|
|
Date and time
|
All
|
Yes
|
Yes
|
|
Monitor type
|
IA
|
Yes
|
No
|
|
Keyboard language, keyboard layout
|
IA
|
Yes
|
No
|
|
Graphics card, color depth, display
resolution, screen size
|
IA
|
Yes
|
No
|
|
Pointing device, number of buttons,
IRQ level
|
IA
|
Yes
|
No
|
|
Power Management (autoshutdown) [This system configuration information cannot be preconfigured through the sysidcfg file or the name service. "SPARC: Preconfiguring Power Management Information" contains details.]
|
SPARC
|
No
|
No
|
Guidelines for Preconfiguring With the sysidcfg
File
You specify a set of keywords in the sysidcfg file
to preconfigure a system. These keywords are described in Table 4-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 provided you want all the systems 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 a shared NFSTM network directory or in the root (/)
directory on:
-
A UFS diskette
-
A PCFS diskette
in the system's diskette drive.
-
If you put the sysidcfg file in a shared
NFS network directory, you must use the -p option of the add_install_client(1M) command (when you set up the system to install over
the network) to specify where the system can find the sysidcfg
file when you install Solaris.
-
SPARC: If you put the sysidcfg
file on a profile diskette, ensure that the diskette is inserted in the system's
diskette drive when the system boots.
-
IA: Put the sysidcfg file
on the diskette that contains the Solaris 8 Device Configuration Assistant.
Note -
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.
Types of Keywords: Dependent and Independent
There are two types of keywords you use in the sysidcfg
file: independent and dependent. Dependent keywords are guaranteed to be unique
only within independent keywords. That is, 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 Rules of the sysidcfg File
|
Syntax Rule
|
Example
|
|
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)}
|
|
Values can optionally be enclosed
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
|
Table 4-2 describes the keywords you can use
in the sysidcfg file.
Table 4-2 Keywords You Can Use in
sysidcfg
|
Configuration Information
|
Platform
|
Keywords
|
Where to Find Values/Example
|
|
Name service, domain name, name
server
|
All
|
name_service=NIS, NIS+, DNS,
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 of the domain_name and name_server keywords, as needed. If neither keyword is used, omit the curly
braces {}.
|
|
Network interface, host name,
Internet Protocol (IP) address, netmask, DHCP, IPv6
|
All
|
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 ip_address=ip_address netmask=netmask protocol_ipv6=yes_or_no} |
network_interface=le0 {hostname=feron ip_address=129.222.2.1 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 ({}).
Note -
If DHCP is not to be used, protocol_ipv6 is optional; you do not need to specify it.
|
|
Root password
|
All
|
root_password=root_password
|
Encrypted from /etc/shadow.
|
|
Security policy
|
All
|
security_policy=kerberos, NONE
Options for kerberos: {default_realm=FQDN admin_server=FQDN kdc=FQDN1,
FQDN2, FQDN3}
where FQDN is a fully
qualified domain name.
Note -
You can list a maximum of three key distribution centers (KDCs), but
at least one is required.
|
security_policy=kerberos
{default_realm=Yoursite.COM
admin_server=krbadmin.Yoursite.COM
kdc=kdc1.Yoursite.COM, kdc2.Yoursite.COM}
|
|
Language in which to display the
install program and desktop
|
All
|
system_locale=locale
|
The /usr/lib/locale directory or Appendix B, Locale Values
provides the valid locale values.
|
|
Terminal type
|
All
|
terminal=terminal_type
|
The subdirectories in the /usr/share/lib/terminfo directory provide the valid terminal values.
|
|
Time zone
|
All
|
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.
|
|
Date and time
|
All
|
timeserver=localhost, hostname, ip_addr
|
If you specify localhost as the time server, the system's
time is assumed to be correct. If you specify the hostname
or ip_addr (if you are not running a name service)
of a system, that system's time is used to set the time.
|
|
Monitor type
|
IA
|
monitor=monitor_type
|
Run kdmconfig -d filename; append output to sysidcfg file.
|
|
Keyboard language, keyboard layout
|
IA
|
keyboard=keyboard_language {layout=value}
|
Run kdmconfig -d filename; append output to sysidcfg
file.
|
|
Graphics card, screen size, color
depth, display resolution
|
IA
|
display=graphics_card {size=screen_size depth=color_depth resolution=screen_resolution}
|
Run kdmconfig -d filename; append output
to sysidcfg file.
|
|
Pointing device, number of buttons,
IRQ level
|
IA
|
pointer=pointing_device {nbuttons=number_buttons irq=value}
|
Run kdmconfig -d filename; append
output to sysidcfg file.
|
SPARC: Example sysidcfg File
The following example illustrates what a sysidcfg
file looks like 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 the system configuration information is preconfigured in this
file, you could 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
|
IA: Example sysidcfg File
The following example illustrates what a sysidcfg
file looks like for a group of IA 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
|
To Create a sysidcfg Configuration File
-
Using
a text editor of your choice, open a new text file and name it sysidcfg.
Note -
If you create more than one sysidcfg file, you
must save each one in a separate directory or on a separate diskette.
-
Enter the sysidcfg keywords you want.
-
Save the sysidcfg file.
-
Make the sysidcfg file available to clients through:
Preconfiguring With the Name Service
SPARC only -
For SPARC based systems, preconfigure system configuration information
by editing the name service (NIS or NIS+).
The following table provides a high-level overview of what you need
to do.
|
To preconfigure
|
You must edit and populate these name
service databases
|
|
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 being installed)
|
|
Time zone
|
timezone
|
|
Netmask
|
netmasks
|
The procedure to preconfigure the locale for a system is different for
each name service, as described in "To Preconfigure the Locale Using NIS".
To Preconfigure the Locale Using NIS
-
As superuser on the name server, open /var/yp/Makefile
with a text editor of your choice.
-
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
|
-
Toward 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
|
-
Create the file /etc/locale and make one entry
for each domain or specific system:
or
Note -
Appendix B, Locale Values contains a list of valid locales.
For example, the following entry specifies that French is the default
language used in the worknet.com domain:
And the following entry specifies that Belgian French is the default
locale used by a system named sherlock:
Note -
Locales are available on the Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition
CD.
-
Make the maps:
Systems specified by domain or individually in the locale
map are now set up to use the default locale. The default locale you've specified
is used during installation and by the desktop after the system is rebooted.
To Preconfigure the Locale Using NIS+
This procedure assumes the NIS+ domain is set up. Setting up the NIS+
domain is documented in the Solaris Naming Administration Guide.
-
Log in to a name server as superuser or as a user in the NIS+ administration
group.
-
Type this nistbladm command:
# nistbladm -D access=og=rmcd,nw=r -c locale_tbl name=SI,nogw=
locale=,nogw= comment=,nogw= locale.org_dir.`nisdefaults -d`
|
A locale table is created.
-
Add an entry to the locale table by typing this nistbladm command:
# nistbladm -a name=domain_name locale=locale comment=comment
locale.org_dir.`nisdefaults -d`
|
|
domain_name
|
Is either the domain name or a specific
system name for which you want to preconfigure a default locale.
|
|
locale
|
Is the locale you want installed on
the system and used on the desktop after the system is rebooted. Appendix B, Locale Values
contains a list of valid locales.
|
|
comment
|
Is the comment field. Use double quotation
marks to begin and end comments that are longer than one word.
|
Note -
Locales are available on the Solaris 8 Software 1 of 2 SPARC Platform Edition or Solaris 8 Software 1 of 2 Intel Platform Edition
CD.
Systems 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.
SPARC: Preconfiguring Power Management Information
You can use the Power Management software 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 8
software on a system that complies with Version 2 of the EPA's Energy Star
guidelines--a sun4u SPARC system, for example--the Power Management
software is installed by default, and you are prompted after subsequently
rebooting to enable or disable the Power Management software.
If you are performing interactive installations, there is no way to
preconfigure the Power Management information and avoid the prompt. However,
using custom JumpStart, 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.
Finish scripts are described in "Creating Finish Scripts".