<chapter id="preconsysid_adv-15630"><title>Preconfiguring With a Naming Service or
DHCP</title><highlights><para>This chapter describes procedures about preconfiguring system information
with a naming service or DHCP. This chapter contains the following sections:</para><itemizedlist><listitem><para><olink targetptr="preconsysid-31023" remap="internal">Choosing a Naming Service</olink></para>
</listitem><listitem><para><olink targetptr="preconsysid-41345" remap="internal">Preconfiguring With the
Naming Service</olink></para>
</listitem><listitem><para><olink targetptr="dhcp-admin-38" remap="internal">Preconfiguring System Configuration
Information With the DHCP Service (Tasks)</olink></para>
</listitem>
</itemizedlist>
</highlights><sect1 id="preconsysid-31023"><title>Choosing a Naming Service</title><para>You can choose one of the following ways to preconfigure system configuration
information. You can add the system configuration information to any of the
following.</para><itemizedlist><listitem><para>A <filename>sysidcfg</filename> file on a remote system or
diskette</para><note><para>The <literal>name_service</literal> option in the <filename>sysidcfg</filename> file
automatically  sets the naming service during installation of the Solaris
OS. This setting overrides SMF services previously setup for <filename>site.xml</filename>.
Therefore, you might need to reset your name service after installation.</para>
</note>
</listitem><listitem><para>The naming service database available at your site</para>
</listitem><listitem><para>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 <olink targetptr="dhcp-admin-38" remap="internal">Preconfiguring System Configuration Information
With the DHCP Service (Tasks)</olink>.</para>
</listitem>
</itemizedlist><para>Use the following table to determine whether to use a <filename>sysidcfg</filename> file
or a naming service database to preconfigure system configuration information.</para><table frame="topbot" pgwide="1" id="preconsysid-tbl-23"><title>Methods to
Preconfigure System Configuration Information</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colname="column1" colwidth="144*"/><colspec colname="column3" colwidth="97*"/><colspec colname="column4" colwidth="100*"/><thead><row rowsep="1"><entry><para>Preconfigurable System Information</para>
</entry><entry><para>Preconfigurable
With the <filename>sysidcfg</filename> File?</para>
</entry><entry><para>Preconfigurable With
the Naming Service?</para>
</entry>
</row>
</thead><tbody><row><entry><para>Naming service</para>
</entry><entry><para>Yes</para>
</entry><entry><para>Yes</para>
</entry>
</row><row><entry><para>Domain
name</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>Name
server</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>Network interface</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>Host
name</para>
</entry><entry><para>Yes</para><para>Because this information is system specific, edit the naming service
rather than create a different <filename>sysidcfg</filename> file for each
system.</para>
</entry><entry><para>Yes</para>
</entry>
</row><row><entry><para>Internet Protocol (IP) address</para>
</entry><entry><para>Yes</para><para>Because this information is system specific, edit the naming service
rather than create a different <filename>sysidcfg</filename> file for each
system.</para>
</entry><entry><para>Yes</para>
</entry>
</row><row><entry><para>Netmask</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>DHCP</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>IPv6</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>Default route</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>Root password</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>Security policy</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>Language (locale) in which to display the install program and desktop</para>
</entry><entry><para>Yes</para>
</entry><entry><para>Yes, if NIS or NIS+</para><para>No, if DNS or LDAP</para>
</entry>
</row><row><entry><para>Terminal
type</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>Time
zone</para>
</entry><entry><para>Yes</para>
</entry><entry><para>Yes</para>
</entry>
</row><row><entry><para>Date and time</para>
</entry><entry><para>Yes</para>
</entry><entry><para>Yes</para>
</entry>
</row><row><entry><para>Web
proxy</para>
</entry><entry><para>No</para><para>You can configure this information with the Solaris installation program,
but not through the <filename>sysidcfg</filename> file or the naming service.</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>x86:
Monitor type</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>x86: Keyboard language, keyboard layout</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>x86: Graphics card, color depth,
display resolution, screen size</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>x86: Pointing device,
number of buttons, IRQ level</para>
</entry><entry><para>Yes</para>
</entry><entry><para>No</para>
</entry>
</row><row><entry><para>SPARC: Power Management (autoshutdown)</para><para>You cannot preconfigure Power Management through the <filename>sysidcfg</filename> file
or the naming service. <olink targetptr="preconsysid-24" remap="internal">Preconfiguring Power
Management Information</olink> contains details.</para>
</entry><entry><para>No</para>
</entry><entry><para>No</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1><sect1 id="preconsysid-41345"><title>Preconfiguring With the Naming Service</title><para>The following table provides a high-level overview of the naming service
databases that you need to edit and populate to preconfigure system information.</para><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="144*"/><colspec colname="column2" colwidth="252*"/><thead><row rowsep="1"><entry><para>System Information to Preconfigure</para>
</entry><entry><para>Naming Service Database</para>
</entry>
</row>
</thead><tbody><row><entry><para>Host name and Internet Protocol (IP) address</para>
</entry><entry><para><filename>hosts</filename></para>
</entry>
</row><row><entry><para>Date and time</para>
</entry><entry><para><filename>hosts</filename>. Specify the <literal>timehost</literal> alias
next to the host name of the system that will provide the date and time for
the systems that are being installed.</para>
</entry>
</row><row><entry><para>Time zone</para>
</entry><entry><para><filename>timezone</filename></para>
</entry>
</row><row><entry><para>Netmask</para>
</entry><entry><para><filename>netmasks</filename></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><para>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
below to use your naming service to preconfigure the locale for a system.</para><note><para>In order to successfully preconfigure your system locale by using
NIS or NIS+, the following requirements must be met:</para><itemizedlist><listitem><para>You must boot the system from the network by using the following
command:</para><screen>ok <userinput>boot net</userinput></screen><para>You can use options with this command. See details in Step 2 of the<olink targetptr="eyavn" remap="internal">To Install the Client Over the Network (DVD)</olink> procedure.</para>
</listitem><listitem><para>The NIS or NIS+ server must be available to access during
the installation.</para>
</listitem>
</itemizedlist><para>If these requirements are fulfilled, the installer uses the preconfigured
settings and does not prompt for the locale during the installation.  If either
requirement is not fulfilled, the installer prompts for your locale information
during the installation.</para>
</note><itemizedlist><listitem><para><olink targetptr="preconsysid-12982" remap="internal">To Preconfigure the Locale
Using NIS</olink></para>
</listitem><listitem><para><olink targetptr="preconsysid-96586" remap="internal">To Preconfigure the Locale
Using NIS+</olink></para>
</listitem>
</itemizedlist><task id="preconsysid-12982"><title>To Preconfigure the Locale Using NIS</title><procedure><step id="preconsysid-step-4"><para>Become superuser or assume an equivalent
role on the name server.</para>
</step><step id="preconsysid-step-10"><para>Change <filename>/var/yp/Makefile</filename> to add the locale map. </para><substeps><step id="preconsysid-step-25"><para>Insert this shell procedure after the
last <literal></literal><replaceable>variable</replaceable><literal>.time</literal> shell
procedure.</para><programlisting role="complete">locale.time:  $(DIR)/locale
        -@if [ -f $(DIR)/locale ]; then \
               sed -e "/^#/d" -e s/#.*$$// $(DIR)/locale \
               | awk '{for (i = 2; i&lt;=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</programlisting>
