NetBSD/distrib/notes/macppc/install

896 lines
26 KiB
Plaintext

.\" $NetBSD: install,v 1.25 2002/12/02 15:29:54 wiz 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
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 file system).
.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 file systems at
partition 1.
Typically, Drive Setup formatted disks have their
file systems starting at partition number 9.
Often, if you omit the partition number, Open Firmware
looks in the first partition it understands holding a valid file system.
.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
file system 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 file system on your device with the
.Ic dir
command.
This command is only useful with file systems 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 file systems.
On Open Firmware 2.4, you can use it on HFS, HFS+, hybrid, ISO9960,
and MS-DOS file systems.
On Open Firmware 3, you can use it on HFS, HFS+, hybrid (not pure ISO9660),
and MS-DOS file systems.
.(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 file systems 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 file system, 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 file system, it has a
bootable NetBSD file system.
.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"
.Do
.Li "bad partition number, using 0no bootable HFS partition"
.Dc
.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
file system 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 file system 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
.Em 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