NAME
ofwboot,
ofwboot.elf,
ofwboot.xcf —
Open Firmware boot
command
SYNOPSIS
DESCRIPTION
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.
NetBSD uses Open Firmware to initialize many of the
devices in a system and uses it to load the primary bootloader,
ofwboot.
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.
In this man page, only one Open Firmware command will be described,
boot, because it is used to pass arguments to
ofwboot. The Open Firmware
boot command
takes up to three arguments:
boot [
boot-device
[boot-file]]
[
options]
- boot-device
- primary bootloader location
- boot-file
- kernel location
- options
- flags passed to the kernel (see below)
boot-device
The first argument,
boot-device, actually designates the
primary bootloader location and its name in the form:
boot-device:[partition-num],[bootloader-filename]
A typical example, from a PowerBook (FireWire), is
/pci@f2000000/mac-io@17/ata-4@1f000/@0:9,ofwboot.xcf
Note that colon (`:') delimits the device to the left, and comma (`,') separates
the boot loader filename from the first part. For Open Firmware versions
before 3, the primary bootloader is installed in partition “zero”,
and it is not necessary to specify the bootloader-filename. For Open Firmware
version 3, you must specify the bootloader-filename.
Open Firmware stores aliases to common devices in NVRAM. In the example above,
/pci@f2000000/mac-io@17/ata-4@1f000/@0 is the path on a
PowerBook (FireWire) to the built-in ATA/100 hard drive. Use the
devalias command in Open Firmware to print out a list of
common device names on a particular model. The command above could then be
simplified to:
hd:9,ofwboot.xcf
boot-loader-file-name is usually
ofwboot.xcf. (See also the
FILES section for further discussion.)
If omitted, the Open Firmware variable
boot-device is
used.
boot-file
It may be necessary to specify the
boot-file if Open
Firmware does not know where to find the kernel. The default is to load the
file named
netbsd on partition
“
a” from the device used to load the primary
bootloader.
For systems with Open Firmware versions less than 3 which are set up using
sysinst, the
boot-file argument is not
necessary. Systems with Open Firmware version 3 may need to specify the
boot-file.
The syntax is similar to the
boot-device argument:
[boot-file-device:partition-num/][kernel-name]
This is a little different, since a kernel-name may be specified without listing
a boot-file-device and partition-num. Additionally, a boot-file-device and
partition-num may need to be specified, while using the default kernel-name.
If no kernel-name is specified, the primary bootloader will try to find kernels
named either
netbsd or
netbsd.gz
on the boot-device or (if specified) boot-file-device.
options
Possible options are:
- -a
- ask for the boot device
- -s
- single-user mode boot
- -d
- debug mode
- exit
- exit to Open Firmware after processing arguments
ENVIRONMENT
If set, the following Open Firmware variables will be used to determine which
boot-device and
boot-file Open
Firmware should use when booting a system. If the user specifies arguments on
the command line, these values are overridden.
- boot-device
- used as the first argument
- boot-file
- used as the second argument
- auto-boot?
- setting this variable to false will
present the user with an Open Firmware command prompt after power-on
reset. A value of true will automatically boot the
system using the variables boot-device and
boot-file. (This is not really related to the boot
command, but is included for completeness.)
To restore these variables to their default values, use the
set-default Open Firmware command:
set-default boot-device
FILES
The three files
ofwboot,
ofwboot.elf, and
ofwboot.xcf are the same program, in different executable
formats.
-
-
- ofwboot
- ofwboot is installed via
installboot(8) on
systems with Open Firmware versions less than 3. It is not necessary to
specify this file name, as it is stored in a special location on the disk,
partition “zero”. For example, the following command might be
used to boot from a SCSI device with ID 2: 0 >boot
scsi-int/sd@2:0.
-
-
- ofwboot.xcf
- ofwboot.xcf 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 “zero”,
such as from an ISO-9660 format CD-ROM.
-
-
- ofwboot.elf
- ofwboot.elf is in
elf(5) format and only
functions on systems with Open Firmware version 3. To avoid confusion, all
users should be using ofwboot.xcf, as
ofwboot.elf offers no additional functionality. It is
only included for historical reasons.
-
-
- boot.fs
- This 1.44 MB disk image contains everything necessary to
boot and install NetBSD. It includes the partition
“zero” bootloader (ofwboot), an INSTALL
kernel (with limited device drivers), and the sysinst
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
dd(1) on Unix, or
DiskCopy on MacOS 9.1 or later, or
suntar on any MacOS version to copy this image onto the
media.
-
-
- netbsd
- production kernel, using the GENERIC set of devices which
supports almost all hardware available for this platform.
-
-
- netbsd_GENERIC_MD.gz
- GENERIC kernel (the same as netbsd),
with RAM disk and sysinst included.
-
-
- NetBSD-{RELEASE}-macppc.iso
- bootable CDROM image for all supported systems. Usually
located at
ftp://ftp.NetBSD.org/pub/NetBSD/images/{RELEASE}/NetBSD-{RELEASE}-macppc.iso
EXAMPLES
- Boot an Open Firmware 3 system, with
netbsd installed on partition
“a”:
- Boot into single user mode:
0 > boot hd:,ofwboot.xcf netbsd -s
- Boot from bootable CDROM with Open Firmware 3 or higher:
0 > boot cd:,\ofwboot.xcf netbsd.macppc
- Boot from bootable CDROM (internal SCSI, id=3) of
NetBSD 1.5 release with Open Firmware versions
prior to 3:
0 > boot scsi/sd@3:0,OFWBOOT.XCF NETBSD.MACPPC
- Boot from floppy disk:
- Boot from network, with bootps,
bootptab(5),
tftpd(8), and
nfsd(8) server available:
- Boot from network, but use internal root partition of
second drive:
- Boot MacOS, looking for the first available bootable disk:
- Boot MacOS X residing on partition 10:
ERRORS
DEFAULT CATCH!, code=FF00300 at %SRR0: FF80AD38 %SRR1: 00001070
Could be “device not found” or I/O errors on the device. The numbers
are just for example.
Can't LOAD from this device
Open Firmware found the device, but it is not supported by
load.
0 > boot yy:0/netbsd
RESETing to change Configuration!
yy:0 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.
0 > boot ata/ata-disk@0:9 specified partition is not bootable
ok
As it says.
0 > boot ata/ata-disk@0:0
>> NetBSD/macppc OpenFirmware Boot, Revision 1.3
>> (root@nazuha, Fri Jun 8 22:21:55 JST 2001)
no active package3337696/
and hangs: See the real-base part in the FAQ.
SEE ALSO
installboot(8)
INSTALL.html
NetBSD/macppc
Frequently Asked Questions
Diskless NetBSD
HOW-TO
STANDARDS
IEEE Std 1275-1994 (“Open Firmware”)
BUGS
ofwboot can only boot from devices recognized by Open
Firmware.
Early PowerMacintosh systems (particularly the 7500) seem to have problems with
netbooting. Adding an arp entry at the tftp server with
arp -s booting-host-name
its-ethernet-address
may resolve this problem (see
arp(8)).
Once boot failed, successive boots may not be possible. You need to type
reset-all or power-cycle to initialize Open Firmware.