</step><step id="preconsysid-step-11"><para>Find the string <literal>all:</literal> and,
at the end of the list of variables, insert the word <literal>locale</literal>.</para><programlisting role="complete">all: passwd group hosts ethers networks rpc services protocols \
	netgroup bootparams aliases publickey netid netmasks c2secure \
	timezone auto.master auto.home locale</programlisting>
</step><step id="preconsysid-step-26"><para>Near the end of the file, after the last
entry of its type, insert the string <literal>locale: locale.time</literal> on
a new line.</para><programlisting role="complete">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</programlisting>
</step><step id="preconsysid-step-5a"><para>Save the file.</para>
</step>
</substeps>
</step><step id="preconsysid-step-14"><para>Create the file <filename>/etc/locale</filename> and
make one entry for each domain or specific system:  </para><stepalternatives><step><para>Enter <literal>locale domain_name</literal>.</para><para>For example,
the following entry specifies that French is the default language that is
used in the <literal>example.com</literal> domain:</para><programlisting role="complete">fr example.com</programlisting><note><para><olink targetdoc="i18ndg" remap="external"><citetitle remap="book">International Language Environments Guide</citetitle></olink> contains a list of valid locales.</para>
</note>
</step><step><para>Or, enter <literal>locale system_name</literal>.</para><para>The
following example specifies that Belgian French is the default locale that
is used by a system named <literal>myhost</literal>:</para><programlisting role="complete">fr_BE myhost</programlisting>
</step>
</stepalternatives><note><para>Locales are available on the Solaris DVD or Solaris Software - 1 CD.</para>
</note>
</step><step id="preconsysid-step-15"><para>Make
the maps:</para><screen># <userinput>cd /var/yp; make</userinput></screen><para>Systems that are specified by domain or individually in the <literal>locale</literal> 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.</para>
</step>
</procedure><taskrelated-custom><title>Continuing the Installation</title><para>If you plan to use the NIS name service in an installation over the
network, you need to set up an installation server and add the system as an
installation client. For more information, see <olink targetptr="netinstalloverview-28995" remap="internal">Chapter&nbsp;4, Installing From the Network
(Overview)</olink>.</para><para>If you plan to use the NIS name service in a custom JumpStart installation,
you need to create a profile and a <filename>rules.ok</filename> file. For
more information, see <olink targetdoc="solinstalladv" targetptr="jumpstartoverview-4" remap="external">Chapter 2, <citetitle remap="chapter">Custom JumpStart (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Custom JumpStart and Advanced Installations</citetitle></olink>.</para>
</taskrelated-custom><taskrelated role="see-also"><para>For more information about the NIS name service, see <olink targetdoc="sysadv5" targetptr="nissetup-1" remap="external">Part&nbsp;III, <citetitle remap="chapter">NIS Setup and Administration,</citetitle> in <citetitle remap="book">System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)</citetitle></olink>.</para>
</taskrelated>
</task><task id="preconsysid-96586"><title>To Preconfigure the Locale Using NIS+</title><tasksummary><para>The following procedure assumes the NIS+ domain is set up. Setting up
the NIS+ domain is documented in the <olink targetdoc="sysadv5" remap="external"><citetitle remap="book">System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)</citetitle></olink>.</para>
</tasksummary><procedure><step id="preconsysid-step-18"><para>Log in to a name server as superuser
or as a user in the NIS+ administration group.</para>
</step><step id="preconsysid-step-19"><para>Create the <literal>locale</literal> table:</para><screen># <userinput>nistbladm -D access=og=rmcd,nw=r -c locale_tbl name=SI,nogw=</userinput>
<userinput>locale=,nogw= comment=,nogw= locale.org_dir.`nisdefaults -d`</userinput></screen>
</step><step id="preconsysid-step-20"><para>Add needed entries to the <literal>locale</literal>.</para><screen># <userinput>nistbladm -a name=<replaceable>name</replaceable>locale=<replaceable>locale</replaceable> comment=<replaceable>comment</replaceable></userinput>
<userinput>locale.org_dir.`nisdefaults -d`</userinput></screen><variablelist><varlistentry><term><replaceable>name</replaceable></term><listitem><para>Either the domain name or a specific system name for which
you want to preconfigure a default locale.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>locale</replaceable></term><listitem><para>The locale you want to install on the system and use on the
desktop after the system is rebooted. <olink targetdoc="i18ndg" remap="external"><citetitle remap="book">International Language Environments Guide</citetitle></olink> contains
a list of valid locales.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>comment</replaceable></term><listitem><para>The comment field. Use double quotation marks to begin and
end comments that are longer than one word.</para>
</listitem>
</varlistentry>
</variablelist><note><para>Locales are available on the Solaris DVD or Solaris Software - 1 CD.</para>
</note><para>Systems that are specified by domain or individually in the <literal>locale</literal> 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.</para>
</step>
</procedure><taskrelated-custom><title>Continuing the Installation</title><para>If you plan to use the NIS+ name service in an installation over the
network, you need to set up an installation server and add the system as an
installation client. For more information, see <olink targetptr="netinstalloverview-28995" remap="internal">Chapter&nbsp;4, Installing From the Network
(Overview)</olink>.</para><para>If you plan to use the NIS+ name service in a custom JumpStart installation,
you need to create a profile and a <filename>rules.ok</filename> file. For
more information, see <olink targetdoc="solinstalladv" targetptr="jumpstartoverview-4" remap="external">Chapter 2, <citetitle remap="chapter">Custom JumpStart (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Custom JumpStart and Advanced Installations</citetitle></olink>.</para>
</taskrelated-custom><taskrelated role="see-also"><para>For more information about the NIS+ name service, see <olink targetdoc="sysadv7" remap="external"><citetitle remap="book">System Administration Guide: Naming and Directory Services (NIS+)</citetitle></olink>.</para>
</taskrelated>
</task>
</sect1><sect1 id="dhcp-admin-38"><title>Preconfiguring System Configuration Information
With the DHCP Service (Tasks)</title><para>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.</para><para>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. </para><para>You can use DHCP to install the Solaris OS on
certain client systems on your network. All SPARC based systems that are supported
by the Solaris OS and x86 based systems that meet the hardware requirements
for running the Solaris OS can use this feature.  </para><para>The following task map shows the high-level tasks that must be performed
to enable clients to obtain installation parameters by using DHCP.</para><table frame="topbot" id="fblim"><title>Task Map: Preconfiguring System Configuration
Information With the DHCP Service</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row rowsep="1"><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Set up an install server.</para>
</entry><entry><para>Set up a Solaris server to support clients that must install the Solaris OS from
the network.</para>
</entry><entry><para><olink targetptr="netinstalloverview-28995" remap="internal">Chapter&nbsp;4, Installing
From the Network (Overview)</olink></para>
</entry>
</row><row><entry><para>Set up client systems for Solaris installation over the network by using
DHCP.</para>
</entry><entry><para>Use <literal>add_install_client -d</literal> to add DHCP network installation
support for a class of client (of a certain machine type, for example) or
a particular client ID. </para>
</entry><entry><para>Using Solaris DVD:</para><para><olink targetptr="netinstalldvd-40778" remap="internal">Adding Systems to Be Installed
From the Network With a DVD Image</olink></para><para>Using Solaris CD:</para><para><olink targetptr="netinstall-40778" remap="internal">Adding Systems to Be Installed From
the Network With a CD Image</olink></para><para><olink targetdoc="refman1m" targetptr="add-install-client-1m" remap="external"><citerefentry><refentrytitle>add_install_client</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink></para>
</entry>
</row><row><entry><para>Prepare your network to use the DHCP service.</para>
</entry><entry><para>Decide how you want to configure your DHCP server.</para>
</entry><entry><para><olink targetdoc="sysadv3" targetptr="chap2-26" remap="external">Chapter 15, <citetitle remap="chapter">Planning for DHCP Service (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink></para>
</entry>
</row><row><entry><para>Configure the DHCP server.</para>
</entry><entry><para>Use DHCP Manager to configure your DHCP server</para>
</entry><entry><para><olink targetdoc="sysadv3" targetptr="chapter3-20" remap="external">Chapter 16, <citetitle remap="chapter">Configuring the DHCP Service (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink></para>
</entry>
</row><row><entry><para>Create DHCP options for installation parameters and macros that include
the options.</para>
</entry><entry><para>Use DHCP Manager or <literal>dhtadm</literal> to create new Vendor options
and macros that the DHCP server can use to pass installation information to
the clients.</para>
</entry><entry><para><olink targetptr="dhcp-admin-21" remap="internal">Creating DHCP Options and Macros for
Solaris Installation Parameters</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</table><sect2 id="dhcp-admin-21"><title>Creating DHCP Options and Macros for Solaris
Installation Parameters</title><para>When you add clients with
the <literal>add_install_client -d</literal> 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.</para><para>You can customize the options and macros in your DHCP service to perform
the following types of installations.</para><itemizedlist><listitem><para><emphasis role="strong">Class-specific installations</emphasis> &ndash;
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 <literal>add_install_client -d</literal> command to set
up a class-specific installation.</para>
</listitem><listitem><para><emphasis role="strong">Network-specific installations</emphasis> &ndash;
You can instruct the DHCP service to perform a network installation for all
clients in a specific network. For example, you can define a DHCP macro that
performs the same installation on all systems in the 192.168.2 network.</para>
</listitem><listitem><para><emphasis role="strong">Client-specific installations</emphasis>  &ndash;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 <literal>add_install_client -d -e</literal> <replaceable>ethernet_address</replaceable><literal></literal> command to set up a client-specific
installation.</para>
</listitem>
</itemizedlist><para>For more information on setting up clients to use a DHCP server for
a network installation, see the following procedures.</para><itemizedlist><listitem><para>For network installations that use DVD media, see <olink targetptr="netinstalldvd-40778" remap="internal">Adding Systems to Be Installed From the Network
With a DVD Image</olink>.</para>
</listitem><listitem><para>For network installations that use CD media, see <olink targetptr="netinstall-40778" remap="internal">Adding Systems to Be Installed From the Network
With a CD Image</olink>.</para>
</listitem>
</itemizedlist><sect3 id="macrooptions"><title>DHCP Options and Macro Values</title><para>To install DHCP clients from the network, you must create Vendor category
options to pass information that is needed to install the Solaris OS.
The following tables describe common DHCP options that you can use to install
a DHCP client.</para><itemizedlist><listitem><para>You can use the standard DHCP options that are listed in <olink targetptr="fwazb" remap="internal">Table 3&ndash;3</olink> to configure and install x86 based
systems. These options are not platform specific, and can be used to install
the Solaris OS on a variety of x86 based systems. For a complete list of standard options, see <olink targetdoc="refman4" targetptr="dhcp-inittab-4" remap="external"><citerefentry><refentrytitle>dhcp_inittab</refentrytitle><manvolnum>4</manvolnum></citerefentry></olink>.</para>
</listitem><listitem><para><olink targetptr="dhcp-admin-tbl-26" remap="internal">Table 3&ndash;4</olink> lists
options that you can use to install Sun client systems. The vendor client
classes that are listed in this 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 <olink targetdoc="sysadv3" targetptr="dhcp-admin-206" remap="external"><citetitle remap="section">Working With DHCP Options (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink> for information about how to determine a client's
vendor client class. </para>
</listitem>
</itemizedlist><para>For detailed information on DHCP options, see <olink targetdoc="sysadv3" targetptr="dhcp-ref-9" remap="external"><citetitle remap="section">DHCP Option Information</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink>.</para><table frame="topbot" pgwide="1" id="fwazb"><title>Values for Standard DHCP
Options</title><tgroup cols="6" colsep="0" rowsep="0"><colspec colwidth="15.92*"/><colspec colwidth="13.85*"/><colspec colwidth="16.56*"/><colspec colwidth="13.00*"/><colspec colwidth="11.79*"/><colspec colwidth="24.89*"/><thead><row rowsep="1"><entry><para>Option Name</para>
</entry><entry><para>Code</para>
</entry><entry><para>Data Type</para>
</entry><entry><para>Granularity</para>
</entry><entry><para>Maximum</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para><literal>BootFile</literal></para>
</entry><entry><para>N/A</para>
</entry><entry><para>ASCII</para>
</entry><entry><para>1</para>
</entry><entry><para>1</para>
</entry><entry><para>Path to the client's boot file</para>
</entry>
</row><row><entry><para><literal>BootSrvA</literal></para>
</entry><entry><para>N/A</para>
</entry><entry><para>IP address</para>
</entry><entry><para>1</para>
</entry><entry><para>1</para>
</entry><entry><para>IP address of boot server</para>
</entry>
</row><row><entry><para><literal>DNSdmain</literal></para>
</entry><entry><para>15</para>
</entry><entry><para>ASCII</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para>DNS domain name</para>
</entry>
</row><row><entry><para><literal>DNSserv</literal></para>
</entry><entry><para>6</para>
</entry><entry><para>IP address</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para>List of DNS name servers</para>
</entry>
</row><row><entry><para><literal>NISdmain</literal></para>
</entry><entry><para>40</para>
</entry><entry><para>ASCII</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para>NIS domain name</para>
</entry>
</row><row><entry><para><literal>NISservs</literal></para>
</entry><entry><para>41</para>
</entry><entry><para>IP address</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para>IP address of NIS server</para>
</entry>
</row><row><entry><para><literal>NIS+dom</literal></para>
</entry><entry><para>64</para>
</entry><entry><para>ASCII</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para>NIS+ domain name</para>
</entry>
</row><row><entry><para><literal>NIS+serv</literal></para>
</entry><entry><para>65</para>
</entry><entry><para>IP address</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para>IP address of NIS+ server</para>
</entry>
</row><row><entry><para><literal>Router</literal></para>
</entry><entry><para>3</para>
</entry><entry><para>IP address</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para>IP addresses of network routers</para>
</entry>
</row>
</tbody>
</tgroup>
</table><table frame="topbot" pgwide="1" id="dhcp-admin-tbl-26"><title>Values for
Creating Vendor Category Options for Solaris Clients</title><tgroup cols="7" colsep="0" rowsep="0" align="left"><colspec colname="colspec0" colwidth="75.25*"/><colspec colname="colspec2" colwidth="40.30*"/><colspec colname="colspec3" colwidth="61.82*"/><colspec colname="colspec4" colwidth="71.24*"/><colspec colname="colspec5" colwidth="63.51*"/><colspec colname="colspec8" colwidth="143.38*"/><colspec colname="colspec7" colwidth="142.53*"/><thead><row rowsep="1"><entry><para>Name</para>
</entry><entry><para>Code</para>
</entry><entry><para>Data Type</para>
</entry><entry><para>Granularity</para>
</entry><entry><para>Maximum</para>
</entry><entry><para>Vendor Client Classes *</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry namest="colspec0" nameend="colspec7"><para><emphasis>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.</emphasis></para><note><para>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.</para>
</note>
</entry>
</row><row><entry><para><literal>SrootIP4</literal></para>
</entry><entry><para>2</para>
</entry><entry><para>IP address</para>
</entry><entry><para>1</para>
</entry><entry><para>1</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>IP address of root server</para>
</entry>
</row><row><entry><para><literal>SrootNM</literal></para>
</entry><entry><para>3</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Host name of root server</para>
</entry>
</row><row><entry><para><literal>SrootPTH</literal></para>
</entry><entry><para>4</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Path to the client's root directory on the root server</para>
</entry>
</row><row><entry><para><literal>SinstIP4</literal></para>
</entry><entry><para>10</para>
</entry><entry><para>IP address</para>
</entry><entry><para>1</para>
</entry><entry><para>1</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>IP address of JumpStart install server</para>
</entry>
</row><row><entry><para><literal>SinstNM</literal></para>
</entry><entry><para>11</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Host name of install server</para>
</entry>
</row><row><entry><para><literal>SinstPTH</literal></para>
</entry><entry><para>12</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Path to installation image on install server</para>
</entry>
</row><row><entry namest="colspec0" nameend="colspec7"><para><emphasis>The following options can be used by the client startup scripts,
but are not required by the scripts.</emphasis></para><note><para>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.</para>
</note>
</entry>
</row><row><entry><para><literal>SrootOpt</literal></para>
</entry><entry><para>1</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>NFS mount options for the client's root file system</para>
</entry>
</row><row><entry><para><literal>SbootFIL</literal></para>
</entry><entry><para>7</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Path to the client's boot file</para>
</entry>
</row><row><entry><para><literal>SbootRS</literal></para>
</entry><entry><para>9</para>
</entry><entry><para>NUMBER</para>
</entry><entry><para>2</para>
</entry><entry><para>1</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>NFS read size used by standalone boot program when loading the kernel</para>
</entry>
</row><row><entry><para><literal>SsysidCF</literal></para>
</entry><entry><para>13</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Path to <literal>sysidcfg</literal> file, in the format <replaceable>server:/path</replaceable></para>
</entry>
</row><row><entry><para><literal>SjumpsCF</literal></para>
</entry><entry><para>14</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Path to JumpStart configuration file in the format <replaceable>server:/path</replaceable></para>
</entry>
</row><row><entry><para><literal>SbootURI</literal></para>
</entry><entry><para>16</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Path to the standalone boot file or path to the WAN boot file. For the
standalone boot file, use the following format.</para><para><literal>tftp://inetboot.sun4u</literal></para><para>For the WAN boot file, the format is</para><para><literal>http://</literal><replaceable>host.domain/path-to-file</replaceable><literal></literal></para><para>This option can be used to override <literal>BootFile</literal> and <literal>siaddr</literal> settings in order to retrieve a standalone boot file. Supported
protocols: tftp (inetboot), http (wanboot). For example, use the following
format. <literal>tftp://inetboot.sun4u</literal></para>
</entry>
</row><row><entry><para><literal>SHTTPproxy</literal></para>
</entry><entry><para>17</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>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: <literal>198.162.10.5:8080</literal></para>
</entry>
</row><row><entry namest="colspec0" nameend="colspec7"><para><emphasis>The following options are not currently used by the Solaris
client startup scripts. You can use them only if you edit the startup scripts.</emphasis></para><note><para>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.</para>
</note>
</entry>
</row><row><entry><para><literal>SswapIP4</literal></para>
</entry><entry><para>5</para>
</entry><entry><para>IP address</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>IP address of swap server</para>
</entry>
</row><row><entry><para><literal>SswapPTH</literal></para>
</entry><entry><para>6</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Path to the client's swap file on the swap server</para>
</entry>
</row><row><entry><para><literal>Stz</literal></para>
</entry><entry><para>8</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Time zone for client</para>
</entry>
</row><row><entry><para><literal>Sterm</literal></para>
</entry><entry><para>15</para>
</entry><entry><para>ASCII text</para>
</entry><entry><para>1</para>
</entry><entry><para>0</para>
</entry><entry><para><literal>SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc</literal></para>
</entry><entry><para>Terminal type </para>
</entry>
</row>
</tbody>
</tgroup>
</table><para>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.</para><table frame="topbot" pgwide="1" id="dhcp-admin-tbl-27"><title>Sample Macros
to Support Network Installation Clients</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="colspec0" colwidth="126*"/><colspec colname="colspec1" colwidth="328*"/><thead><row rowsep="1"><entry><para>Macro Name</para>
</entry><entry><para>Contains These Options and Macros</para>
</entry>
</row>
</thead><tbody><row><entry><para><literal>Solaris</literal></para>
</entry><entry><para><literal>SrootIP4, SrootNM, SinstIP4, SinstNM</literal></para>
</entry>
</row><row><entry><para><literal>sparc</literal></para>
</entry><entry><para><literal>SrootPTH, SinstPTH</literal></para>
</entry>
</row><row><entry><para><literal>sun4u</literal></para>
</entry><entry><para><literal>Solaris</literal> and <literal>sparc</literal> macros </para>
</entry>
</row><row><entry><para><literal>sun4v</literal></para>
</entry><entry><para><literal>Solaris</literal> and <literal>sparc</literal> macros </para>
</entry>
</row><row><entry><para><literal>i86pc</literal></para>
</entry><entry><para><literal>Solaris</literal> macro, <literal>SrootPTH, SinstPTH, SbootFIL</literal> </para>
</entry>
</row><row><entry><para><literal>SUNW.i86pc</literal> </para>
</entry><entry><para><literal>i86pc</literal> macro</para>
</entry>
</row><row><entry><para><literal>SUNW.Sun-Blade-1000</literal> </para>
</entry><entry><para><literal>sun4u</literal> macro, <literal>SbootFIL</literal> </para>
</entry>
</row><row><entry><para><literal>SUNW.Sun-Fire-880</literal> </para>
</entry><entry><para><literal>sun4u</literal> macro, <literal>SbootFIL</literal> </para>
</entry>
</row><row><entry><para><literal>PXEClient:Arch:<?SolBook preflinebreak?>00000:UNDI:002001</literal></para>
</entry><entry><para><literal>BootSrvA</literal>, <literal>BootFile</literal></para>
</entry>
</row><row><entry><para><replaceable>xxx.xxx.xxx.xxx</replaceable> network address macros</para>
</entry><entry><para><literal>BootSrvA</literal> option could be added to existing network
address macros. The value of <literal>BootSrvA</literal> should indicate the <literal>tftboot</literal> server.</para>
</entry>
</row><row><entry><para><filename>01<replaceable>client-MAC-address</replaceable></filename> client-specific
macros (for example, <literal>010007E9044ABF</literal>)</para>
</entry><entry><para><literal>BootSrvA</literal>, <literal>BootFile</literal></para>
</entry>
</row>
</tbody>
</tgroup>
</table><para>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 <olink targetdoc="sysadv3" targetptr="dhcp-admin-206" remap="external"><citetitle remap="section">Working With DHCP Options (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink> for information about
determining a client's vendor client class.</para><para>You can create these options and macros by using the following methods.</para><itemizedlist><listitem><para>Create the options and macros in DHCP Manager. See <olink targetptr="dhcp-admin-25" remap="internal">Using DHCP Manager to Create Install Options and
Macros</olink> for instructions about how to create options and macros in
DHCP Manager.</para>
</listitem><listitem><para>Write a script that creates the options and macros by using
the <literal>dhtadm</literal> command. See <olink targetptr="dhcp-admin-23" remap="internal">Writing
a Script That Uses dhtadm to Create Options and Macros</olink> for information
about how to write scripts that create these options and macros.</para>
</listitem>
</itemizedlist><para>Note that the total size of the vendor options that are provided to
a particular client must not exceed 255 bytes, including the option codes
and length information. This  is a limitation of the current Solaris DHCP
protocol implementation. Generally, you should pass the minimum amount of
vendor information needed. You should use short path names in options that
require path names. If you create symbolic links to long paths, you can use
the shorter link names.</para>
</sect3><sect3 id="dhcp-admin-25"><title>Using DHCP Manager to Create Install Options
and Macros</title><para>You can use DHCP Manager to create the options that are listed in <olink targetptr="dhcp-admin-tbl-26" remap="internal">Table 3&ndash;4</olink> and the macros that
are listed in <olink targetptr="dhcp-admin-tbl-27" remap="internal">Table 3&ndash;5</olink>.</para><task id="fbliy"><title>How to Create Options to Support Solaris Installation
(DHCP Manager)</title><taskprerequisites><para>Perform the following tasks before you create DHCP macros for your installation.</para><itemizedlist><listitem><para>Add the clients that you want to install with DHCP as install
clients of your network installation server. For information about how to
add a client to an install server, see <olink targetptr="netinstalloverview-28995" remap="internal">Chapter&nbsp;4, Installing From the Network
(Overview)</olink>.</para>
</listitem><listitem><para>Configure your DHCP server. If you have not configured your
DHCP server, see <olink targetdoc="sysadv3" targetptr="chap2-26" remap="external">Chapter 15, <citetitle remap="chapter">Planning for DHCP Service (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink>.</para>
</listitem>
</itemizedlist>
</taskprerequisites><procedure><step id="fbliv"><para>Become superuser or assume an equivalent role on the
DHCP server system.</para>
</step><step id="fblix"><para>Start the DHCP Manager.</para><screen># <userinput>/usr/sadm/admin/bin/dhcpmgr &amp;</userinput></screen><para>The DHCP Manager window is displayed.</para>
</step><step id="fbljl"><para>Select the Options tab in DHCP Manager.</para>
</step><step id="fbljb"><para>Choose Create from the Edit menu.</para><para>The Create
Option panel opens.</para>
</step><step id="fbljf"><para>Type the option name for the first option, then type
values appropriate for that option.</para><para>Use the output of the <command>add_install_client</command> command , <olink targetptr="fwazb" remap="internal">Table 3&ndash;3</olink>, and <olink targetptr="dhcp-admin-tbl-26" remap="internal">Table 3&ndash;4</olink> 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 <olink targetdoc="sysadv3" targetptr="dhcp-admin-206" remap="external"><citetitle remap="section">Working With DHCP Options (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink> for
information about how to determine a client's vendor client class. </para>
</step><step id="fblja"><para>Click OK when you have entered all the values.</para>
</step><step id="dhcp-admin-step-333"><para>In the Options tab, select the option
you just created.</para>
</step><step id="fbljn"><para>Select Duplicate from the Edit menu.</para><para>The
Duplicate Option panel opens.</para>
</step><step id="dhcp-admin-step-335"><para>Type the name of another option, then
modify other values appropriately.</para><para>The values for code, data type,
granularity, and maximum are most likely to need modification. See <olink targetptr="fwazb" remap="internal">Table 3&ndash;3</olink> and <olink targetptr="dhcp-admin-tbl-26" remap="internal">Table 3&ndash;4</olink> for the values.</para>
</step><step id="fbljm"><para>Repeat <olink targetptr="dhcp-admin-step-333" remap="internal">Step&nbsp;7</olink> through <olink targetptr="dhcp-admin-step-335" remap="internal">Step&nbsp;9</olink> until you have created
all the options.</para><para>You can now create macros to pass the options
to network installation clients, as explained in the following procedure.</para><note><para>You do not need to add these options to a Solaris client's <literal>/etc/dhcp/inittab</literal> file because they are already included in that file.</para>
</note>
</step>
</procedure>
</task><task id="fblje"><title>How to Create Macros to Support Solaris Installation
(DHCP Manager)</title><taskprerequisites><para>Perform the following tasks before you create DHCP macros for your installation.</para><itemizedlist><listitem><para>Add the clients that you want to install with DHCP as install
clients of your network installation server. For information about how to
add a client to an install server, see <olink targetptr="netinstalloverview-28995" remap="internal">Chapter&nbsp;4, Installing From the Network
(Overview)</olink>.</para>
</listitem><listitem><para>Configure your DHCP server. If you have not configured your
DHCP server, see <olink targetdoc="sysadv3" targetptr="chap2-26" remap="external">Chapter 15, <citetitle remap="chapter">Planning for DHCP Service (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink>.</para>
</listitem><listitem><para>Create the DHCP options that you want to use in your macro.
For instructions about how to create DHCP options, see <olink targetptr="fbliy" remap="internal">How
to Create Options to Support Solaris Installation (DHCP Manager)</olink>.</para>
</listitem>
</itemizedlist>
</taskprerequisites><procedure><step id="fbljd"><para>Select the Macros tab in DHCP Manager.</para>
</step><step id="fbljp"><para>Choose Create from the Edit menu.</para><para>The Create
Macro panel opens.</para>
</step><step id="fbljk"><para>Type the name of a macro.</para><para>See <olink targetptr="dhcp-admin-tbl-27" remap="internal">Table 3&ndash;5</olink> for macro names you
might use.</para>
</step><step id="fbljg"><para>Click the Select button.</para><para>The Select Option
panel opens.</para>
</step><step id="fblji"><para>Select Vendor in the Category list.</para><para>The
Vendor options you created are listed.</para>
</step><step id="dhcp-admin-step-344"><para>Select an option you want to add to the
macro and click OK.</para>
</step><step id="dhcp-admin-step-345"><para>Type a value for the option.</para><para>See <olink targetptr="fwazb" remap="internal">Table 3&ndash;3</olink> and <olink targetptr="dhcp-admin-tbl-26" remap="internal">Table 3&ndash;4</olink> for the option's data
type and refer to the information that <literal>add_install_client -d</literal> reports.</para>
</step><step id="fbljj"><para>Repeat <olink targetptr="dhcp-admin-step-344" remap="internal">Step&nbsp;6</olink> through <olink targetptr="dhcp-admin-step-345" remap="internal">Step&nbsp;7</olink> for each option you want
to include.</para><para>To include another macro, type <userinput>Include</userinput> as
the option name and type the macro name as the option value.</para>
</step><step id="fbljc"><para>Click OK when the macro is complete.</para>
</step>
</procedure><taskrelated-custom><title>Continuing the Installation</title><para>If you plan to use DHCP in an installation over the network, you need
to set up an installation server and add the system as an installation client.
For more information, see <olink targetptr="netinstalloverview-28995" remap="internal">Chapter&nbsp;4,
Installing From the Network (Overview)</olink>.</para><para>If you plan to use DHCP in a WAN boot installation, you need to perform
additional tasks. For more information, see <olink targetptr="wanbootoverview-1" remap="internal">Chapter&nbsp;9, WAN Boot (Overview)</olink>.</para><para>If you plan to use DHCP in a custom JumpStart installation, you need
to create a profile and a <filename>rules.ok</filename> file. For more information,
see <olink targetdoc="solinstalladv" targetptr="jumpstartoverview-4" remap="external">Chapter 2, <citetitle remap="chapter">Custom JumpStart (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Custom JumpStart and Advanced Installations</citetitle></olink>.</para>
</taskrelated-custom><taskrelated role="see-also"><para>For more information about DHCP, see <olink targetdoc="sysadv3" targetptr="dhcptm-1" remap="external">Part&nbsp;II, <citetitle remap="chapter">DHCP,</citetitle> in <citetitle remap="book">System Administration Guide: IP Services</citetitle></olink>.</para>
</taskrelated>
</task>
</sect3><sect3 id="dhcp-admin-23"><title>Writing a Script That Uses <literal>dhtadm</literal> to
Create Options and Macros</title><para>You
can create a Korn shell script by adapting the example in <olink targetptr="dhcp-admin-ex-325" remap="internal">Example 3&ndash;1</olink> to create all the
options listed in <olink targetptr="fwazb" remap="internal">Table 3&ndash;3</olink> and <olink targetptr="dhcp-admin-tbl-26" remap="internal">Table 3&ndash;4</olink> 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 <literal>Vendor=</literal> key to indicate the class of clients you have.
Use the information that <literal>add_install_client -d</literal> reports
to obtain the data that you need to adapt the script. </para><example id="dhcp-admin-ex-325"><title>Sample Script to Support Network Installation</title><programlisting remap="wide" width="100" role="complete"># Load the Solaris vendor specific options. We'll start out supporting 
# the Sun-Blade-1000, Sun-Fire-880, and i86 platforms. Note that the 
# SUNW.i86pc option only applies for the Solaris 10 3/05 release. 
# 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.
# Note that this macro applies only for the Solaris 10 3/05 release.
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.
# Note that this class only applies for the Solaris 10 3/05 release.
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_
# Create a macro for PXE clients that want to boot from our boot server.
# Note that this macro applies for the Solaris 10 3/05 release.
dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \
:BootFile=nbp.i86pc:BootSrvA=10.21.0.2:
# Create a macro for PXE clients that want to boot from our boot server.
# Note that this macro applies for the Solaris 10 2/06 release.
dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \
:BootFile=i86pc:BootSrvA=10.21.0.2:
# Create a macro for the x86 based client with the Ethernet address 00:07:e9:04:4a:bf 
# to install from the network by using PXE.
dhtadm -A -m 010007E9044ABF -d :BootFile=010007E9044ABF:BootSrvA=10.21.0.2:
# 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":'</programlisting>
</example><para>As superuser, execute <literal>dhtadm</literal> in batch mode. Specify
the name of the script to add the options and macros to your <literal>dhcptab</literal>.
For example, if your script is named <literal>netinstalloptions</literal>,
type the following command.</para><screen># <userinput>dhtadm -B netinstalloptions</userinput></screen><para>Clients that have vendor client classes that are listed in the <literal>Vendor=</literal> string can now use DHCP to install over the network.</para><para>For more information about how to use the <command>dhtadm</command> command,
see <olink targetdoc="refman1m" targetptr="dhtadm-1m" remap="external"><citerefentry><refentrytitle>dhtadm</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink>.
For more information about the <command>dhcptab</command> file, see <olink targetdoc="refman4" targetptr="dhcptab-4" remap="external"><citerefentry><refentrytitle>dhcptab</refentrytitle><manvolnum>4</manvolnum></citerefentry></olink>.</para>
</sect3>
</sect2>
</sect1>
</chapter>