853 lines
26 KiB
Plaintext
853 lines
26 KiB
Plaintext
.\" $NetBSD: install,v 1.20 2002/05/10 05:29:59 mbw Exp $
|
|
.
|
|
.Ss2 Open Firmware boot syntax
|
|
.
|
|
The syntax of the Open Firmware
|
|
.Ic boot
|
|
command is:
|
|
.Pp
|
|
.Dl boot boot-device [boot-file] [-as]
|
|
.Pp
|
|
where the
|
|
.Li boot-device
|
|
describes where to find the bootloader,
|
|
.Li boot-file
|
|
describes where to find the
|
|
.Nx
|
|
kernel, and the options specify how you want to boot.
|
|
.Pp
|
|
You use the
|
|
.Li boot-device
|
|
to tell Open Firmware where to find
|
|
.Xr ofwboot 7
|
|
by listing the device, the partition (if it's a disk), and the filename
|
|
of the bootloader (if using
|
|
.Pa ofwboot.xcf No Ns ).
|
|
.Pp
|
|
If the
|
|
.Li boot-file
|
|
is on the same device and (if it's a disk) partition as the
|
|
.Li boot-device
|
|
then you can just specify the kernel filename. Otherwise, you need
|
|
to specify the full Open Firmware path to the kernel.
|
|
.Pp
|
|
The
|
|
.Fl a
|
|
flag will ask you for the location of the next item to load (i.e.
|
|
the bootloader will ask where the kernel is (if unspecified), or the
|
|
kernel will ask where the root file system is).
|
|
The
|
|
.Fl s
|
|
flag will boot into
|
|
.Sq single-user
|
|
mode.
|
|
.Pp
|
|
The exact command you will be using depends on which version of Open Firmware
|
|
your machine has and which device you will be booting from. Sometimes you
|
|
may have to guess as we don't know all of the combinations of models,
|
|
device names, and file names. In general the format is:
|
|
.Li "device:[partition][,\efilename]" .
|
|
Keep in mind for the future that you may be able to have your
|
|
.Li boot-device
|
|
and
|
|
.Li boot-file
|
|
on entirely different devices (such as the bootloader netbooted from
|
|
.Li enet
|
|
and the kernel loaded from a hard drive on the
|
|
.Li ultra0
|
|
ATA/IDE bus).
|
|
.Pp
|
|
We'll try to walk you through the process of figuring out what Open
|
|
Firmware calls your device, partition, and file names.
|
|
To start with, Open Firmware keeps a
|
|
.Dq device tree
|
|
with all of the devices it finds in your system. You can get a
|
|
listing of the nodes in this device tree with the
|
|
.Ic dev No and Ic ls
|
|
commands.
|
|
.Ic dev
|
|
is similar to the unix
|
|
.Ic cd
|
|
command and is used to change between the nodes in the Open Firmware
|
|
device tree (similar to a filesystem).
|
|
.Ic ls
|
|
of course is similar to the unix
|
|
.Ic ls
|
|
command and is used to list the contents of the current device node.
|
|
To get a listing of all the devices available in your system, use the
|
|
following commands:
|
|
.(disp
|
|
.No 0 \*> Ic "dev /"
|
|
.No 0 \*> Ic "ls"
|
|
.disp)
|
|
.Pp
|
|
Open Firmware has device aliases which are simple names for the full
|
|
hardware path to a device (similar to
|
|
.Ic alias
|
|
in
|
|
.Xr csh 1 ).
|
|
You can find out
|
|
what device aliases Apple created on your machine with the
|
|
.Ic devalias
|
|
command. For example, here are the devaliases on a PowerMacintosh 7300:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic devalias
|
|
vci0 /chaos@F0000000
|
|
pci1 /bandit@F2000000
|
|
pci2 /bandit@F4000000
|
|
fd /bandit/gc/swim3
|
|
kbd /bandit/gc/via-cuda/adb/keyboard
|
|
ttya /bandit/gc/escc/ch-a
|
|
ttyb /bandit/gc/escc/ch-b
|
|
enet /bandit/gc/mace
|
|
scsi /bandit/gc/53c94
|
|
scsi-int /bandit/gc/mesh
|
|
ok
|
|
.disp)
|
|
.Pp
|
|
On most systems, you'll find the devices you're looking for. Typical
|
|
aliases are:
|
|
.Bl -column xxx "scsi-intxxxxxx" "internal scsi bus (on system with multiple SCSI busses)"
|
|
.It Ta Dl hd Ta No "internal hard drive"
|
|
.It Ta Dl cd Ta No "CD-ROM drive"
|
|
.It Ta Dl zip Ta No "internal Zip drive"
|
|
.It Ta Dl enet Ta No ethernet
|
|
.It Ta Dl fd Ta No "floppy drive"
|
|
.It Ta Dl scsi Ta No "SCSI bus"
|
|
.It Ta Dl scsi-int Ta No "internal SCSI bus (on systems with multiple SCSI busses)"
|
|
.It Ta Dl scsi-ext Ta No "external SCSI bus (on systems with multiple SCSI busses)"
|
|
.It Ta Dl ata Ta No "ATA/IDE bus"
|
|
.It Ta Dl ideN Ta No "ATA/IDE bus number N"
|
|
.It Ta Dl ultraN Ta No "Ultra/66 or Ultra/100 IDE bus number N"
|
|
.El
|
|
.Pp
|
|
Note that some of these items are the device itself, and some are a
|
|
bus. When you only have the devalias to a bus, you need to specify which
|
|
device on that bus you want to use. You can use the Open Firmware
|
|
.Ic dev No and Ic ls
|
|
commands.
|
|
For example, here are the devices on the internal SCSI bus of a
|
|
PowerMacintosh 7300:
|
|
.(disp
|
|
.No 0 \*> Ic "dev scsi-int"
|
|
.No 0 \*> Ic "ls"
|
|
FF83C850: /sd@0,0
|
|
FF83D480: /st@0,0
|
|
ok
|
|
.disp)
|
|
.Pp
|
|
In this case, Open Firmware seems to be saying there are two devices, both
|
|
at address zero (one is a SCSI disk
|
|
.Sq sd@0,0
|
|
and the other is a SCSI tape
|
|
.Sq st@0,0 ).
|
|
Unfortunately, older systems will only list the naming convention and not
|
|
the actual devices currently connected, but that's OK -- we've got more
|
|
tricks up our sleeve.
|
|
.Pp
|
|
If you've got ATA/IDE drives, you have all the device information you need
|
|
(since Apple only ever ships drives as
|
|
.Dq master
|
|
which is typically something like
|
|
.Li ata-disk@0 , Li ATA-Disk@0 , Li atapi-disk , or Li disk@0 ).
|
|
.Pp
|
|
You can find out the devices on your SCSI bus with the
|
|
.Ic show-children
|
|
command:
|
|
.(disp
|
|
.No 0 \*> Ic "dev scsi-int"
|
|
.No 0 \*> Ic "show-children"
|
|
Target 0
|
|
Unit 0 Disk IBM DCAS-32160 S65A
|
|
Target 3
|
|
Unit 0 Removable Read Only device SONY CD-ROM CDU-8005 1.0j
|
|
ok
|
|
.disp)
|
|
.Pp
|
|
Open Firmware calls SCSI IDs
|
|
.Dq Li Target .
|
|
The
|
|
.Dq Li Unit
|
|
number is the Logical Unit Number (LUN). This is almost always zero.
|
|
Thus, this PowerMacintosh system has an IBM hard drive (DCAS-32160) at
|
|
SCSI ID 0, and a Sony CD-ROM drive (CDU-8005) at SCSI ID 3.
|
|
.Pp
|
|
Now, we've got enough information to construct the device name for
|
|
Open Firmware. Just stick everything together to describe to Open
|
|
Firmware what you want. For example, Open Firmware calls the CD-ROM drive
|
|
in this system
|
|
.Li scsi-int/sd@3 .
|
|
.Pp
|
|
To determine if a device is bootable, type:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic dev scsi-int/sd@3
|
|
.No 0 \*> Ic words
|
|
load write read seek close open
|
|
write-blocks read-blocks max-transfer block-size dma-sync dma-map-out
|
|
dma-map-in dma-free dma-alloc
|
|
ok
|
|
.disp)
|
|
.Pp
|
|
If the
|
|
.Ic word Li Dq open
|
|
is present in the list, then the device is almost certainly bootable.
|
|
.Pp
|
|
Next, you need to figure out what partition Open Firmware thinks your
|
|
bootloader is located on if you're going to boot from a disk. If you're
|
|
using a
|
|
.Dq "partition zero"
|
|
bootloader, the answer is obvious: 0. Thus, your
|
|
.Li boot-device
|
|
for the
|
|
.Nx*M
|
|
CD-R image on an Open Firmware 1.0.5 system would be
|
|
.Li scsi-int/sd@3:0
|
|
since the image has a
|
|
.Sq "partition zero"
|
|
bootloader.
|
|
.Pp
|
|
Other situations get a little
|
|
trickier, as we know of no way to get a partition map from
|
|
within Open Firmware, and it uses a different numbering scheme than either
|
|
.Nx
|
|
or MacOS 9.x and earlier. See the FAQ for an explanation:
|
|
.Lk http://www.netbsd.org/Ports/macppc/faq.html#partitions
|
|
.Pp
|
|
Typically, MS-DOS and ISO9660 formatted disks have their filesystems at
|
|
partition 1. Typically, Drive Setup formatted disks have their
|
|
filesystems starting at partition number 9. Often, if you omit the
|
|
partition number, Open Firmware looks in the first partition it
|
|
understands holding a valid filesystem.
|
|
.Pp
|
|
Open Firmware uses a comma (,) to separate the partition number from the
|
|
filename. It uses a backslash (the
|
|
.Pa \e
|
|
character) to separate directories. The bootloader uses forward slashes (the
|
|
.Pa /
|
|
character) to separate directories when specifying the
|
|
.Li boot-file .
|
|
Thus, to specify the top of the
|
|
filesystem on a CD-ROM in the example PowerMacintosh 7300 system, you'd
|
|
use:
|
|
.Li scsi-int/sd@3:,\e
|
|
.Pp
|
|
Now, to confirm that you and Open Firmware are looking at the same files,
|
|
you can get a directory listing of the filesystem on your device with the
|
|
.Ic dir
|
|
command. This command is only useful with filesystems that Open Firmware
|
|
understands and is able to boot from. On Open Firmware 1.0.5, 1.1.22,
|
|
and 2.0.x systems, you can use
|
|
.Ic dir
|
|
on ISO9660 (not hybrid) and MS-DOS filesystems. On Open Firmware 2.4, you
|
|
can use it on HFS, HFS+, hybrid, ISO9960, and MS-DOS filesystems. On Open
|
|
Firmware 3, you can use it on HFS, HFS+, hybrid (not pure ISO9660), and
|
|
MS-DOS filesystems.
|
|
.(disp
|
|
.No 0 \*> Ic "dir fd:,\e"
|
|
FINDER .DAT 022 2 2B8
|
|
DESKTOP . 022 0 0
|
|
RESOURCE.FRK 012 3 0
|
|
NETBSD~1.GZ 020 5 1FDFCA
|
|
TRASH . 010 B00 0
|
|
OFWBOOT .XCF 020 A75 D8F4
|
|
ok
|
|
.disp)
|
|
You can see that this
|
|
.Tn MacOS
|
|
formatted floppy has a bunch of stuff, as well as the two important files:
|
|
.Pa NETBSD~1.GZ No and Pa OFWBOOT.XCF .
|
|
Note that
|
|
.Tn MacOS
|
|
shortened
|
|
.Pa netbsd.GENERIC_MD.gz No to Pa NETBSD~1.GZ
|
|
since MS-DOS filesystems can only natively hold 8 characters for the
|
|
filename. Keep in mind that Open Firmware is often case-sensitive when it
|
|
comes to filenames.
|
|
.Pp
|
|
If the
|
|
.Ic dir
|
|
command showed you the files you're looking for, then you've figure out
|
|
how to tell Open Firmware to look for your bootloader! In this case, your
|
|
.Li boot-device
|
|
is
|
|
.Li fd:,\eOFWBOOT.XCF
|
|
and your
|
|
.Li boot-file
|
|
is
|
|
.Li fd:,/NETBSD~1.GZ .
|
|
.Pp
|
|
For additional help, see
|
|
.Xr ofwboot 7
|
|
and the FAQ on topics like how to use the
|
|
Open Firmware command environment and how to boot from a device attached
|
|
to a PCI card which has Open Firmware support:
|
|
.Lk http://www.netbsd.org/Ports/macppc/faq.html#ofw-use
|
|
.Lk http://www.netbsd.org/Ports/macppc/faq.html#boot-pci
|
|
.
|
|
.Ss2 Examples of Open Firmware boot commands
|
|
.
|
|
Here are some examples of the commands you might use to boot your system:
|
|
.(bullet
|
|
.To 2 "Booting off an MS-DOS floppy"
|
|
.Em "Booting off an MS-DOS floppy"
|
|
.br
|
|
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
|
|
Firmware 2.4)
|
|
.(Note
|
|
This is not a normal
|
|
.Tn MacOS
|
|
boot floppy -- you must enter Open Firmware and type a boot command.
|
|
.Note)
|
|
.Pp
|
|
Use the Open Firmware
|
|
.Ic dir
|
|
command to get a listing of the files on the floppy. Typically you'll
|
|
find filenames like
|
|
.Li OFWBOOT.XCF No and Li NETBSD~1.GZ .
|
|
.(disp
|
|
.No 0 \*> Ic "boot fd:,\eOFWBOOT.XCF NETBSD~1.GZ"
|
|
.disp)
|
|
.Pp
|
|
You can eject a floppy by typing:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic eject fd
|
|
.disp)
|
|
.It
|
|
.To 2 "Booting off the NetBSD install floppy"
|
|
.Em "Booting off the NetBSD install floppy"
|
|
.br
|
|
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
|
|
Firmware 2.4)
|
|
.Pp
|
|
The floppy disk has a
|
|
.Sq "partition zero"
|
|
bootloader.
|
|
.(Note
|
|
This is not a normal
|
|
.Tn MacOS
|
|
boot floppy -- you must enter Open Firmware and type a boot command.
|
|
.Note)
|
|
All you need to do is:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic boot fd:0
|
|
.disp)
|
|
.Pp
|
|
You can eject a floppy by typing:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic eject fd
|
|
.disp)
|
|
.It
|
|
.Em "Boot over the ethernet"
|
|
.br
|
|
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
|
|
Firmware 2.4)
|
|
.Pp
|
|
You can try the simple form (i.e. that you are booting from ethernet):
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot enet:,ofwboot.xcf"
|
|
.disp)
|
|
.Pp
|
|
Or you may be more specific,
|
|
specifying the bootloader filename and the kernel name:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot enet:,ofwboot.xcf enet:,/netbsd.GENERIC_MD.gz"
|
|
.disp)
|
|
.(Note
|
|
Some Open Firmware 1.0.5 machines have their MAC address stored
|
|
incorrectly. Make sure that your netboot server is using the same MAC
|
|
address that your \*M client is using. See the section on
|
|
.Sx Setting up pre-Open Firmware 3 to boot NetBSD
|
|
to figure out your MAC address.
|
|
.Note)
|
|
.(Note
|
|
Some Open Firmware 1.0.5 machines, using
|
|
.Li ofwboot.xcf
|
|
version 1.2 cannot load compressed kernels. Uncompress them first.
|
|
.Note)
|
|
.It
|
|
.Em "Boot over the ethernet"
|
|
.br
|
|
(Open Firmware 3)
|
|
.Pp
|
|
You can try the simple form (i.e. that you are booting from ethernet):
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot enet:0"
|
|
.disp)
|
|
.Pp
|
|
Or you may be more specific,
|
|
specifying the bootloader filename and the kernel name:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot enet:0,ofwboot.xcf enet:0,/netbsd.GENERIC_MD.gz"
|
|
.disp)
|
|
.It
|
|
.To 2 "Booting off the NetBSD/macppc install CD-R"
|
|
.Em "Booting off the NetBSD/\*M install CD-R"
|
|
.br
|
|
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
|
|
Firmware 2.4)
|
|
.Pp
|
|
Here are some examples of what you might use to boot from CD-ROM (Apple
|
|
usually sets their CD-ROM drives to SCSI ID 3):
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot scsi-int/sd@3:0 NETBSD.MACPPC"
|
|
.No 0 \*> Ic "boot scsi/sd@3:0 NETBSD.MACPPC"
|
|
.No 0 \*> Ic "boot scsi-ext/sd@3:0 NETBSD.MACPPC"
|
|
.No 0 \*> Ic "boot ata/atapi-disk:0 NETBSD.MACPPC"
|
|
.No 0 \*> Ic "boot ide1/disk@0:0 NETBSD.MACPPC"
|
|
.No 0 \*> Ic "boot cd:0 NETBSD.MACPPC"
|
|
.disp)
|
|
.Pp
|
|
.It
|
|
.To 2 "Booting off the NetBSD/\*M install CD-R"
|
|
.Em "Booting off the NetBSD/\*M install CD-R"
|
|
.br
|
|
(Open Firmware 3)
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot cd:,\eofwboot.xcf netbsd.macppc"
|
|
.disp)
|
|
.It
|
|
.To 2 "Booting off a home-made CD-ROM ISO9660 or Hybrid"
|
|
.Em "Booting off a home-made CD-ROM ISO9660 or Hybrid"
|
|
.br
|
|
(All Open Firmware versions)
|
|
.Pp
|
|
Open Firmware doesn't understand long filenames (created with the RockRidge
|
|
and Joliet extensions), so you may need to figure out what your file is
|
|
called. You should use the Open Firmware
|
|
.Ic dir
|
|
command to get a listing of the files on your CD.
|
|
.Pp
|
|
For instance,
|
|
.Ic Toast
|
|
for
|
|
.Tn MacOS
|
|
creates CDs with long filenames, but uses
|
|
.Tn MS-DOS
|
|
style short names
|
|
as well. Instead of referencing
|
|
.Pa netbsd-GENERIC
|
|
you would need to open
|
|
.Pa NETBSD-G.ENE
|
|
The
|
|
.Ic mkisofs
|
|
and
|
|
.Ic mkhybrid
|
|
programs have a similar problem. For them,
|
|
.Pa netbsd.GENERIC_MD.gz
|
|
becomes
|
|
.Pa NETBSD_GENERIC_MD.GZ .
|
|
.Pp
|
|
Another thing to note is that you
|
|
.Em must
|
|
use the same case when specifying the filename to load that Open Firmware
|
|
uses.
|
|
Also, keep in mind what format your CD-R has to be for your version of
|
|
Open Firmware (pure ISO versus hybrid ISO/HFS).
|
|
.Pp
|
|
We'll assume that you've wisely renamed your kernel to
|
|
.Pa netbsd.gz
|
|
to avoid many of these name issues. Here are some
|
|
examples of what you might use to boot from CD-ROM (Apple
|
|
usually sets their CD-ROM drives to SCSI ID 3):
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot scsi-int/sd@3:,\eOFWBOOT.XCF NETBSD.GZ"
|
|
.No 0 \*> Ic "boot scsi/sd@3:,\eOFWBOOT.XCF NETBSD.GZ"
|
|
.No 0 \*> Ic "boot scsi-ext/sd@3:,\eOFWBOOT.XCF NETBSD.GZ"
|
|
.No 0 \*> Ic "boot ata/atapi-disk:,\eOFWBOOT.XCF NETBSD.GZ"
|
|
.No 0 \*> Ic "boot ide1/disk@0:,\eOFWBOOT.XCF NETBSD.GZ"
|
|
.No 0 \*> Ic "boot cd:,\eofwboot.xcf netbsd.gz"
|
|
.disp)
|
|
.It
|
|
.To 2 "Booting off an IDE or SCSI drive with 'partition zero'"
|
|
.Em "Booting off an IDE or SCSI drive with a" Sq "partition zero" No Em bootloader
|
|
.br
|
|
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
|
|
Firmware 2.4)
|
|
.Pp
|
|
You do not specify a file to load, since the
|
|
.Sq "partition zero"
|
|
booloader knows what to do. You would boot such a system if you have dumped
|
|
the boot floppy image to your drive, or if you have an already-installed
|
|
.Nx*M
|
|
system
|
|
.Pp
|
|
Remember, that SCSI Zip disks are usually ID 5 or 6.
|
|
Internal hard drives are usually SCSI ID 0.
|
|
.Pp
|
|
Here are some examples of what you might use to boot from such a drive:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot scsi-int/sd@0:0"
|
|
.No 0 \*> Ic "boot scsi/sd@0:0"
|
|
.No 0 \*> Ic "boot scsi-ext/sd@0:0"
|
|
.No 0 \*> Ic "boot ata/ata-disk@0:0"
|
|
.No 0 \*> Ic "boot ata/ATA-Disk@0:0"
|
|
.No 0 \*> Ic "boot ide0/disk@0:0"
|
|
.No 0 \*> Ic "boot zip:0"
|
|
.disp)
|
|
.It
|
|
.To 2 "Booting off an IDE or SCSI drive with an HFS partition"
|
|
.Em "Booting off an IDE or SCSI drive with an HFS or HFS+ partition"
|
|
.br
|
|
(Open Firmware 2.4, Open Firmware 3)
|
|
.Pp
|
|
.Tn MacOS
|
|
drives have several system-level partitions reserved for
|
|
.Tn MacOS
|
|
drivers.
|
|
You may find that your first HFS or HFS+ partition might be as high as
|
|
partition 9.
|
|
You may need to keep trying higher partition numbers until you find the one
|
|
that has your bootloader. If you're running
|
|
.Tn MacOS X
|
|
you can run the following command to print out the partition table on your
|
|
drive:
|
|
.(disp
|
|
.No % Ic "sudo pdisk /dev/disk0 -dump"
|
|
.disp)
|
|
.Pp
|
|
If you are confused by the various partition numbering schemes, see the
|
|
explanation in the FAQ
|
|
.Lk http://www.netbsd.org/Ports/macppc/faq.html#partitions
|
|
.Pp
|
|
You should use the Open Firmware
|
|
.Ic dir
|
|
command to get a directory listing of the files on your hard drive.
|
|
.Pp
|
|
If bootloader is on a different partition from the
|
|
.Nx
|
|
kernel, you will need to specify where to find the kernel.
|
|
.Pp
|
|
Remember, that SCSI Zip disks are usually ID 5 or 6. Internal hard drives
|
|
are usually SCSI ID 0.
|
|
.Pp
|
|
Here are some examples of what you might use to boot the installer kernel
|
|
located on an HFS or HFS+ partition:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "boot scsi/sd@0:9,\eofwboot.xcf netbsd.GENERIC_MD.gz"
|
|
.No 0 \*> Ic "boot ide0/disk@0:10,\eofwboot.xcf netbsd.GENERIC_MD.gz"
|
|
.No 0 \*> Ic "boot hd:9,\eofwboot.xcf netbsd.GENERIC_MD.gz"
|
|
.No 0 \*> Ic "boot ultra1:9,ofwboot.xcf netbsd.GENERIC_MD.gz"
|
|
.disp)
|
|
.Pp
|
|
.bullet)
|
|
.
|
|
.Ss2 Example of a normal boot
|
|
.
|
|
Of course, a lot of the information in this example depends on your model
|
|
and what your boot method is, but we'll include this anyways just so you
|
|
get an idea of what to expect (user-typed commands are in
|
|
.Ic bold No Ns ).
|
|
.(disp
|
|
Apple PowerBook3,1 2.1f1 BootROM built on 01/29/00 at 22:38:07
|
|
Copyright 1994-2000 Apple Computer, Inc.
|
|
All Rights Reserved
|
|
|
|
Welcome to Open Firmware.
|
|
To continue booting, type "mac-boot" and press return.
|
|
To shut down, type "shut-down" and press return.
|
|
ok
|
|
.No 0 \*> Ic "boot enet:,ofwboot.xcf netbsd.GENERIC_MD.gz"
|
|
loading XCOFF
|
|
tsize=C280 dsize=14AC bsize=2620 entry=600000
|
|
SECTIONS:
|
|
.text 00600000 00600000 0000C280 000000E0
|
|
.data 0060D000 0060D000 000014AC 0000C360
|
|
.bss 0060E4B0 0060E4B0 00002620 00000000
|
|
loading .text, done..
|
|
loading .data, done..
|
|
clearing .bss, done..
|
|
|
|
\*>\*> NetBSD/macppc OpenFirmware Boot, Revision 1.3
|
|
\*>\*> (tsubai@mint.iri.co.jp, Sun Nov 26 01:41:27 JST 2000)
|
|
1701508+177748 [100+68176+55886]=0x1e9468
|
|
|
|
start=0x100000
|
|
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001
|
|
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.5.1 (INSTALL) #0: Thu Mar 15 00:52:56 PST 2001
|
|
mw@al:/usr/src/sys/arch/macppc/compile/INSTALL
|
|
total memory = 192 MB
|
|
avail memory = 172 MB
|
|
using 2483 buffers containing 9932 KB of memory
|
|
[...]
|
|
erase ^H, werase ^W, kill ^U, intr ^C, status ^T
|
|
Terminal type? [vt100]
|
|
Erase is backspace.
|
|
(I)nstall, (S)hell or (H)alt ?
|
|
.disp)
|
|
.
|
|
.Ss2 Common Problems and Error Messages
|
|
.
|
|
This is a brief list of some of the Open Firmware problems you may run
|
|
into. See the
|
|
.Nx*M
|
|
FAQ for a thorough list.
|
|
.Lk http://www.netbsd.org/Ports/macppc/faq.html#boot-trouble
|
|
.(Note
|
|
You may find it necessary to remove all non-Apple devices from your
|
|
machine. Some users have found this necessary.
|
|
.Note)
|
|
.Pp
|
|
.(bullet
|
|
.To 2 "Black screen"
|
|
Black screen
|
|
.Pp
|
|
If your system is a PowerBook,
|
|
.Nx
|
|
may have turned down the brightness of the backlight. Use the buttons to
|
|
turn your brightness back up.
|
|
.Pp
|
|
Otherwise, you need a serial console. See the section entitled
|
|
.Sx Getting to the Open Firmware Prompt on Older Models
|
|
.It
|
|
.To 2 "Grey screen with flashing question mark"
|
|
Grey screen with flashing question mark
|
|
.Pp
|
|
This means that your system is trying to boot
|
|
.Tn MacOS .
|
|
You might get to this state if you didn't properly enter Open Firmware, or if
|
|
your Open Firmware boot command is misformed.
|
|
.Pp
|
|
If you typed a bad boot command, Open Firmware tries to boot from the
|
|
value stored in the
|
|
.Li boot-device
|
|
variable, whose default value is the MacOS ROM.
|
|
.Pp
|
|
The grey screen with the icon is generated by the MacOS ROM. A flashing
|
|
question-mark or broken folder means that your machine is looking for a
|
|
bootable MacOS filesystem, but can't find one. A happy face means it's
|
|
trying to boot MacOS.
|
|
.Pp
|
|
The boot floppy does not have a bootable MacOS filesystem, it has a
|
|
bootable NetBSD filesystem.
|
|
.Pp
|
|
Reboot, re-enter Open Firmware and check your syntax carefully.
|
|
.Pp
|
|
.(Note
|
|
Don't forget to check your Open Firmware environment variables, as they
|
|
may have been changed by your brief excursion into
|
|
.Tn MacOS No Ns .
|
|
.Note)
|
|
.It
|
|
.To 2 "Information on your screen seems garbled or out of sync"
|
|
Information on your screen seems garbled or out of sync
|
|
.Pp
|
|
If you have a PowerMacintosh 7300 through 8600, then you need to read the
|
|
section on System Disk and the patches it applies. See the section
|
|
entitled
|
|
.Sx Getting to the Open Firmware Prompt on Older Models
|
|
.Pp
|
|
If you have a Twentieth Anniversary Macintosh, Open Firmware does not work
|
|
with the internal display, you will need to set up a serial console.
|
|
.Pp
|
|
.It
|
|
.To 2 "DEFAULT CATCH!"
|
|
.Dq Li "DEFAULT CATCH!"
|
|
.Pp
|
|
This is a general message from Open Firmware to the effect that it had
|
|
trouble loading a file.
|
|
.Pp
|
|
If your machine is Open Firmware version 1.0.5, 2.0.x, or 2.4, this error
|
|
does sometimes appear randomly. You might try the boot command a second time
|
|
(this is known to work on some models). It's also an indication that
|
|
either your floppy disk is bad, or the floppy drive is bad. Try doing a
|
|
low-level format on the floppy, re-copy the files, and try again.
|
|
.Pp
|
|
There are several models that cannot be booted while using the on-board
|
|
video and keyboard. Try using a serial console.
|
|
.It
|
|
.To 2 "CLAIM failed"
|
|
.Dq Li "CLAIM failed"
|
|
.Pp
|
|
This is a general message from Open Firmware to the effect that it failed
|
|
to allocate some memory or memory is messed up.
|
|
.Pp
|
|
First, make sure you have the Open Firmware variable
|
|
.Li load-base
|
|
set correctly. If your system is Open Firmware version 1.0.5, 1.1.22,
|
|
2.0.x, or 2.4, see the section above on
|
|
.Sx Setting up pre-Open Firmware 3 to boot NetBSD
|
|
.Pp
|
|
Do not change
|
|
.Li load-base
|
|
on an Open Firmware 3 system.
|
|
.Pp
|
|
If you tried one boot command and it failed, then you tried a second and
|
|
got the
|
|
.Li CLAIM failed
|
|
message, then this is an indication that you should
|
|
reboot between attempts. Use the Open Firmware
|
|
.Ic reset-all
|
|
command.
|
|
.Pp
|
|
Contradictorily, if your machine is Open Firmware version 1.0.5, 2.0.x or
|
|
2.4, this error does sometimes appear randomly. You might try the boot
|
|
command a second time (this is known to work on some models).
|
|
.Pp
|
|
There are several models that cannot be booted while using the on-board
|
|
video and keyboard. Try using a serial console.
|
|
.It
|
|
.To 2 "can't OPEN"
|
|
.Dq Li "can't OPEN"
|
|
.Pp
|
|
Open Firmware either can't open the device you specified (because it is not
|
|
present or the device path is mistyped) or the file you specified. Check your
|
|
typing and check to make sure that the media has the files you think it has.
|
|
.Pp
|
|
Use the Open Firmware
|
|
.Ic dir
|
|
command to verify that the file(s) you tried accessing are really there.
|
|
.It
|
|
.To 2 "unrecognized Client Program formatstate not valid"
|
|
.Dq Li "unrecognized Client Program formatstate not valid"
|
|
.Pp
|
|
This is a general Open Firmware error message indicating that the filename
|
|
you tried to open either doesn't exist or is in the wrong format. For
|
|
Open Firmware 1 and 2 machines, it must be an XCOFF file (such as
|
|
.Pa ofwboot.xcf )
|
|
and for Open Firmware 3 machines, it must be either XCOFF or ELF (such as
|
|
a kernel). Make sure that you have use binary mode to FTP the files, and
|
|
that they are properly uncompressed.
|
|
.It
|
|
.To 2 "bad partition number, using 0no bootable HFS partition"
|
|
.Dq Li "bad partition number, using 0no bootable HFS partition"
|
|
.Pp
|
|
If you're trying to boot an Open Firmware 1.0.5, 1.1.22, or 2.0.x system,
|
|
this probably means that your media (i.e. hard drive or CD-ROM) has an HFS
|
|
filesystem on it (such as a hybrid CD-R or a hard drive with MacOS
|
|
partitions).
|
|
.It
|
|
.To 2 "TFTP timeout"
|
|
.Dq Li "TFTP timeout"
|
|
.Pp
|
|
Either the server's TFTP server isn't running, or you're using a model
|
|
with Open Firmware 1.0.5 and not specifying the location of the
|
|
bootloader. Unfortunately, on the early models,
|
|
.Pa ofwboot.xcf
|
|
gets confused and doesn't work right unless you load it explicitly from the
|
|
.Li boot-device ,
|
|
even if the bootp or DHCP server provides the correct information. You
|
|
need to boot with a command like:
|
|
.(disp
|
|
.No 0 \*> Ic "boot enet:,ofwboot.xcf"
|
|
.disp)
|
|
.It
|
|
.To 2 "Bootloader hangs before the copyright notice"
|
|
Bootloader hangs before the copyright notice and the kernel configuration
|
|
.Pp
|
|
You forgot to set
|
|
.Li real-base
|
|
in Open Firmware or it got erased by your booting into
|
|
.Tn MacOS .
|
|
.Pp
|
|
Make sure you have the Open Firmware variable
|
|
.Li real-base
|
|
set correctly. If your system is Open Firmware version 1.0.5, 1.1.22,
|
|
2.0.x, or 2.4, see the section above on
|
|
.Sx Setting up pre-Open Firmware 3 to boot NetBSD
|
|
.Pp
|
|
Do not set
|
|
.Li real-base
|
|
on an Open Firmware 3 system.
|
|
.It
|
|
.To 2 "Hang after configuring devices"
|
|
Hang after configuring devices, but before doing anything else
|
|
.Pp
|
|
Actually, this can have many causes. The most likely is a keyboard
|
|
problem. First, try
|
|
plugging the USB keyboard directly into the computer (i.e. not through a
|
|
hub) and unplugging the mouse.
|
|
.Pp
|
|
This is also a known problem on some PowerMacintosh G3 (Blue and
|
|
White) and iMac (Bondi Blue) machines. If you have a
|
|
PowerMacintosh G3 (Blue and White) with this problem, then you can try the
|
|
following procedure:
|
|
.(enum
|
|
Unplug the USB keyboard and plug in an ADB keyboard
|
|
.It
|
|
Boot
|
|
.Nx
|
|
with the ADB keyboard
|
|
.It
|
|
Enter root, swap and filesystem responses on the ADB keyboard
|
|
.It
|
|
When the system gets to the shell prompt (or login if you went
|
|
multi-user), unplug the ADB and plug in the USB keyboard
|
|
.enum)
|
|
.Pp
|
|
The USB will be usable at this point and you can use the system. You'll
|
|
notice that the ADB is dead even before you unplugged it. Also you MUST
|
|
boot without the USB installed or this won't work.
|
|
.Pp
|
|
Alternatively, much as it pains us to say this,
|
|
.Nx
|
|
1.4.3 works fine on both the iMac (Bondi Blue) and the PowerMacintosh G3
|
|
(Blue and White) models and does not have this USB keyboard problem.
|
|
.bullet)
|
|
.
|
|
.Ss2 Milestone
|
|
.
|
|
If you've reached this point, then you must've gotten the
|
|
.Nx
|
|
installer to boot. Congratulations! That was the hard part. From now
|
|
through the rest of this document, there should be no more Open Firmware
|
|
specific problems, so read everything because it applies to all models.
|
|
.
|
|
.so ../common/sysinst
|
|
.
|
|
Now, you can reboot to get to the Open Firmware prompt. Once there, you
|
|
can set Open Firmware to always boot into
|
|
.Nx
|
|
from the media of your choice. First, make sure you know what command you
|
|
need to boot (see above). If you are using a
|
|
.Sq "partition zero"
|
|
style boot scheme, you would type something like the following:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "setenv auto-boot? true"
|
|
.No 0 \*> Ic "setenv boot-device scsi/sd@0:0"
|
|
.No 0 \*> Ic "setenv boot-file netbsd"
|
|
.No 0 \*> Ic "reset-all"
|
|
.disp)
|
|
.Pp
|
|
The last command resets the system so that these settings are stored.
|
|
Replace
|
|
.Ic scsi/sd@0:0
|
|
with the actual device you will be booting from. If you find that your
|
|
system tries booting before your hard drive has spun up, you may need to
|
|
also enter something like:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "setenv boot-command begin ['] boot catch 1000 ms cr again"
|
|
.disp)
|
|
.Pp
|
|
If you are not using a
|
|
.Sq "partition zero"
|
|
style boot scheme, then you can still plug in all the information you
|
|
need:
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "setenv auto-boot? true"
|
|
.No 0 \*> Ic "setenv boot-device ide0/disk@0:8,\eofwboot.xcf"
|
|
.No 0 \*> Ic "setenv boot-file ide0/disk@0:13,/netbsd"
|
|
.No 0 \*> Ic "reset-all"
|
|
.disp)
|
|
.Pp
|