<chapter id="wanbootref-1"><title>WAN Boot (Reference)</title><highlights><para>This chapter briefly describes the commands and files you use to perform
a WAN installation.</para><itemizedlist><listitem><para><olink targetptr="wanbootreference-2" remap="internal">WAN Boot Installation
Commands</olink></para>
</listitem><listitem><para><olink targetptr="wanbootref-5" remap="internal">OBP Commands</olink></para>
</listitem><listitem><para><olink targetptr="wanbootref-3" remap="internal">System Configuration File
Settings and Syntax</olink></para>
</listitem><listitem><para><olink targetptr="wanbootref-4" remap="internal">wanboot.conf File Parameters
and Syntax</olink></para>
</listitem>
</itemizedlist>
</highlights><sect1 id="wanbootreference-2"><title>WAN Boot Installation Commands</title><para>The following tables describe the commands you use to perform a WAN
boot installation.</para><itemizedlist><listitem><para><olink targetptr="wanbootreference-tbl-3" remap="internal">Table 14&ndash;1</olink></para>
</listitem><listitem><para><olink targetptr="wanbootreference-tbl-3ee" remap="internal">Table 14&ndash;2</olink></para>
</listitem>
</itemizedlist><table frame="topbot" id="wanbootreference-tbl-3"><title>Preparing the WAN
Boot Installation and Configuration Files</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="colspec0" colwidth="34.25*"/><colspec colname="colspec1" colwidth="65.75*"/><thead><row rowsep="1"><entry><para>Task and Description</para>
</entry><entry><para>Command</para>
</entry>
</row>
</thead><tbody><row><entry><para>Copy the
Solaris installation image to <replaceable>install-dir-path</replaceable>,
and copy the WAN boot miniroot to <replaceable>wan-dir-path</replaceable> on
the install server's local disk.</para>
</entry><entry><para><command>setup_install_server &ndash;w <replaceable>wan-dir-path</replaceable> <replaceable>install-dir-path</replaceable></command></para>
</entry>
</row><row><entry><para>Create
a Solaris Flash archive that is named <filename><replaceable>name</replaceable>.flar</filename>.</para><itemizedlist><listitem><para><replaceable>name</replaceable> is the name of the archive</para>
</listitem><listitem><para><replaceable>optional-parameters</replaceable> are optional
parameters you can use to customize the archive</para>
</listitem><listitem><para><replaceable>document-root</replaceable> is the path to the
document root directory on the install server</para>
</listitem><listitem><para><replaceable>filename</replaceable> is the name of the archive</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>flarcreate &ndash; n <replaceable>name</replaceable> [<replaceable>optional-parameters</replaceable>] <replaceable>document-root</replaceable>/flash/<replaceable>filename</replaceable></command></para>
</entry>
</row><row><entry><para>Check the validity of the custom
JumpStart <filename>rules</filename> file that is named <replaceable>rules</replaceable>.</para>
</entry><entry><para><command>./check -r <replaceable>rules</replaceable></command></para>
</entry>
</row><row><entry><para>Check the validity of the <filename>wanboot.conf</filename> file.</para><itemizedlist><listitem><para><replaceable>net-ip</replaceable> is the IP address of the
client's subnet.</para>
</listitem><listitem><para><replaceable>client-ID</replaceable> can be a user-defined
ID or the DHCP client ID.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>bootconfchk /etc/netboot/<replaceable>net-ip</replaceable>/<replaceable>client-ID</replaceable>/wanboot.conf</command></para>
</entry>
</row><row><entry><para>Check for WAN
boot installation support in the client OBP.</para>
</entry><entry><para><command>eeprom | grep network-boot-arguments</command></para>
</entry>
</row>
</tbody>
</tgroup>
</table><table frame="topbot" id="wanbootreference-tbl-3ee"><title>Preparing the WAN
Boot Security Files</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="colspec0" colwidth="48.63*"/><colspec colname="colspec1" colwidth="51.37*"/><thead><row rowsep="1"><entry><para>Task and Description</para>
</entry><entry><para>Command</para>
</entry>
</row>
</thead><tbody><row><entry><para>Create a master HMAC SHA1 key for the WAN boot server.</para>
</entry><entry><para><command>wanbootutil keygen -m</command></para>
</entry>
</row><row><entry><para>Create a HMAC SHA1 hashing key for the client.</para><itemizedlist><listitem><para><replaceable>net-ip</replaceable> is the IP address of the
client's subnet.</para>
</listitem><listitem><para><replaceable>client-ID</replaceable> can be a user-defined
ID or the DHCP client ID.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>wanbootutil keygen -c -o net=<replaceable>net-ip</replaceable>,cid=<replaceable>client-ID</replaceable>,type=sha1</command></para>
</entry>
</row><row><entry><para>Create an encryption key for the client.</para><itemizedlist><listitem><para><replaceable>net-ip</replaceable> is the IP address of the
client's subnet.</para>
</listitem><listitem><para><replaceable>client-ID</replaceable> can be a user-defined
ID or the DHCP client ID.</para>
</listitem><listitem><para><replaceable>key-type</replaceable> is either <literal>3des</literal> or <literal>aes</literal>.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>wanbootutil keygen -c -o net=<replaceable>net-ip</replaceable>,cid=<replaceable>client-ID</replaceable>,type=<replaceable>key-type</replaceable></command></para>
</entry>
</row><row><entry><para>Split a PKCS#12 certificate file and insert the certificate in the client's <filename>truststore</filename>.</para><itemizedlist><listitem><para><replaceable>p12cert</replaceable> is the name of the PKCS#12
certificate file.</para>
</listitem><listitem><para><replaceable>net-ip</replaceable> is the IP address of the
client's subnet.</para>
</listitem><listitem><para><replaceable>client-ID</replaceable> can be a user-defined
ID or the DHCP client ID.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>wanbootutil p12split -i <replaceable>p12cert</replaceable> -t
/etc/netboot/<replaceable>net-ip</replaceable>/<replaceable>client-ID</replaceable>/truststore</command></para>
</entry>
</row><row><entry><para>Split a PKCS#12 certificate file and insert the client certificate in
the client's <filename>certstore</filename>.</para><itemizedlist><listitem><para><replaceable>p12cert</replaceable> is the name of the PKCS#12
certificate file.</para>
</listitem><listitem><para><replaceable>net-ip</replaceable> is the IP address of the
client's subnet.</para>
</listitem><listitem><para><replaceable>client-ID</replaceable> can be a user-defined
ID or the DHCP client ID.</para>
</listitem><listitem><para><replaceable>keyfile</replaceable> is the name of the client's
private key.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>wanbootutil p12split -i <replaceable>p12cert</replaceable> -c
/etc/netboot/<replaceable>net-ip</replaceable>/<replaceable>client-ID</replaceable>/certstore
-k <replaceable>keyfile</replaceable></command></para>
</entry>
</row><row><entry><para>Insert the client private key from a split PKCS#12 file in the client's <filename>keystore</filename>.</para><itemizedlist><listitem><para><replaceable>keyfile</replaceable> is the name of the client's
private key.</para>
</listitem><listitem><para><replaceable>net-ip</replaceable> is the IP address of the
client's subnet.</para>
</listitem><listitem><para><replaceable>client-ID</replaceable> can be a user-defined
ID or a DHCP client ID.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>wanbootutil keymgmt -i -k <replaceable>keyfile</replaceable> -s
/etc/netboot/<replaceable>net-ip</replaceable>/<replaceable>client-ID</replaceable>/keystore
-o type=rsa</command></para>
</entry>
</row><row><entry><para>Display the value of a HMAC SHA1 hashing key.</para><itemizedlist><listitem><para><replaceable>net-ip</replaceable> is the IP address of the
client's subnet.</para>
</listitem><listitem><para><replaceable>client-ID</replaceable> can be a user-defined
ID or the DHCP client ID.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>wanbootutil keygen -d -c -o net=<replaceable>net-ip</replaceable>,cid=<replaceable>client-ID</replaceable>,type=sha1</command></para>
</entry>
</row><row><entry><para>Display the value of an encryption key.</para><itemizedlist><listitem><para><replaceable>net-ip</replaceable> is the IP address of the
client's subnet.</para>
</listitem><listitem><para><replaceable>client-ID</replaceable> can be a user-defined
ID or the DHCP client ID.</para>
</listitem><listitem><para><replaceable>key-type</replaceable> is either <literal>3des</literal> or <literal>aes</literal>.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>wanbootutil keygen -d -c -o net=<replaceable>net-ip</replaceable>,cid=<replaceable>client-ID</replaceable>,type=<replaceable>key-type</replaceable></command></para>
</entry>
</row><row><entry><para>Insert a hashing key or an encryption key on a running system. <replaceable>key-type</replaceable> can have a value of <literal>sha1</literal>, <literal>3des</literal>, or <literal>aes</literal>.</para>
</entry><entry><para><command>/usr/lib/inet/wanboot/ickey -o type=<replaceable>key-type</replaceable></command></para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1><sect1 id="wanbootref-5"><title>OBP Commands</title><para>The following table lists the OBP commands
that you type at the client <literal>ok</literal> prompt to perform a WAN
boot installation.</para><table frame="topbot" id="wanbootref-tbl-6"><title>OBP Commands for a WAN
Boot Installation</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="colspec2" colwidth="50*"/><colspec colname="colspec3" colwidth="50*"/><thead><row><entry rowsep="1"><para>Task and Description</para>
</entry><entry rowsep="1"><para>OBP Command</para>
</entry>
</row>
</thead><tbody><row><entry><para>Begin an unattended WAN boot installation.</para>
</entry><entry><para><command>boot net &ndash; install</command></para>
</entry>
</row><row><entry><para>Begin an interactive WAN boot installation.</para>
</entry><entry><para><command>boot net &ndash;o prompt - install</command></para>
</entry>
</row><row><entry><para>Begin a WAN boot installation from a local CD.</para>
</entry><entry><para><command>boot cdrom &ndash;F wanboot - install</command></para>
</entry>
</row><row><entry><para>Install a hashing key before you
begin a WAN boot installation.<replaceable>key-value</replaceable> is the
hexadecimal value of the hashing key.</para>
</entry><entry><para><command>set-security-key wanboot-hmac-sha1 <replaceable>key-value</replaceable></command></para>
</entry>
</row><row><entry><para>Install an encryption key before
you begin a WAN boot installation.</para><itemizedlist><listitem><para><replaceable>key-type</replaceable> is either <literal>wanboot-3des</literal> or <literal>wanboot-aes</literal>.</para>
</listitem><listitem><para><replaceable>key-value</replaceable> is the hexadecimal value
of the encryption key.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>set-security-key <replaceable>key-type</replaceable> <replaceable>key-value</replaceable></command></para>
</entry>
</row><row><entry><para>Verify that key values are set in
OBP.</para>
</entry><entry><para><command>list-security-keys</command></para>
</entry>
</row><row><entry><para>Set client configuration
variables before you begin your WAN boot installation.</para><itemizedlist><listitem><para><replaceable>client-IP</replaceable> is the IP address of
the client.</para>
</listitem><listitem><para><replaceable>router-ip</replaceable> is the IP address of
the network router.</para>
</listitem><listitem><para><replaceable>mask-value</replaceable> is the subnet mask value.</para>
</listitem><listitem><para><replaceable>client-name</replaceable> is the host name of
the client.</para>
</listitem><listitem><para><replaceable>proxy-ip</replaceable> is the IP address of the
network's proxy server.</para>
</listitem><listitem><para><replaceable>wanbootCGI-path</replaceable> is  the path to
the <filename>wanbootCGI</filename> programs on the web server.</para>
</listitem>
</itemizedlist>
</entry><entry><para><command>setenv network-boot-arguments <?SolBook preflinebreak?>host-ip=<replaceable>client-IP</replaceable>,router-ip=<replaceable>router-ip</replaceable>,<?SolBook preflinebreak?>subnet-mask=<replaceable>mask-value</replaceable>,<?SolBook preflinebreak?>hostname=<replaceable>client-name</replaceable>,<?SolBook preflinebreak?>http-proxy=<replaceable>proxy-ip</replaceable>,<?SolBook preflinebreak?>file=<replaceable>wanbootCGI-path</replaceable></command></para>
</entry>
</row><row><entry><para>Check the network device alias.</para>
</entry><entry><para><command>devalias</command></para>
</entry>
</row><row><entry><para>Set the network device alias, where <replaceable>device-path</replaceable> is the path to the primary network device.</para>
</entry><entry><itemizedlist><listitem><para>To set the alias for the  current installation only, type <command>devalias net <replaceable>device-path</replaceable></command>.</para>
</listitem><listitem><para>To permanently set the alias, type <command>nvvalias net <replaceable>device-path</replaceable></command>.</para>
</listitem>
</itemizedlist>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1><sect1 id="wanbootref-3"><title>System Configuration File Settings and Syntax</title><para>The system configuration file enables you to direct the WAN boot installation
programs to the following files.</para><itemizedlist><listitem><para><filename>sysidcfg</filename></para>
</listitem><listitem><para><filename>rules.ok</filename></para>
</listitem><listitem><para>Custom JumpStart profile</para>
</listitem>
</itemizedlist><para>The system configuration file is a plain text file, and must be formatted
in the following pattern.</para><programlisting><replaceable>setting=value</replaceable></programlisting><para>The <filename>system.conf</filename> file must contain the following
settings.</para><variablelist termlength="wholeline"><varlistentry><term><literal>SsysidCF=</literal><replaceable>sysidcfg-file-URL</replaceable><literal></literal></term><listitem><para>This setting points to the directory on the install server that
contains the <filename>sysidcfg</filename> file. For WAN installations that
use HTTPS, set the value to a valid HTTPS URL.</para>
</listitem>
</varlistentry><varlistentry><term><literal>SjumpsCF=</literal><replaceable>jumpstart-files-URL</replaceable><literal></literal></term><listitem><para>This setting points to the custom JumpStart directory that
contains the <filename>rules.ok</filename> and profile files. For WAN installations
that use HTTPS, set the value to a valid HTTPS URL.</para>
</listitem>
</varlistentry>
</variablelist><para>You can store the <filename>system.conf</filename> in any directory
that is accessible to the WAN boot server.</para>
</sect1><sect1 id="wanbootref-4"><title><filename>wanboot.conf</filename> File Parameters
and Syntax</title><para>The <filename>wanboot.conf</filename> file is a plain-text configuration
file that the WAN boot installation programs use to perform a WAN installation.
The following programs and files use the information included in the <filename>wanboot.conf</filename> file to install the client machine.</para><itemizedlist><listitem><para><filename>wanboot-cgi</filename> program</para>
</listitem><listitem><para>WAN boot file system</para>
</listitem><listitem><para>WAN boot miniroot</para>
</listitem>
</itemizedlist><para>Save the <filename>wanboot.conf</filename> file in the appropriate client
subdirectory in the <filename>/etc/netboot</filename> hierarchy on the WAN
boot server. For information on how to define the scope of your WAN boot installation
with the <filename>/etc/netboot</filename> hierarchy, see <olink targetptr="wanboottasks2-50" remap="internal">Creating the /etc/netboot Hierarchy on the WAN
Boot Server</olink>.</para><para>You specify information in the <filename>wanboot.conf</filename> file
by listing parameters with associated values in the following format.</para><programlisting><replaceable>parameter=value</replaceable></programlisting><para>Parameter entries cannot span lines. You can include
comments in the file by preceding the comments with the <literal>#</literal> character.</para><para>For detailed information about the <filename>wanboot.conf</filename> file,
see the man page <filename>wanboot.conf</filename>(4).</para><para>You must set the following parameters in the <filename>wanboot.conf</filename> file.</para><variablelist termlength="wholeline"><varlistentry><term><literal>boot_file=</literal><replaceable>wanboot-path</replaceable></term><listitem><para>This parameter specifies the path to
the <filename>wanboot</filename> program. The value is a path relative to
the document root directory on the WAN boot server.</para><programlisting>boot_file=/wanboot/wanboot.s10_sparc</programlisting>
</listitem>
</varlistentry><varlistentry><term><literal>root_server=</literal><replaceable>wanbootCGI-URL</replaceable><literal>/wanboot-cgi</literal></term><listitem><para>This parameter specifies the URL of the <filename>wanboot-cgi</filename> program
on the WAN boot server.</para><itemizedlist><listitem><para>Use an HTTP URL if you are performing a  WAN boot installation
without client or server authentication.</para><programlisting>root_server=http://www.example.com/cgi-bin/wanboot-cgi</programlisting>
</listitem><listitem><para>Use an HTTPS URL if you are performing a WAN boot installation
with server authentication, or server and client authentication.</para><programlisting>root_server=https://www.example.com/cgi-bin/wanboot-cgi</programlisting>
</listitem>
</itemizedlist>
</listitem>
</varlistentry><varlistentry><term><literal>root_file=</literal><replaceable>miniroot-path</replaceable></term><listitem><para>This parameter specifies the path to the WAN boot miniroot on
the WAN boot server. The value is a path relative to the document root directory
on the WAN boot server.</para><programlisting>root_file=/miniroot/miniroot.s10_sparc</programlisting>
</listitem>
</varlistentry><varlistentry><term><literal>signature_type=sha1 |</literal> <replaceable>empty</replaceable></term><listitem><para>This parameter specifies the type of hashing key to use to
check the integrity of the data and files that are transmitted.</para><itemizedlist><listitem><para>For WAN boot installations that use a hashing key to protect
the <filename>wanboot</filename> program, set this value to <literal>sha1</literal>.</para><programlisting>signature_type=sha1</programlisting>
</listitem><listitem><para>For insecure WAN installations that do not use a hashing key,
leave this value blank.</para><programlisting>signature_type=</programlisting>
</listitem>
</itemizedlist>
</listitem>
</varlistentry><varlistentry><term><literal>encryption_type=3des | aes |</literal> <replaceable>empty</replaceable><literal></literal></term><listitem><para>This parameter specifies the type of encryption to use to
encrypt the <filename>wanboot</filename> program and WAN boot file system.</para><itemizedlist><listitem><para>For  WAN boot installations that use HTTPS, set this value
to <literal>3des</literal> or <literal>aes</literal> to match the key formats
you use. You must also set the <literal>signature_type</literal> keyword value
to <literal>sha1</literal>.</para><programlisting>encryption_type=3des</programlisting><para>or</para><programlisting>encryption_type=aes</programlisting>
</listitem><listitem><para>For an  insecure WAN boot installations
that do not use encryption key, leave this value blank.</para><programlisting>encryption_type=</programlisting>
</listitem>
</itemizedlist>
</listitem>
</varlistentry><varlistentry><term><literal>server_authentication=yes | no</literal></term><listitem><para>This parameter specifies if the server should be authenticated
during the WAN boot installation.</para><itemizedlist><listitem><para>For  WAN boot installations with server authentication or
server and client authentication, set this value to <literal>yes</literal>.
You must also set the value of <literal>signature_type</literal> to <literal>sha1</literal>, <literal>encryption_type</literal> to <literal>3des</literal> or <literal>aes</literal>, and the URL of <literal>root_server</literal> to an HTTPS value.</para><programlisting>server_authentication=yes</programlisting>
</listitem><listitem><para>For insecure WAN boot installations
that do not use server authentication or server and client authentication,
set this value to <literal>no</literal>. You can also leave the value blank.</para><programlisting>server_authentication=no</programlisting>
</listitem>
</itemizedlist>
</listitem>
</varlistentry><varlistentry><term><literal>client_authentication=yes | no</literal></term><listitem><para>This parameter specifies if the client should be authenticated
during a WAN boot installation.</para><itemizedlist><listitem><para>For  WAN boot installations with server and client authentication,
set this value to <literal>yes</literal>. You must also set the value of <literal>signature_type</literal> to <literal>sha1</literal>, <literal>encryption_type</literal> to <literal>3des</literal> or <literal>aes</literal>, and the URL of <literal>root_server</literal> to
an HTTPS value.</para><programlisting>client_authentication=yes</programlisting>
</listitem><listitem><para>For  WAN boot installations that do not use client authentication,
set this value to <literal>no</literal>. You can also leave the value blank.</para><programlisting>client_authentication=no</programlisting>
</listitem>
</itemizedlist>
</listitem>
</varlistentry><varlistentry><term><literal>resolve_hosts=</literal><replaceable>hostname</replaceable> <literal>|</literal> <replaceable>empty</replaceable></term><listitem><para>This parameter specifies additional hosts that need to be
resolved for the <filename>wanboot-cgi</filename>  program during the installation.</para><para>Set the value to the host names of systems that are not specified previously
in the <filename>wanboot.conf</filename> file or in a client certificate.</para><itemizedlist><listitem><para>If all the required hosts are listed in the <filename>wanboot.conf</filename> file or the client certificate, leave this value blank.</para><programlisting>resolve_hosts=</programlisting>
</listitem><listitem><para>If specific hosts are not listed in the <filename>wanboot.conf</filename> file or the client certificate, set the value to these host names.</para><programlisting>resolve_hosts=seahag,matters</programlisting>
</listitem>
</itemizedlist>
</listitem>
</varlistentry><varlistentry><term><literal>boot_logger=</literal><replaceable>bootlog-cgi-path</replaceable> <literal>|</literal> <replaceable>empty</replaceable></term><listitem><para>This parameter specifies the URL to the <filename>bootlog-cgi</filename> script
on the logging server.</para><itemizedlist><listitem><para>To record boot or installation log messages on a dedicated
logging server, set the value to the URL of the <filename>bootlog-cgi</filename> script
on the logging server.</para><programlisting>boot_logger=http://www.example.com/cgi-bin/bootlog-cgi</programlisting>
</listitem><listitem><para>To display boot and installation messages on the client console,
leave this value blank.</para><programlisting>boot_logger=</programlisting>
</listitem>
</itemizedlist>
</listitem>
</varlistentry><varlistentry><term><literal>system_conf=system.conf |</literal> <replaceable>custom-system-conf</replaceable><literal></literal></term><listitem><para>This parameter specifies the path to the system configuration
file that includes the location of <filename>sysidcfg</filename> and custom
JumpStart files.</para><para>Set the value to the path to the <filename>sysidcfg</filename> and custom
JumpStart files on the web server.</para><programlisting>system_conf=sys.conf</programlisting>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>