summaryrefslogtreecommitdiff
path: root/static/netbsd/man8/man8.macppc
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man8/man8.macppc
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff)
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man8/man8.macppc')
-rw-r--r--static/netbsd/man8/man8.macppc/boot.8 3.html296
-rw-r--r--static/netbsd/man8/man8.macppc/ofwboot.8 3.html367
2 files changed, 663 insertions, 0 deletions
diff --git a/static/netbsd/man8/man8.macppc/boot.8 3.html b/static/netbsd/man8/man8.macppc/boot.8 3.html
new file mode 100644
index 00000000..07107669
--- /dev/null
+++ b/static/netbsd/man8/man8.macppc/boot.8 3.html
@@ -0,0 +1,296 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">BOOT(8)</td>
+ <td class="head-vol">System Manager's Manual (macppc)</td>
+ <td class="head-rtitle">BOOT(8)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">boot</code> &#x2014; <span class="Nd">Macppc
+ system bootstrapping procedures</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<section class="Ss">
+<h2 class="Ss" id="Power_fail_and_crash_recovery"><a class="permalink" href="#Power_fail_and_crash_recovery">Power
+ fail and crash recovery</a></h2>
+<p class="Pp">Normally, the system will reboot itself at power-up or after
+ crashes. An automatic consistency check of the file systems will be
+ performed as described in <a class="Xr">fsck(8)</a>, and unless this fails,
+ the system will resume multi-user operations.</p>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="Cold_starts"><a class="permalink" href="#Cold_starts">Cold
+ starts</a></h2>
+<p class="Pp">The boot ROM performs a Power On Self Test (POST) then loads Open
+ Firmware. Depending on the Open Firmware variable
+ &#x2018;<code class="Ev">auto-boot?</code>&#x2019; it will either stop at
+ the Open Firmware prompt or attempt to boot an operating system. Depending
+ on the contents of the &#x2018;<code class="Ev">use-nvramrc?</code>&#x2019;,
+ &#x2018;<code class="Ev">boot-command</code>&#x2019;,
+ &#x2018;<code class="Ev">boot-device</code>&#x2019;, and
+ &#x2018;<code class="Ev">boot-file</code>&#x2019; Open Firmware variables,
+ it will attempt to boot MacOS, MacOS X, or
+ <span class="Ux">NetBSD</span>.</p>
+<p class="Pp">To boot <span class="Ux">NetBSD</span>, Open Firmware loads the
+ bootloader <a class="Xr">macppc/ofwboot(8)</a> from the specified
+ &#x2018;<code class="Ev">boot-device</code>&#x2019;. The bootloader then
+ loads the kernel from the &#x2018;<code class="Ev">boot-file</code>&#x2019;,
+ (if it exists). Otherwise, it tries to load (in the following order):
+ <span class="Pa">netbsd</span>, <span class="Pa">netbsd.gz</span>, or
+ <span class="Pa">netbsd.macppc</span> on the &#x201C;a&#x201D; partition of
+ the same device that had the bootloader.</p>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="Open_Firmware_Commands"><a class="permalink" href="#Open_Firmware_Commands">Open
+ Firmware Commands</a></h2>
+<p class="Pp">An essential but incomplete list of Open Firmware commands
+ follows. A more thorough list is contained in the FAQ.
+ <a class="Lk" href="https://www.NetBSD.org/ports/macppc/faq.html#ofw-use">https://www.NetBSD.org/ports/macppc/faq.html#ofw-use</a></p>
+<p class="Pp"><code class="Ic">boot</code> [<var class="Ar">boot-device</var>
+ [<var class="Ar">boot-file</var>]] [<var class="Ar">options</var>]</p>
+<p class="Pp">Boot an operating system. The default arguments for this command
+ are taken from the Open Firmware environment variables:</p>
+<dl class="Bl-tag Bl-compact">
+ <dt><var class="Ar">boot-device</var></dt>
+ <dd>primary bootloader location</dd>
+ <dt><var class="Ar">boot-file</var></dt>
+ <dd>kernel location</dd>
+ <dt><var class="Ar">options</var></dt>
+ <dd>flags passed to the kernel</dd>
+</dl>
+<p class="Pp"><code class="Ic">reset-all</code></p>
+<p class="Pp">Reset the system, and proceed as specified by the
+ &#x2018;<code class="Ev">use-nvramrc?</code>&#x2019; and
+ &#x2018;<code class="Ev">auto-boot?</code>&#x2019; variables. If
+ &#x2018;<code class="Ev">use-nvramrc?</code>&#x2019; is set to
+ &#x2018;<code class="Ev">true</code>&#x2019;, then the system will attempt
+ to execute the commands stored in the
+ &#x2018;<code class="Ev">nvramrc</code>&#x2019; variable. If
+ &#x2018;<code class="Ev">auto-boot?</code>&#x2019; is set to
+ &#x2018;<code class="Ev">true</code>&#x2019;, the system will attempt to use
+ the values stored in &#x2018;<code class="Ev">boot-command</code>&#x2019;,
+ &#x2018;<code class="Ev">boot-device</code>&#x2019;, and
+ &#x2018;<code class="Ev">boot-file</code>&#x2019; to boot the system. If
+ &#x2018;<code class="Ev">auto-boot?</code>&#x2019; is set to
+ &#x2018;<code class="Ev">false</code>&#x2019;, the system will halt at the
+ Open Firmware prompt.</p>
+<p class="Pp"><code class="Ic">shut-down</code></p>
+<p class="Pp">Power off the system.</p>
+<p class="Pp"><code class="Ic">setenv</code> <var class="Ar">variable</var>
+ <var class="Ar">value</var></p>
+<p class="Pp">Set an Open Firmware variable, e.g.,</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>setenv auto-boot? false
+setenv boot-device hd:,\ofwboot.xcf
+setenv boot-file netbsd-GENERIC.gz</pre>
+</div>
+<p class="Pp"><code class="Ic">set-default</code>
+ <var class="Ar">variable</var></p>
+<p class="Pp">Set an Open Firmware variable to its default value.</p>
+<p class="Pp"><code class="Ic">printenv</code>
+ [<var class="Ar">variable</var>]</p>
+<p class="Pp">Show Open Firmware variables and values.</p>
+<p class="Pp"><code class="Ic">eject fd</code></p>
+<p class="Pp">Eject floppy disk on systems with on-board floppy drives.</p>
+<p class="Pp"><code class="Ic">mac-boot</code></p>
+<p class="Pp">Attempt to boot MacOS on an Open Firmware 3 system.</p>
+<p class="Pp"><code class="Ic">bye</code></p>
+<p class="Pp">Attempt to boot MacOS on an Open Firmware 1.0.5, 2.0.x, or 2.4
+ system.</p>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="Open_Firmware_Variables"><a class="permalink" href="#Open_Firmware_Variables">Open
+ Firmware Variables</a></h2>
+<p class="Pp">An essential but incomplete list of Open Firmware variables
+ follows. A more thorough list is contained in the FAQ.
+ <a class="Lk" href="https://www.NetBSD.org/ports/macppc/faq.html#ofw-variables">https://www.NetBSD.org/ports/macppc/faq.html#ofw-variables</a></p>
+<dl class="Bl-tag">
+ <dt id="auto-boot?"><a class="permalink" href="#auto-boot?"><code class="Ev">auto-boot?</code></a></dt>
+ <dd>What Open Firmware will do at system startup or reset:
+ <dl class="Bl-tag">
+ <dt><var class="Ar">true</var></dt>
+ <dd>automatically bootstrap an operating system using values from the
+ &#x2018;<code class="Ev">boot-command</code>&#x2019;,
+ &#x2018;<code class="Ev">boot-device</code>&#x2019;, and
+ &#x2018;<code class="Ev">boot-file</code>&#x2019; variables.</dd>
+ <dt><var class="Ar">false</var></dt>
+ <dd>stop at the Open Firmware prompt.</dd>
+ </dl>
+ </dd>
+ <dt id="use-nvramrc?"><a class="permalink" href="#use-nvramrc?"><code class="Ev">use-nvramrc?</code></a></dt>
+ <dd>If &#x2018;<code class="Ev">true</code>&#x2019; runs commands in variable
+ &#x2018;<code class="Ev">nvramrc</code>&#x2019;.</dd>
+ <dt id="real-base"><a class="permalink" href="#real-base"><code class="Ev">real-base</code></a></dt>
+ <dd>Kernel memory location. <i class="Em">Do not modify this value on Open
+ Firmware 3 systems &#x2014; you may</i> <i class="Em">damage your
+ computer</i>. All other Open Firmware versions should use
+ <code class="Li">F00000</code>.</dd>
+ <dt id="load-base"><a class="permalink" href="#load-base"><code class="Ev">load-base</code></a></dt>
+ <dd>Bootloader memory location. <i class="Em">Do not modify this value on Open
+ Firmware 3 systems &#x2014; you may</i> <i class="Em">damage your
+ computer</i>. All other Open Firmware versions should use
+ <code class="Li">600000</code>.</dd>
+ <dt id="boot-command"><a class="permalink" href="#boot-command"><code class="Ev">boot-command</code></a></dt>
+ <dd>The command to use for booting. Typically, the default of
+ &#x2018;<code class="Ev">boot</code>&#x2019; is used.</dd>
+ <dt id="boot-device"><a class="permalink" href="#boot-device"><code class="Ev">boot-device</code></a></dt>
+ <dd>Device from which to load primary bootloader. Value depends on a variety
+ of factors. See <a class="Xr">macppc/ofwboot(8)</a>.</dd>
+ <dt id="boot-file"><a class="permalink" href="#boot-file"><code class="Ev">boot-file</code></a></dt>
+ <dd>Kernel location. Value depends on a variety of factors. See
+ <a class="Xr">macppc/ofwboot(8)</a>.</dd>
+ <dt id="input-device"><a class="permalink" href="#input-device"><code class="Ev">input-device</code></a></dt>
+ <dd>What type of console input device (ADB keyboard, USB keyboard, or serial
+ port).
+ <dl class="Bl-tag">
+ <dt><var class="Ar">kbd</var></dt>
+ <dd>ADB keyboard on models with ADB, USB keyboard on models with USB, and
+ built-in keyboard on laptops. This is the default on some Open
+ Firmware 2.0.x machines and all Open Firmware 2.4 and 3 machines.</dd>
+ <dt><var class="Ar">ttya</var></dt>
+ <dd>&#x2018;Modem&#x2019; serial port on machines with serial ports.
+ Properties are 38400 bps, 8 bits, no parity, 1 stop bit, no
+ handshaking. This is the default on all Open Firmware 1.0.5 systems
+ and some Open Firmware 2.0.x systems.</dd>
+ <dt><var class="Ar">ttyb</var></dt>
+ <dd>&#x2018;Printer&#x2019; serial port on machines with serial ports.
+ Properties are the same as the &#x2018;Modem&#x2019; port.</dd>
+ <dt><var class="Ar">scca</var></dt>
+ <dd>Serial port on Xserve models. Properties are 57600 bps, 8 bits, no
+ parity, 1 stop bit, no handshaking.</dd>
+ </dl>
+ </dd>
+ <dt>output-device</dt>
+ <dd>What type of console output device (On-board video, AGP video, PCI video,
+ built-in LCD, or serial console). Value depends on a variety of factors.
+ See <a class="Xr">macppc/ofwboot(8)</a> and
+ <a class="Lk" href="https://www.NetBSD.org/ports/macppc/faq.html#ofw-input-output-devices">https://www.NetBSD.org/ports/macppc/faq.html#ofw-input-output-devices</a></dd>
+ <dt>nvramrc</dt>
+ <dd>If &#x2018;<code class="Ev">use-nvramrc?</code>&#x2019; is set to true,
+ these FORTH commands will be run when the computer is reset</dd>
+</dl>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="Normal_Operation"><a class="permalink" href="#Normal_Operation">Normal
+ Operation</a></h2>
+<p class="Pp">When Open Firmware loads the primary bootloader, it will print
+ something like the following:</p>
+<div class="Bd Pp Bd-indent">
+<pre> loading XCOFF
+ tsize=CC50 dsize=14AC bsize=2668 entry=640000
+ SECTIONS:
+ .text 00640000 00640000 0000CC50 000000E0
+ .data 0064D000 0064D000 000014AC 0000CD30
+ .bss 0064E4B0 0064E4B0 00002668 00000000
+ loading .text, done..
+ loading .data, done..
+ clearing .bss, done..</pre>
+</div>
+<p class="Pp">When <a class="Xr">macppc/ofwboot(8)</a> is started, it prints
+ something like the following:</p>
+<div class="Bd Pp Bd-indent">
+<pre> &gt;&gt; NetBSD/macppc OpenFirmware Boot, Revision 1.7
+ &gt;&gt; (autobuild@tgm.daemon.org, Thu Feb 6 17:50:27 UTC 2003)</pre>
+</div>
+<p class="Pp">When <a class="Xr">macppc/ofwboot(8)</a> is loading the kernel, it
+ prints something like the following:</p>
+<div class="Bd Pp Bd-indent">
+<pre> 4395364+254568 [220144+193803]=0x4d477c
+ start=0x100000</pre>
+</div>
+<p class="Pp">When the <span class="Ux">NetBSD</span> kernel has started it
+ prints a banner similar to the following:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre> Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ The NetBSD Foundation, Inc. All rights reserved.
+ Copyright (c) 1982, 1986, 1989, 1991, 1993
+ The Regents of the University of California. All rights reserved.
+
+ NetBSD 1.6ZC (GENERIC) #0: Tue Sep 30 13:09:10 UTC 2003
+ autobuild@tgm.NetBSD.org:/autobuild/HEAD/macppc/OBJ/autobuild/HEAD/src/sys/arch/macppc/compile/GENERIC</pre>
+</div>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="After_bootstrap"><a class="permalink" href="#After_bootstrap">After
+ bootstrap</a></h2>
+<p class="Pp">Once the <span class="Ux">NetBSD</span>/macppc kernel is booted
+ normally it initializes itself and proceeds to start the system. An
+ automatic consistency check of the file systems takes place, and unless this
+ fails, the system comes up to multi-user operation.</p>
+<p class="Pp">The proper way to shut the system down is with the
+ <a class="Xr">shutdown(8)</a> command.</p>
+<p class="Pp">If the system crashes, it will enter the kernel debugger,
+ <a class="Xr">ddb(4)</a>, if it is configured in the kernel. If the crash
+ occurred during initialization and the debugger is not present or is exited,
+ the kernel will halt the system.</p>
+<p class="Pp">If the crash occurred during normal operation and the debugger is
+ not present or is exited, the system will attempt a dump to the configured
+ dump device (which will be automatically recovered with
+ <a class="Xr">savecore(8)</a> during the next bootstrap cycle), and after
+ the dump is complete (successful or not) the kernel will attempt a
+ reboot.</p>
+</section>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<dl class="Bl-tag Bl-compact">
+ <dt><span class="Pa">/boot</span></dt>
+ <dd><span class="Ux">NetBSD</span> secondary bootstrap program (Open Firmware
+ 1.x and 2.x)</dd>
+ <dt><span class="Pa">/netbsd</span></dt>
+ <dd>default <span class="Ux">NetBSD</span> system kernel</dd>
+ <dt><span class="Pa">/usr/mdec/bootxx</span></dt>
+ <dd><span class="Ux">NetBSD</span> primary bootstrap program (Open Firmware
+ 1.x and 2.x) a.k.a. &#x201C;partition zero&#x201D; bootloader</dd>
+ <dt><span class="Pa">/usr/mdec/ofwboot</span></dt>
+ <dd><span class="Ux">NetBSD</span> secondary bootstrap program (Open Firmware
+ 1.x and 2.x)</dd>
+ <dt><span class="Pa">/usr/mdec/ofwboot.xcf</span></dt>
+ <dd>primary bootstrap for netboot and &#x201C;cd9660&#x201D; (ISO 9660),
+ &#x201C;MS-DOS&#x201D;, &#x201C;HFS&#x201D;, and &#x201C;HFS+&#x201D; file
+ systems.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">ddb(4)</a>, <a class="Xr">intro(4)</a>,
+ <a class="Xr">diskless(8)</a>, <a class="Xr">halt(8)</a>,
+ <a class="Xr">init(8)</a>, <a class="Xr">installboot(8)</a>,
+ <a class="Xr">macppc/ofwboot(8)</a>, <a class="Xr">rc(8)</a>,
+ <a class="Xr">reboot(8)</a>, <a class="Xr">savecore(8)</a>,
+ <a class="Xr">shutdown(8)</a></p>
+<p class="Pp"><a class="Lk" href="https://www.NetBSD.org/ports/macppc/faq.html">https://www.NetBSD.org/ports/macppc/faq.html</a>
+ <br/>
+ <a class="Lk" href="https://www.NetBSD.org/docs/network/netboot/">https://www.NetBSD.org/docs/network/netboot/</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="STANDARDS"><a class="permalink" href="#STANDARDS">STANDARDS</a></h1>
+<p class="Pp"><span class="St">IEEE Std 1275-1994 (&#x201C;Open
+ Firmware&#x201D;)</span>
+ <a class="Lk" href="http://playground.sun.com/1275/home.html">http://playground.sun.com/1275/home.html</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
+<p class="Pp">The device names used by <span class="Ux">NetBSD</span>/macppc and
+ Open Firmware often have no relation to each other.</p>
+<p class="Pp">Apple Computer's Open Firmware implementation is easily confused.
+ It is best to reboot your computer after a failed boot attempt,
+ <code class="Ic">halt</code>, or <code class="Ic">shutdown -h</code>. Use
+ the Open Firmware <code class="Ic">reset-all</code> command.</p>
+<p class="Pp">Apple Computer's Open Firmware implementation is notoriously bad.
+ Thorough instructions for installing and booting
+ <span class="Ux">NetBSD</span> are in the install notes
+ (<span class="Pa">INSTALL.html</span>) included with every release of
+ <span class="Ux">NetBSD</span>.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">February 17, 2017</td>
+ <td class="foot-os">NetBSD 10.1</td>
+ </tr>
+</table>
diff --git a/static/netbsd/man8/man8.macppc/ofwboot.8 3.html b/static/netbsd/man8/man8.macppc/ofwboot.8 3.html
new file mode 100644
index 00000000..3a16094d
--- /dev/null
+++ b/static/netbsd/man8/man8.macppc/ofwboot.8 3.html
@@ -0,0 +1,367 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">OFWBOOT(8)</td>
+ <td class="head-vol">System Manager's Manual (macppc)</td>
+ <td class="head-rtitle">OFWBOOT(8)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">ofwboot</code>,
+ <code class="Nm">ofwboot.elf</code>, <code class="Nm">ofwboot.xcf</code>
+ &#x2014; <span class="Nd">Open Firmware boot command</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<table class="Nm">
+ <tr>
+ <td><code class="Nm">ofwboot</code></td>
+ <td></td>
+ </tr>
+</table>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">Open Firmware is a FORTH-like command interpreter started by the
+ BootROM after the power-on self test (POST). This command interpreter allows
+ the user flexibility in choosing how their machine boots an operating
+ system. <span class="Ux">NetBSD</span> uses Open Firmware to initialize many
+ of the devices in a system and uses it to load the primary bootloader,
+ <code class="Nm">ofwboot</code>.</p>
+<p class="Pp">The information in this man page should only serve as a guideline
+ for users. Apple has made many revisions to Open Firmware, and the earlier
+ versions had many problems and inconsistencies. You may find that a boot
+ command that works on one model will not work on another.</p>
+<p class="Pp">In this man page, only one Open Firmware command will be
+ described, <code class="Ic">boot</code>, because it is used to pass
+ arguments to <code class="Nm">ofwboot</code>. The Open Firmware
+ <code class="Ic">boot</code> command takes up to three arguments:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre><code class="Ic">boot</code> [<var class="Ar">boot-device</var> [<var class="Ar">boot-file</var>]] [<var class="Ar">options</var>]</pre>
+</div>
+<p class="Pp">where</p>
+<p class="Pp"></p>
+<div class="Bd-indent">
+<dl class="Bl-tag Bl-compact">
+ <dt><var class="Ar">boot-device</var></dt>
+ <dd>primary bootloader location</dd>
+ <dt><var class="Ar">boot-file</var></dt>
+ <dd>kernel location</dd>
+ <dt><var class="Ar">options</var></dt>
+ <dd>flags passed to the kernel (see below)</dd>
+</dl>
+</div>
+<section class="Ss">
+<h2 class="Ss" id="boot-device"><a class="permalink" href="#boot-device">boot-device</a></h2>
+<p class="Pp">The first argument, <var class="Ar">boot-device</var>, actually
+ designates the primary bootloader location and its name in the form:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>
+<var class="Ar">device</var><code class="Ic">:</code>[<var class="Ar">partition-num</var>][,\<var class="Ar">bootloader-filename</var>]
+</pre>
+</div>
+<p class="Pp">A typical example, from a PowerBook (FireWire), is</p>
+<p class="Pp"></p>
+<div class="Bd
+ Bd-indent"><code class="Li">/pci@f2000000/mac-io@17/ata-4@1f000/@0:9,\ofwboot.xcf</code></div>
+<p class="Pp">Note that colon (&#x2018;<code class="Li">:</code>&#x2019;)
+ delimits the device to the left, and comma
+ (&#x2018;<code class="Li">,</code>&#x2019;) separates the bootloader
+ filename from the first part. For Open Firmware versions before 3, the
+ primary bootloader is installed in partition &#x201C;zero&#x201D;, and it is
+ not necessary to specify the <var class="Ar">bootloader-filename</var>. For
+ Open Firmware version 3, you must specify the bootloader filename.</p>
+<p class="Pp">Open Firmware stores aliases to common devices in NVRAM. In the
+ example the above,
+ <span class="Pa">/pci@f2000000/mac-io@17/ata-4@1f000/@0</span> is the path
+ on a PowerBook (FireWire) to the built-in ATA/100 hard drive. Use the
+ <code class="Ic">devalias</code> command in Open Firmware to print out a
+ list of common device names on a particular model. The
+ <var class="Ar">boot-device</var> above could then be simplified to:</p>
+<p class="Pp"></p>
+<div class="Bd Bd-indent"><code class="Li">hd:9,\ofwboot.xcf</code></div>
+<p class="Pp"><var class="Ar">bootloader-filename</var> is usually
+ <code class="Nm">ofwboot.xcf</code>. See also the
+ <a class="Sx" href="#FILES">FILES</a> section for further discussion.</p>
+<p class="Pp">If <var class="Ar">boot-device</var> is omitted from the
+ <code class="Ic">boot</code> command, the Open Firmware variable
+ <code class="Ev">boot-device</code> is used.</p>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="boot-file"><a class="permalink" href="#boot-file">boot-file</a></h2>
+<p class="Pp">It may be necessary to specify the <var class="Ar">boot-file</var>
+ if Open Firmware does not know where to find the kernel. The default is to
+ load the file named <span class="Pa">netbsd</span> on partition
+ &#x201C;<span class="Pa">a</span>&#x201D; from the device used to load the
+ primary bootloader.</p>
+<p class="Pp">For systems with Open Firmware versions less than 3 which are set
+ up using <code class="Ic">sysinst</code>, the
+ <var class="Ar">boot-file</var> argument is not necessary. Systems with Open
+ Firmware version 3 may need to specify the
+ <var class="Ar">boot-file</var>.</p>
+<p class="Pp">The syntax is similar to the <var class="Ar">boot-device</var>
+ argument:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>
+[<var class="Ar">boot-file-device</var><code class="Ic">:</code><var class="Ar">partition-num</var><code class="Ic">/</code>][<var class="Ar">kernel-name</var>]
+</pre>
+</div>
+<p class="Pp">This is a little different, since a kernel-name may be specified
+ without listing a <var class="Ar">boot-file-device</var> and
+ <var class="Ar">partition-num</var>. Additionally, a
+ <var class="Ar">boot-file-device</var> and
+ <var class="Ar">partition-num</var> may need to be specified, while using
+ the default <var class="Ar">kernel-name</var>.</p>
+<p class="Pp">If no <var class="Ar">kernel-name</var> is specified, the primary
+ bootloader will try to find kernels named either
+ <span class="Pa">netbsd</span> or <span class="Pa">netbsd.gz</span> on the
+ boot-device or (if specified) boot-file-device.</p>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="options"><a class="permalink" href="#options">options</a></h2>
+<p class="Pp">Possible options are:</p>
+<dl class="Bl-tag">
+ <dt id="a"><a class="permalink" href="#a"><code class="Fl">-a</code></a></dt>
+ <dd>ask for the boot device</dd>
+ <dt id="s"><a class="permalink" href="#s"><code class="Fl">-s</code></a></dt>
+ <dd>single-user mode boot</dd>
+ <dt id="d"><a class="permalink" href="#d"><code class="Fl">-d</code></a></dt>
+ <dd>debug mode</dd>
+ <dt id="exit"><a class="permalink" href="#exit"><code class="Cm">exit</code></a></dt>
+ <dd>exit to Open Firmware after processing arguments</dd>
+</dl>
+</section>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="ENVIRONMENT"><a class="permalink" href="#ENVIRONMENT">ENVIRONMENT</a></h1>
+<p class="Pp">If set, the following Open Firmware variables will be used to
+ determine which <var class="Ar">boot-device</var> and
+ <var class="Ar">boot-file</var> Open Firmware should use when booting a
+ system. If the user specifies arguments on the command line, these values
+ are overridden.</p>
+<dl class="Bl-tag">
+ <dt id="boot-device~2"><a class="permalink" href="#boot-device~2"><code class="Ev">boot-device</code></a></dt>
+ <dd>used as the first argument</dd>
+ <dt id="boot-file~2"><a class="permalink" href="#boot-file~2"><code class="Ev">boot-file</code></a></dt>
+ <dd>used as the second argument</dd>
+ <dt id="auto-boot?"><a class="permalink" href="#auto-boot?"><code class="Ev">auto-boot?</code></a></dt>
+ <dd>setting this variable to <code class="Ic">false</code> will present the
+ user with an Open Firmware command prompt after power-on reset. A value of
+ <code class="Ic">true</code> will automatically boot the system using the
+ variables <code class="Ev">boot-device</code> and
+ <code class="Ev">boot-file</code>. (This is not really related to the boot
+ command, but is included for completeness.)</dd>
+</dl>
+<p class="Pp">To restore these variables to their default values, use the
+ <code class="Ic">set-default</code> Open Firmware command:</p>
+<p class="Pp"></p>
+<div class="Bd Bd-indent"><code class="Li">set-default boot-device</code></div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<p class="Pp">The three files <code class="Nm">ofwboot</code>,
+ <code class="Nm">ofwboot.elf</code>, and <code class="Nm">ofwboot.xcf</code>
+ are the same program, in different executable formats.</p>
+<dl class="Bl-tag">
+ <dt><span class="Pa">ofwboot</span></dt>
+ <dd><code class="Nm">ofwboot</code> is installed via
+ <a class="Xr">installboot(8)</a> on systems with Open Firmware versions
+ less than 3. It is not necessary to specify this file name on the Open
+ Firmware <code class="Ic">boot</code> command, as it is stored in a
+ special location in the <span class="Ux">NetBSD</span> partition that is
+ marked &#x201C;bootable&#x201D; in the Apple partition map entry. The
+ bootable partition can be specified as partition &#x201C;zero&#x201D;. For
+ example, the following command might be used to boot from a SCSI device
+ with ID 2: <code class="Ic">0 &gt;boot scsi-int/sd@2:0</code>.</dd>
+ <dt><span class="Pa">ofwboot.xcf</span></dt>
+ <dd><code class="Nm">ofwboot.xcf</code> is in XCOFF format. This file is used
+ on all Open Firmware 3 systems, and on Open Firmware systems prior to 3
+ when the bootloader is not installed in partition &#x201C;zero&#x201D;,
+ such as from an ISO-9660 format CD-ROM.</dd>
+ <dt><span class="Pa">ofwboot.elf</span></dt>
+ <dd><code class="Nm">ofwboot.elf</code> is in <a class="Xr">elf(5)</a> format
+ and only functions on systems with Open Firmware version 3. To avoid
+ confusion, all users should be using <code class="Nm">ofwboot.xcf</code>,
+ as <code class="Nm">ofwboot.elf</code> offers no additional functionality.
+ It is only included for historical reasons.</dd>
+ <dt><span class="Pa">boot.fs</span></dt>
+ <dd>This 1.44 MB disk image contains everything necessary to boot and install
+ <span class="Ux">NetBSD</span>. It includes the partition
+ &#x201C;zero&#x201D; bootloader (<code class="Nm">ofwboot</code>), an
+ INSTALL kernel (with limited device drivers), and the
+ <code class="Ic">sysinst</code> utility in a RAM disk. Since Open Firmware
+ does not care what media files are loaded from, only whether they are
+ supported and in the correct format, this disk image may be placed on
+ media other than floppy disks, such as hard drives or Zip disks. Use
+ <a class="Xr">dd(1)</a> on Unix, or <code class="Ic">DiskCopy</code> on
+ MacOS 9.1 or later, or <code class="Ic">suntar</code> on any MacOS version
+ to copy this image onto the media.</dd>
+ <dt><span class="Pa">netbsd</span></dt>
+ <dd>production kernel, using the GENERIC set of devices which supports almost
+ all hardware available for this platform.</dd>
+ <dt><span class="Pa">netbsd_GENERIC_MD.gz</span></dt>
+ <dd>GENERIC kernel (the same as <var class="Ar">netbsd</var>), with RAM disk
+ and <code class="Ic">sysinst</code> included.</dd>
+ <dt><span class="Pa">NetBSD-{RELEASE}-macppc.iso</span></dt>
+ <dd>bootable CD-ROM image for all supported systems. Usually located at
+ <span class="Pa">https://cdn.NetBSD.org/pub/NetBSD/images/{RELEASE}/</span></dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
+<p class="Pp">In the following examples
+ &#x2018;<code class="Li">0&#x00A0;&gt;&#x00A0;</code>&#x2019; is the Open
+ Firmware prompt.</p>
+<ul class="Bl-item">
+ <li>Boot the default installation into single user mode.
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot -s</code></div>
+ </li>
+ <li>Boot an Open Firmware 3 system, with <var class="Ar">netbsd</var>
+ installed on partition &#x201C;<span class="Pa">a</span>&#x201D;:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ hd:,\ofwboot.xcf</code></div>
+ </li>
+ <li>Boot the kernel named <span class="Pa">netbsd.new</span> from partition
+ &#x201C;<span class="Pa">a</span>&#x201D; of the hard disk into
+ <a class="Xr">ddb(4)</a> using ELF version of
+ <code class="Nm">ofwboot</code> from the USB flash drive:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ usb0/disk:,\ofwboot.elf hd/netbsd.new -d</code></div>
+ or
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ usb1/disk:,\ofwboot.elf hd/netbsd.new -d</code></div>
+ Note: You can check which usb device name should be used by
+ &#x201C;<code class="Ic">devalias</code>&#x201D; and
+ &#x201C;<code class="Ic">dev usb0 ls</code>&#x201D; commands etc.</li>
+ <li>Boot from bootable CD-ROM of <span class="Ux">NetBSD</span> release with
+ Open Firmware 3 or higher:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ cd:,\ofwboot.xcf</code></div>
+ </li>
+ <li>Boot from bootable CD-ROM (internal SCSI, id=3) of
+ <span class="Ux">NetBSD</span> release with Open Firmware versions prior
+ to 3:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ scsi/sd@3:0</code></div>
+ </li>
+ <li>Boot from a USB flash drive containing a bootable CD-ROM ISO image of
+ <span class="Ux">NetBSD</span> release with Open Firmware 3 or higher:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ usb0/disk@1:3,\ofwboot.xcf</code></div>
+ or
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ usb1/disk@1:3,\ofwboot.xcf</code></div>
+ Note: The partition number &#x201C;<span class="Pa">3</span>&#x201D; is an
+ ISO9660/HFS hybrid partition specified by the Apple partition map in the
+ macppc CD ISO image of <span class="Ux">NetBSD</span> release.</li>
+ <li>Boot from floppy disk:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot fd:0</code></div>
+ </li>
+ <li>Boot from network, with bootps, <a class="Xr">bootptab(5)</a>,
+ <a class="Xr">tftpd(8)</a>, and <a class="Xr">nfsd(8)</a> server
+ available:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot enet:0</code></div>
+ </li>
+ <li>Boot from network, but use internal root partition of second drive:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot enet:0
+ ultra1:0</code></div>
+ </li>
+ <li>Boot MacOS, looking for the first available bootable disk:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ hd:,\\:tbxi</code></div>
+ </li>
+ <li>Boot MacOS X residing on partition 10:
+ <div class="Bd Bd-indent"><code class="Li">0 &gt; boot
+ hd:10,\\:tbxi</code></div>
+ </li>
+</ul>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="ERRORS"><a class="permalink" href="#ERRORS">ERRORS</a></h1>
+<div class="Bd">
+<pre>DEFAULT CATCH!, code=FF00300 at %SRR0: FF80AD38 %SRR1: 00001070</pre>
+</div>
+<p class="Pp">Could be &#x201C;device not found&#x201D; or I/O errors on the
+ device. The numbers are just for example. If the error is caused by I/O
+ errors (especially on CD boot), retrying the same command after restarting
+ Open Firmware by <code class="Ic">reset-all</code> command might help.</p>
+<div class="Bd Pp">
+<pre>CLAIM failed</pre>
+</div>
+Open Firmware got errors on memory allocation ops etc. This could also happen by
+ buggy Open Firmware implementation, or improper
+ <code class="Ev">real-base</code> variable settings.
+<div class="Bd Pp">
+<pre>Can't LOAD from this device</pre>
+</div>
+Open Firmware found the device, but it is not supported by
+ <code class="Ic">load</code>.
+<div class="Bd Pp">
+<pre>0 &gt; boot yy:0/netbsd
+RESETing to change Configuration!</pre>
+</div>
+<var class="Ar">yy:0</var> doesn't exist, so Open Firmware ignores the string
+ and uses the default parameters to boot MacOS; the MacOS boot routine then
+ clears some of the Open Firmware variables.
+<div class="Bd Pp">
+<pre>0 &gt; boot ata/ata-disk@0:9 specified partition is not bootable
+ ok</pre>
+</div>
+As it says.
+<div class="Bd Pp">
+<pre>0 &gt; boot ata/ata-disk@0:0
+&gt;&gt; NetBSD/macppc OpenFirmware Boot, Revision 1.3
+&gt;&gt; (root@nazuha, Fri Jun 8 22:21:55 JST 2001)
+no active package3337696/</pre>
+</div>
+and hangs: See the real-base part in the FAQ.
+<p class="Pp">Note: It is recommended to restart Open Firmware by
+ <code class="Ic">reset-all</code> command if you get these Open Firmware
+ errors, to avoid further unexpected random errors.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">installboot(8)</a></p>
+<p class="Pp"><span class="Pa">INSTALL.html</span></p>
+<p class="Pp"><a class="Lk" href="https://www.NetBSD.org/ports/macppc/faq.html">NetBSD/macppc
+ Frequently Asked Questions</a></p>
+<p class="Pp"><a class="Lk" href="https://www.NetBSD.org/ports/macppc/partitioning.html">NetBSD/macppc
+ Partitioning HOW-TO</a></p>
+<p class="Pp"><a class="Lk" href="https://www.NetBSD.org/ports/macppc/models.html">NetBSD/macppc
+ Model Support</a></p>
+<p class="Pp"><a class="Lk" href="https://www.NetBSD.org/docs/network/netboot/">Diskless
+ NetBSD HOW-TO</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="STANDARDS"><a class="permalink" href="#STANDARDS">STANDARDS</a></h1>
+<p class="Pp"><span class="St">IEEE Std 1275-1994 (&#x201C;Open
+ Firmware&#x201D;)</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
+<p class="Pp"><code class="Nm">ofwboot</code> can only boot from devices
+ recognized by Open Firmware.</p>
+<p class="Pp">Early PowerMacintosh systems (particularly the 7500) seem to have
+ problems with netbooting. Adding an arp entry at the tftp server with</p>
+<p class="Pp"></p>
+<div class="Bd Bd-indent"><code class="Li">arp -s booting-host-name
+ its-ethernet-address</code></div>
+<p class="Pp">may resolve this problem (see <a class="Xr">arp(8)</a>).</p>
+<p class="Pp">Once boot failed,</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>0 &gt; boot CLAIM failed
+ ok</pre>
+</div>
+<p class="Pp">successive boots may not be possible. You need to type
+ <code class="Ic">reset-all</code> or power-cycle to re-initialize Open
+ Firmware.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">June 9, 2024</td>
+ <td class="foot-os">NetBSD 10.1</td>
+ </tr>
+</table>