
  <sect2 id="invoking-openboot"><title>Invoking OpenBoot</title>

<para>

OpenBoot provides the basic functions needed to boot the &arch-title;
architecture.  This is rather similar in function to the BIOS in the
x86 architecture, although much nicer.  The Sun boot PROMs have a
built-in forth interpreter which lets you do quite a number of things
with your machine, such as diagnostics, simple scripts, etc.

</para><para>

To get to the boot prompt you need to hold down the
<emphasis>Stop</emphasis> key (on older type 4 keyboards, use the
<emphasis>L1</emphasis> key, if you have a PC keyboard adapter, use
the <emphasis>Break</emphasis> key) and press the
<emphasis>A</emphasis> key. The boot PROM will give you a prompt,
either <userinput>ok</userinput> or <userinput>&gt;</userinput>. It is
preferred to have the <userinput>ok</userinput> prompt. So if you get
the old style prompt, hit the `n' key to get the new style prompt.

</para>
  </sect2>

  <sect2 id="boot-dev-select-sun"><title>Boot Device Selection</title>

<para>

You can use OpenBoot to boot from specific devices, and also to change
your default boot device.  However, you need to know some details
about how OpenBoot names devices; it's much different from Linux
device naming, described in <xref linkend="device-names"></xref>.
Also, the command will vary a bit, depending on what version of
OpenBoot you have.  More information about OpenBoot can be found in
the <ulink url="&url-openboot;">Sun OpenBoot Reference</ulink>.

</para><para>

Typically, with newer revisions, you can use OpenBoot device such as
``floppy'', ``cdrom'', ``net'', ``disk'', or ``disk2''.  These have
the obvious meanings; the ``net'' device is for booting from the
network.  Additionally, the device name can specify a particular
partition of a disk, such as ``disk2:a'' to boot disk2, first
partition.  Full OpenBoot device names have the form

<informalexample>
<screen>
<replaceable>driver-name</replaceable>@
<replaceable>unit-address</replaceable>:
<replaceable>device-arguments</replaceable>
</screen></informalexample>.

In older revisions of OpenBoot, device naming is a bit different: the
floppy device is called ``/fd'', and SCSI disk devices are of the form
``sd(<replaceable>controller</replaceable>,
<replaceable>disk-target-id</replaceable>,
<replaceable>disk-lun</replaceable>)''.  The command
<userinput>show-devs</userinput> in newer OpenBoot revisions is useful
for viewing the currently configured devices.  For full information,
whatever your revision, see the 
<ulink url="&url-openboot;">Sun OpenBoot Reference</ulink>.

</para><para>

To boot from a specific device, use the command <userinput>boot
<replaceable>device</replaceable></userinput>.  You can set this
behavior as the default using the <userinput>setenv</userinput>
command.  However, the name of the variable to set changed between
OpenBoot revisions.  In OpenBoot 1.x, use the command
<userinput>setenv boot-from
<replaceable>device</replaceable></userinput>.  In later revisions of
OpenBoot, use the command <userinput>setenv boot-device
<replaceable>device</replaceable></userinput>. Note, this is also
configurable using the <command>eeprom</command> command on Solaris,
or modifying the appropriate files in
<filename>/proc/openprom/options/</filename>, for example under Linux:

<informalexample><screen>

echo disk1:1 &gt;/proc/openprom/options/boot-device

</screen></informalexample> 

and under Solaris:

<informalexample><screen>

eeprom boot-device=disk1:1

</screen></informalexample> 

</para>
  </sect2>
