1055 lines
30 KiB
Plaintext
1055 lines
30 KiB
Plaintext
.\" $NetBSD: install,v 1.31 2003/12/08 21:08:07 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 8
|
|
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 partition (if it's a disk) 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 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 (or earlier). You can use
|
|
.Ic pdisk
|
|
to get a listing of the partitions on a disk.
|
|
See the Partitioning HOW-TO for help:
|
|
.Lk http://www.NetBSD.org/Ports/macppc/partitioning.html#pdisk
|
|
.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. The one exception to this rule is that Open
|
|
Firmware cannot list files on a disk with a
|
|
.Sq "partition zero"
|
|
bootloader (including the
|
|
.Nx*M
|
|
CD-R image and installation floppies).
|
|
.(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 MS-DOS
|
|
formatted disk 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.
|
|
.(Note
|
|
Keep in mind that Open Firmware is often case-sensitive when it
|
|
comes to filenames.
|
|
.Note)
|
|
.(Note
|
|
You may need to append a
|
|
.Pa ;1
|
|
to the filename when using a ISO 9660 file system. This
|
|
.Dq "version number"
|
|
is part of the ISO 9660 specification and will show up in the directory
|
|
listing if it is present on the disk. For example:
|
|
.(disp
|
|
.No 0 \*> Ic "boot cd:,\eOFWBOOT.XCF;1 NETBSD.MACPPC;1"
|
|
.disp)
|
|
.Note)
|
|
.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
|
|
.Sq Li boot-device
|
|
is
|
|
.Sq Li fd:,\eOFWBOOT.XCF
|
|
and your
|
|
.Sq Li boot-file
|
|
is
|
|
.Sq Li fd:,/NETBSD~1.GZ .
|
|
.Pp
|
|
For additional help, see
|
|
.Xr ofwboot 8
|
|
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 the NetBSD/macppc install CD-R"
|
|
.Em "Booting 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 cd:0 NETBSD.MACPPC"
|
|
.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 ata/atapi-disk:0 NETBSD.MACPPC"
|
|
.No 0 \*> Ic "boot ide1/disk@0:0 NETBSD.MACPPC"
|
|
.disp)
|
|
.Pp
|
|
.It
|
|
.Em "Booting 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 the NetBSD install floppies"
|
|
.Em "Booting the NetBSD install floppies"
|
|
.br
|
|
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
|
|
Firmware 2.4)
|
|
.Pp
|
|
The first floppy disk has a
|
|
.Sq "partition zero"
|
|
bootloader. When it has loaded the kernel, it will ask you to insert the
|
|
second floppy disk.
|
|
.(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
|
|
.To 2 "Booting an IDE or SCSI drive with an HFS partition"
|
|
.Em "Booting 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. You can use
|
|
.Ic pdisk
|
|
to print out your partition map:
|
|
.Lk http://www.NetBSD.org/Ports/macppc/partitioning.html#pdisk
|
|
.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 hd:9,\eofwboot.xcf netbsd-GENERIC_MD.gz"
|
|
.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 ultra1:9,ofwboot.xcf netbsd-GENERIC_MD.gz"
|
|
.disp)
|
|
.Pp
|
|
.It
|
|
.To 2 "Booting a custom CD-ROM"
|
|
.Em "Booting a custom CD-ROM"
|
|
.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
|
|
program has a similar problem,
|
|
.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 cd:,\eofwboot.xcf netbsd.gz"
|
|
.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 ata/atapi-disk:,\eOFWBOOT.XCF NETBSD.GZ"
|
|
.No 0 \*> Ic "boot ide1/disk@0:,\eOFWBOOT.XCF NETBSD.GZ"
|
|
.disp)
|
|
.It
|
|
.To 2 "Booting an MS-DOS floppy"
|
|
.Em "Booting 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 over the ethernet"
|
|
.Em "Booting 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 Open Firmware 1 and 2 to boot NetBSD"
|
|
to figure out your MAC address.
|
|
.Note)
|
|
.(Note
|
|
Some machines cannot load compressed kernels over ethernet.
|
|
Uncompress them first.
|
|
.Note)
|
|
.It
|
|
.Em "Booting 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 an IDE or SCSI drive with 'partition zero'"
|
|
.Em "Booting 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 CD-R 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 zip:0"
|
|
.No 0 \*> Ic "boot scsi-int/sd@0:0"
|
|
.No 0 \*> Ic "boot scsi/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"
|
|
.disp)
|
|
.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 "Open Firmware 1 and 2 System Preparation"
|
|
.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 has bad syntax.
|
|
.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 globe icon means that your machine is looking for a netboot server.
|
|
A happy face or spinning disc means it's starting 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 "Open Firmware 1 and 2 System Preparation"
|
|
.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 Open Firmware 1 and 2 to boot NetBSD"
|
|
.Pp
|
|
Do not change
|
|
.Li load-base
|
|
on an Open Firmware 3 system.
|
|
.Pp
|
|
Reset your system and try using a different boot command (this is the
|
|
only way some people have gotten their Open Firmware 2.4 systems to work):
|
|
.(disp
|
|
.No 0 \*> Ic "0 bootr boot-device boot-file"
|
|
.disp)
|
|
.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 NetBSD
|
|
.Ic pdisk
|
|
command to list the partition map and 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 "READ TIMEOUT@"
|
|
.Dq Li "READ TIMEOUT@"
|
|
.Pp
|
|
Open Firmware is having trouble reading your floppy disk. Things to try:
|
|
.(bullet -compact
|
|
Try booting from the floppy again
|
|
.It
|
|
Try a different floppy disk
|
|
.It
|
|
Try writing the floppy on the same machine you're trying to boot
|
|
.It
|
|
Clean the floppy drive
|
|
.It
|
|
Use another boot method
|
|
.bullet)
|
|
.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 "enet:,/netbsd.ram.gz: Inappropriate file type or format"
|
|
.Dq Li "enet:,/netbsd.ram.gz: Inappropriate file type or format"
|
|
.Pp
|
|
Some systems booting over ethernet can't load compressed
|
|
kernels. Use
|
|
.Xr gunzip 1
|
|
to uncompress the kernel before attempting to netboot.
|
|
.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 Open Firmware 1 and 2 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
|
|
If you're trying a model that's not on the supported list (such as a new
|
|
laptop model), they keyboard may not be supported yet.
|
|
.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
|
|
.
|
|
.Ss2 "Finalizing Open Firmware settings"
|
|
.
|
|
Now, you can reboot to get to the Open Firmware prompt. You still need
|
|
to figure out how to get Open Firmware to boot the operating system(s) of
|
|
your choice. First, try to get
|
|
.Nx*M
|
|
running. Using the methods described in the section
|
|
.Sx "Examples of Open Firmware boot commands"
|
|
figure out the boot command for your installation of
|
|
.Nx .
|
|
Try booting. Once you've got the syntax worked out, decide which operating
|
|
systems you'll be using regularly.
|
|
.(bullet
|
|
.To 2 "Booting NetBSD exclusively"
|
|
.Em "Booting NetBSD exclusively"
|
|
.br
|
|
If you'll only be using
|
|
.Nx
|
|
on your \*M system, then simply set the Open Firmware
|
|
.Sq Li boot-device
|
|
and
|
|
.Sq Li boot-file
|
|
variables to the values you just determined. Also, you might want to
|
|
enable the system to always boot
|
|
.Nx
|
|
when powered on or reset. Once you set up auto-booting you can get to
|
|
the Open Firmware prompt again by using the
|
|
.Xr shutdown 8
|
|
command to halt the system.
|
|
.Pp
|
|
If you are not using a
|
|
.Sq "partition zero"
|
|
style boot scheme (e.g. Open Firmware 3 models), then you would type
|
|
something like the following:
|
|
.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
|
|
The last command resets the system so that these settings are stored.
|
|
.Pp
|
|
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
|
|
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
|
|
.It
|
|
.To 2 "Booting NetBSD and MacOS X or Darwin"
|
|
.Em "Booting NetBSD and MacOS X or Darwin"
|
|
.br
|
|
Alas, this takes a little more work. Usually, when you select a system
|
|
to boot in the
|
|
.Dq "Startup Disk"
|
|
panel of the
|
|
.Dq "System Preferences"
|
|
application, it stores the Open Firmware path to that device in the
|
|
.Sq Li boot-device
|
|
variable. So, instead of writing the
|
|
.Nx
|
|
device path to Open Firmware, you'll store the paths to your operating
|
|
systems in NVRAM. Open Firmware cannot deal with nested
|
|
.Ic devalias
|
|
entries. You must, therefore, enter the
|
|
.Em entire
|
|
path to your device. See the
|
|
.Nx*M
|
|
.Ic nvedit
|
|
HOW-TO for more help:
|
|
.Lk http://www.NetBSD.org/Ports/macppc/nvedit.html
|
|
.Pp
|
|
.(disp
|
|
.No 0 \*> Ic "printenv boot-device"
|
|
boot-device /pci@f2000000/mac-io@17/ata-4@1f000/@0:10,\e\e:tbxi
|
|
ok
|
|
.No 0 \*> Ic "nvalias osx /pci@f2000000/mac-io@17/ata-4@1f000/@0:10,\e\e:tbxi"
|
|
.No 0 \*> Ic "nvalias bsd /pci@f2000000/mac-io@17/ata-4@1f000/@0:9,ofwboot.xcf"
|
|
.No 0 \*> Ic "nvstore"
|
|
.No 0 \*> Ic "setenv use-nvramrc? true"
|
|
.No 0 \*> Ic "reset-all"
|
|
.disp)
|
|
.Pp
|
|
Now, when the system is reset, it will stop at the Open Firmware prompt
|
|
and you can type one of the following to boot an operating system:
|
|
.(disp
|
|
.No 0 \*> Ic "boot osx"
|
|
.No 0 \*> Ic "boot bsd"
|
|
.disp)
|
|
.It
|
|
.To 2 "Booting NetBSD and MacOS 9 or earlier"
|
|
.Em "Booting NetBSD and MacOS 9 or earlier"
|
|
.br
|
|
For Open Firmware 3 systems, the procedure is identical to the section
|
|
above on
|
|
.Sx "Booting NetBSD and MacOS X or Darwin"
|
|
.Pp
|
|
For older systems, you're in for more hassle. Booting an Open Firmware
|
|
1.0.5, 2.0.x, or 2.4 system into
|
|
.Tn MacOS
|
|
9 or earlier will erase some or all of your Open Firmware settings. Try
|
|
it and see which Open Firmware variables survive.
|
|
.Pp
|
|
If only
|
|
.Sq Li real-base
|
|
is lost, you can compile a kernel that does not require changing the
|
|
.Sq Li real-base .
|
|
Just build a kernel that is less than 4 MB uncompressed. This is easy if
|
|
you remove all of the USB devices from the config file. Once you've got
|
|
a smaller kernel, just follow the procedure in the section above on
|
|
.Sx "Booting NetBSD and MacOS X or Darwin"
|
|
.Pp
|
|
If everything is lost when you boot into
|
|
.Tn MacOS
|
|
9 or earlier, you will need to make a custom BootVars
|
|
configuration that you run before trying to boot
|
|
.Nx*M
|
|
since System Disk does not preserve enough information when it saves a
|
|
configuration.
|
|
.(enum
|
|
If your system supports System Disk, run it and click
|
|
.Dq Save
|
|
to install the NVRAMRC patches.
|
|
.It
|
|
Run BootVars, click the
|
|
.Dq "All Variables"
|
|
button.
|
|
.It
|
|
Fill in
|
|
.Sq Li real-base ,
|
|
.Sq Li boot-device ,
|
|
.Sq Li boot-file ,
|
|
.Sq Li input-device ,
|
|
and
|
|
.Sq Li output-device .
|
|
.It
|
|
From the
|
|
.Dq File
|
|
menu, pick
|
|
.Dq Save .
|
|
When you run this file, it will load BootVars with all your settings. To
|
|
boot
|
|
.Nx
|
|
click the
|
|
.Dq "Write&reboot"
|
|
button.
|
|
.It
|
|
Now your system will always boot
|
|
.Nx .
|
|
To boot
|
|
.Tn MacOS ,
|
|
use the
|
|
.Xr shutdown 8
|
|
command to halt the system at the Open Firmware prompt and use the
|
|
Open Firmware
|
|
.Dq Li bye
|
|
or
|
|
.Dq Li mac-boot
|
|
command to boot
|
|
.Tn MacOS .
|
|
.enum)
|
|
.It
|
|
.To 2 "Other boot techniques"
|
|
.Em "Other boot techniques"
|
|
.br
|
|
See the FAQ for some vague information on how to use the Linux
|
|
.Ic yaboot
|
|
system to boot
|
|
.Nx .
|
|
.Lk http://www.NetBSD.org/Ports/macppc/faq.html#yaboot
|
|
.bullet)
|