NetBSD/distrib/notes/macppc/prep

1780 lines
44 KiB
Plaintext

.\" $NetBSD: prep,v 1.20 2001/07/05 05:03:02 mbw Exp $
.
.Ss2 Prepare yourself
.
Take a deep breath.
.Pp
Good. Now, make sure you are reading the PDF (if available), PostScript,
or HTML version of this document, as the
.Pa \&.txt No and Pa \&.more
versions lack important formatting information that will prevent you from
following the twisted path you must follow. OK, good. Now, print out
this document.
.Pp
While it's printing, get some coffee, relax a bit, and mentally prepare
yourself for something that promises to be confusing, frustrating, and
annoying. If you assume the worst, you'll be pleasantly surprised when
everything works easier than you expected. Also, forget everything you've
been told about installing
.Nx*M No Ns .
.Pp
It's done printing? Fine, now get a dark writing implement.
.Pp
The recommended installation procedure is as follows:
.(enum
Go to the
.Nx*M
model support page and look up your model information and issues (I can't
stress this enough times).
.Lk http://www.netbsd.org/Ports/macppc/models.html
.Pp
.It
Spend about 15 minutes and read through this document from this point
onward. While you're reading, use the writing implement to cross out the
sections that do not apply to your model (or hilight the sections that do
depending on your preferences).
.Pp
.It
Now spend another 5 minutes and re-read this document, and mentally piece
together how you think you'll be installing onto your machine. It may
help to take a blank piece of paper and write out an outline of the
procedure you think you'll be going through.
.Pp
.It
Now create your bootable media and media for the distribution sets.
.Pp
.It
Prepare your machine, depending on the instructions for your model
(for example: partition your drive, download and run System Disk, or hook
up a serial console).
.Pp
.It
Boot into Open Firmware, and verify that it has the version of Open
Firmware you think it does. Also make sure that the other variables
are set correctly.
.Pp
.It
Figure out the correct boot command, and boot your machine from the
bootable media you just created. If you're having trouble, be sure to
read the section on
.Sx Common Problems and Error Messages
.Pp
.It
Celebrate! The worst is over, but you've still got some work to do. Take
a break, maybe more coffee, maybe a quick walk around the block, whatever
turns your fancy.
.Pp
.It
Now use the installer to install the distribution sets onto your system
and do some initial configurations.
.Pp
.It
Figure out how to boot from the installed partition. Boot into
.Nx
for the first time.
.Pp
.It
Configure to your preferences, install your favorite packages, and have
fun with your new
.Nx*M
machine!
.enum)
.Pp
.(Note
You really actually truly do need to follow the procedure listed in this
document in the order that we describe. These systems are rather
tricky to boot for the novice and expert alike. Once you cross off the
sections that don't apply to you, it will make more sense.
.Note)
.(Note
If the instructions in a subsection below do not apply to
.Em all
versions of Open Firmware, there will be a line listing which versions of
Open Firmware they apply to, such as:
.br
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
Firmware 2.4, Open Firmware 3)
.Note)
.
.Ss2 Updating your BootROM
.
(Open Firmware 3)
.Pp
Open Firmware 3 systems have a rewritable
.Dq firmware ,
also called the BootROM. When you use an Apple
firmware updater, it updates the BootROM. This will
.Em not
change the version of Open Firmware in your machine - it will still be
Open Firmware 3. The BootROM is what is first executed when you power on
or reset your system. The BootROM then loads Open Firmware, which boots
your operating system.
.Pp
Go to the
.Sq "Apple Software Updates"
web site at
.Lk http://asu.info.apple.com/
and search for
.Sq firmware
and install the most recent version for your model.
.Pp
.(Note
If you accidentally set the
.Ic load-base No or Ic real-base
Open Firmware variables and reset your machine you will, in effect,
rewrite the BootROM with garbage, rendering your machine unbootable. We
recommend not doing this.
.Note)
.(Note
The most recent BootROMs available (4.1.7 and 4.1.8) as of May 2001 are
known to have some problems. Some PowerBook G4 users find they are
unable to boot
.Nx
after upgrading, and some PowerMacintosh users find that their third-party
RAM has been disabled. See the discussion at
.Lk http://www.macfixit.com/archives/april.01.a.shtml#firm-04-07
.Note)
.Pp
.
.Ss2 Getting to the Open Firmware Prompt on Newer Models
.
(Open Firmware 3)
.Pp
Hold down a special key combination when your system boots.
.Pp
After the chime starts, but before it stops, hold down the
.Key COMMAND-OPTION-O-F
keys (the
.Key COMMAND
key looks like a four-leaf clover or an open apple, and the
.Key OPTION
key may look like a two-way switch with four straight line segments).
.Pp
You should now see the Open Firmware command prompt on your screen:
.Pp
.(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
0 >
.disp)
.Pp
Now, set your system to always stop at the Open Firmware prompt.
.Pp
.Dl 0 > Ic "setenv auto-boot? false
.Pp
Skip down to the section on
.Sx Setting up Open Firmware 3 to boot NetBSD
since the next several pages are instructions for older models.
.Pp
.
.Ss2 Getting to the Open Firmware Prompt on Apple Network Servers
.
(Open Firmware 1.1.22)
.Pp
The version of Open Firmware in the
Apple Network Servers can only use a serial console.
You must first hook up a serial console
(38400 bps, 8 bits, no parity, 1 stop bit, no handshaking) to
.Sq "Port 2"
(the
.Sq Li ttya
device in Open Firmware).
.Pp
Hold down a special key combination on the keyboard attached to
the ADB port on your system (not the serial console or PS/2 port) when
your system boots.
.Pp
After the chime starts, but before it stops, hold down the
.Key COMMAND-OPTION-O-F
keys (the
.Key COMMAND
key looks like a four-leaf clover or an open apple, and the
.Key OPTION
key may look like a two-way switch with four straight line segments).
.Pp
You should now see some introductory text and the Open Firmware command
prompt on your terminal:
.Pp
.Dl 0 >
.Pp
Your screen will remain black.
.Pp
Now, set your system to always stop at the Open Firmware prompt.
.Pp
.Dl 0 > Ic "setenv auto-boot? false
.Pp
Skip down to the section on
.Sx Setting up pre-Open Firmware 3 to boot NetBSD
since the next several pages are instructions for MacOS models.
.Pp
.
.Ss2 Older Open Firmware System Preparation
.
(Open Firmware 1.0.5, Open Firmware 2.0.x, Open Firmware 2.4)
.Pp
These models are significantly trickier than the newer machines.
.Pp
All pre-Open Firmware 3 \*M systems have Open Firmware bugs. Luckily, Open
Firmware has a small
Non-Volatile RAM variable (NVRAM) which is reserved for FORTH commands which
will be run before booting an operating system. Apple has released a freeware
.Tn MacOS
tool called System Disk, which patches
most of these bugs. We
.Em strongly
recommend that you use this tool to patch your Open Firmware,
as several systems cannot boot without these patches. If you read
the Model Support page, you'd also know that some models are broken by
or are unsupported by System Disk.
.Pp
If you have one of the following models, then skip down to the section on
.Sx Getting to the Open Firmware Prompt (Harder method using MacOS)
.br
Apple Performa 4400, 5500, 6500, 54xx, 6400, and 6360,
.br
Motorola Starmax 3000, 4000, 5000, and 5500,
.br
APS Tech M*Power 604e/200,
.br
PowerComputing PowerBase,
.br
Umax Apus 2000, Apus 3000, C500, and C600
.Pp
For every other model, download System Disk from Apple's site:
.Lk ftp://ftp.apple.com/developer/macosxserver/utilities/SystemDisk2.3.1.smi.bin
.Pp
For a brief tutorial on how to use System Disk, see:
.Lk http://www.netbsd.org/Ports/macppc/SystemDisk-tutorial/
.Pp
Make sure you click the
.Dq Save
button, or the patches will not be saved to NVRAM.
.(Note
NVRAM patches and Open Firmware settings will be erased if you
.Sq "zap your PRAM"
by holding down
.Key COMMAND-OPTION-P-R
keys during the boot chimes, or if you accidentally boot into
.Tn MacOS No Ns .
.Note)
.Pp
.
.Ss2 Getting to the Open Firmware Prompt on Older Models
.
(Open Firmware 1.0.5, Open Firmware 2.0.x, Open Firmware 2.4)
.Pp
Open Firmware has two variables,
.Sq input-device
and
.Sq output-device No Ns ,
which specify which devices to use for input and output.
.Pp
All Open Firmware 1.0.5 and most Open Firmware 2.0.x systems will default
to using the
.Sq Modem
serial port for the console instead of the ADB keyboard and the monitor
attached to the on-board video.
Unless you use a MacOS-based utility to set
these variables correctly, you
.Em will
need to hook up a serial console temporarily to set them before you
can use your keyboard and screen. Some models (such as the Performa 54xx,
6360, 6400, and 6500) have the
.Sq Modem
serial port covered with a piece of plastic since the internal modem
usurps that serial port. You will either need to use Boot Variables to
set the
.Sq input-device
and
.Sq output-device
variables to
.Sq ttyb
(which is the Printer serial port) or remove the internal modem.
.Pp
Now would be a good time to look at the
.Nx*M
Model Support webpage to determine the issues with your model.
.Lk http://www.netbsd.org/Ports/macppc/models.html
.Pp
In particular, some models
.Em must
use a serial console, or they will be unable to boot
.Nx
at all. All models can be set to use a serial console, if you desire
to bypass the keyboard and screen.
.Pp
If you need to use a serial console, you can use a normal
.Sq printer
cable (mini-DIN 8 to mini-DIN 8) and a
.Tn MacOS
tool, such as ZTerm to
connect a
.Tn MacOS
system to your
.Nx*M
system.
.Lk http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/comm/term/zterm-101.hqx
.
.Ss2 Getting to the Open Firmware Prompt (Recommended method using MacOS)
.
(Open Firmware 1.0.5, Open Firmware 2.0.x, Open Firmware 2.4)
.Pp
Launch the
.Tn MacOS
System Disk tool. Click on
.Dq "Power User (Open Firmware)"
then click on the
.Dq "Advanced Options"
button. Now, click on the checkbox that says
.Dq "Stop Boot at Open Firmware prompt"
and select
.Dq OK .
Click the
.Dq Save
button and reboot your system.
.Pp
If your
.Sq output-device
is
.Sq Li /chaos/control
(i.e. you have a PowerMacintosh 7300 - 8600 system), there is a chance that
your monitor will not sync. See
.Lk http://www.netbsd.org/Ports/macppc/SystemDisk-tutorial/of105patch.html
.Pp
You should now see the Open Firmware command prompt on your screen:
.Pp
.(disp
Open Firmware, 1.0.5
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
ok
0 >
.disp)
.Pp
If your screen is black, then your model does not support using the
on-board video in
Open Firmware. You will need to connect a serial console to the
.Sq Modem
port of your system
(38400 bps, 8 bits, no parity, 1 stop bit, no handshaking).
.(Note
The
.Dq "Stop Boot at Open Firmware prompt"
setting is persistent. It is equivalent to the Open Firmware command
.Pp
.Dl 0 > Ic "setenv auto-boot? false
.Note)
.(Note
Unfortunately, there are a few models that are better off without the System
Disk patches. If you find that your machine doesn't boot, then try:
.Pp
.Dl 0 > Ic "setenv use-nvramrc? false"
.Dl 0 > Ic "reset-all"
.Note)
.
.Ss2 Getting to the Open Firmware Prompt (Harder method using MacOS)
.
(Open Firmware 1.0.5, Open Firmware 2.0.x, Open Firmware 2.4)
.Pp
If System
Disk doesn't work because your version of
.Tn MacOS
is too old or because
System Disk says that it doesn't support your model, then you may try using
the
.Tn MacOS
BootVars tool.
.Pp
.Lk ftp://ftp.netbsd.org/pub/NetBSD/arch/macppc/macos-utils/bootvars/bootvars.sit.hqx
.(Note
BootVars does
.Em not
apply the (possibly critical) NVRAM patches that System Disk does.
Expect some devices to not work (such as hard drives and ethernet).
.Note)
.Pp
Look up the proper
.Sq output-device
for your model on the
.Nx*M
Model Support webpage.
.Lk http://www.netbsd.org/Ports/macppc/models.html
If the
.Nx*M
Model support webpage does not list an
.Sq output-device
for your model, then your system will default to using the on-board
video. You needn't fill in the
.Sq output-device
and
.Sq input-device
variables.
.Pp
Launch the
.Tn MacOS
BootVars tool. Click on the
.Dq auto-boot?
checkbox, then click on the
.Dq "All Variables"
checkbox and type
.Ic kbd
into the
.Sq input-device
box, and the proper device name into the
.Sq output-device
box.
Click on the
.Dq write
button, and then reboot your system.
.Pp
If your
.Sq output-device
is
.Sq Li /chaos/control
(i.e. you have a PowerMacintosh 7300 - 8600 system), there is a chance that
your monitor will not sync. See
.Lk http://www.netbsd.org/Ports/macppc/SystemDisk-tutorial/of105patch.html
.Pp
You should now see the Open Firmware command prompt on your screen:
.Pp
.(disp
Open Firmware, 1.0.5
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
ok
0 >
.disp)
.Pp
If your screen is black, then your model has defaulted to using a serial
console. This is fairly common on Open Firmware 1 and 2 models if you do not
use the System Disk tool to set up Open Firmware. You must hook up a serial
console (38400 bps, 8 bits, no parity, 1 stop bit, no handshaking).
.(Note
The
.Dq auto-boot?
setting is persistent. Your system will always stop at the Open Firmware
prompt. It is equivalent to the Open Firmware command
.Pp
.Dl 0 > Ic "setenv auto-boot? false
.Note)
.
.Ss2 Getting to the Open Firmware Prompt (Without using MacOS)
.
(Open Firmware 1.0.5, Open Firmware 2.0.x, Open Firmware 2.4)
.Pp
If you don't
have
.Tn MacOS ,
then you need to hold down a special key combination when your system boots.
Do this on the keyboard attached to
the ADB port on your system (not the serial console) when your system
boots.
.(Note
Your system will
.Em not
have the (possibly critical) NVRAM patches that System Disk applies.
Expect some devices to not work (such as hard drives and ethernet).
.Note)
.Pp
After the chime starts, but before it stops, hold down the
.Key COMMAND-OPTION-O-F
keys (the
.Key COMMAND
key looks like a four-leaf clover or an open apple, and the
.Key OPTION
key may look like a two-way switch with four straight line segments).
.Pp
You should now see the Open Firmware command prompt on your screen:
.Pp
.(disp
Open Firmware, 1.0.5
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
ok
0 >
.disp)
.Pp
If your screen is black, then your system has defaulted to using a serial
console. This is fairly common on Open Firmware 1 and 2 models if you do
not use the System
Disk tool to set up Open Firmware. You must hook up a serial console
(38400 bps, 8 bits, no parity, 1 stop bit, no handshaking).
.Pp
Now, set your system to always stop at the Open Firmware prompt.
.Pp
.Dl 0 > Ic "setenv auto-boot? false
.Pp
To use your on-board video and keyboard, look up the proper
.Sq output-device
for your model on the
.Nx*M
webpage
.Lk http://www.netbsd.org/Ports/macppc/models.html
Run the following commands to use your screen instead of
a serial console
(replace
.Sq Li screen
with the correct
.Sq output-device
for your model):
.Pp
.Dl 0 > Ic "setenv output-device screen"
.Dl 0 > Ic "setenv input-device kbd"
.Dl 0 > Ic "reset-all"
.Pp
Now you should see the Open Firmware prompt on your screen.
.Pp
If your
.Sq output-device
is
.Sq Li /chaos/control
(i.e. you have a PowerMacintosh 7300 - 8600 system), there is a chance that
your monitor will not sync. See
.Lk http://www.netbsd.org/Ports/macppc/SystemDisk-tutorial/of105patch.html
.
.Ss2 Setting up pre-Open Firmware 3 to boot NetBSD
.
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x,
Open Firmware 2.4)
.Pp
Double-check your Open Firmware version:
.Pp
.(disp
.No 0 > Ic "dev /openprom .properties"
name openprom
model Open Firmware, 1.0.5
relative-addressing
ok
.disp)
.Pp
If your system has Open Firmware prior to version 3, then you must set
some Open Firmware variables before
.Nx
can boot. Do
.Em not
run these commands on Open Firmware 3 machines, as you may overwrite your
firmware requiring a trip to Apple for repairs.
.Pp
.Dl 0 > Ic "setenv load-base 600000"
.Dl 0 > Ic "setenv real-base F00000"
.Dl 0 > Ic "reset-all"
.Pp
The last command reboots your machine so that the
.Li real-base
setting takes effect.
.Pp
If you will be netbooting your system, you can look up your MAC address.
.Pp
.(disp
.No 0 > Ic "dev enet .properties"
[...]
local-mac-address CCCCCCCC CCCC
[...]
ok
.disp)
.Pp
.(Note
Some early Open Firmware 1.0.5 machines had their MAC address stored
incorrectly on the motherboard (little- vs. big-endian problems).
The patches the System Disk installs will correct this.
Without the patch, the machine will still work, but its MAC address
may conflict with another ethernet device on your network.
.Note)
.Pp
You can check your Open Firmware settings with the
.Pa printenv
command:
.(disp
.No 0 > Ic "printenv"
little-endian? false false
real-mode? false false
auto-boot? false true
diag-switch? false false
[...]
use-nvramrc? true false
real-base F00000 -1
[...]
load-base 600000 4000
[...]
input-device kbd ttya
output-device /chaos/control ttya
.disp)
.Pp
.(Note
Open Firmware 1.0.5 settings and nvram patches will be erased if you boot into
.Tn MacOS No Ns .
You will need to re-enter them before booting
.Nx
again.
.Note)
.Pp
.(Note
Open Firmware 2.0.x and Open Firmware 2.4 systems will set the
.Li real-base
environment variable to its default value (which prevents
.Nx from booting) if you boot into
.Tn MacOS No Ns .
.Note)
.
.Ss2 Setting up Open Firmware 3 to boot NetBSD
.
(Open Firmware 3)
.Pp
Double-check your Open Firmware version:
.Pp
.(disp
.No 0 > Ic "dev /openprom .properties"
name openprom
device_type BootROM
model OpenFirmware 3
relative-addressing
supports-bootinfo
ok
.disp)
.Pp
If you will be netbooting your system, you can look up your MAC address.
.Pp
.(disp
.No 0 > Ic "dev enet .properties"
[...]
local-mac-address CCCCCCCC CCCC
[...]
.disp)
.Pp
.(Note
Some Open Firmware 3 machines have their MAC address stored incorrectly
(little- vs. big-endian problem). If you look up your MAC address in
.Tn MacOS ,
it will be different than what Open Firmware 3 uses to contact your netboot
server. Your machine will still work, but its MAC address may conflict with
another ethernet device on your network.
.Note)
.Pp
You can check your Open Firmware settings with the
.Pa printenv
command:
.(disp
.No 0 > Ic "printenv"
-------------- Partition: common -------- Signature: 0x70 ---------------
little-endian? false false
real-mode? false false
auto-boot? false true
diag-switch? false false
[...]
use-nvramrc? true false
real-base -1 -1
[...]
input-device keyboard keyboard
output-device screen screen
.disp)
.
.Ss2 Available Boot Media
.
(All Open Firmware versions)
.Pp
Each version of Open Firmware is capable of booting from a variety of
media (such as hard drives, CD-ROMs, and ethernet). To boot the
.Nx
kernel, Open Firmware must first open a
.Sq bootloader
which knows how to load the
.Nx
kernel. There are two approaches, the
.Pa ofwboot.xcf
bootloader and the
.Sq "partition zero"
bootloader. In the former case, the user tells Open Firmware to
load
.Pa ofwboot.xcf
and it will load the kernel. In the latter case, the user tells Open
Firmware to boot from a particular device, and a primary bootloader
.Pa bootxx
is loaded, which then loads the secondary bootloader
.Pa ofwboot
which then loads the kernel.
.(Note
.Pa ofwboot.elf
is obsoleted. All users should be using
.Pa ofwboot.xcf
instead of
.Pa ofwboot.elf
now.
.Note)
.Pp
See the FAQ for a more thorough explanation:
.Lk http://www.netbsd.org/Ports/macppc/faq.html#boot-support
.Pp
The following bootable media are available for loading the bootloader
.Pq Pa ofwboot No or Pa ofwboot.xcf
(see below for descriptions):
.(bullet -offset indent
.
.Em "Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x"
.br
.(bullet -compact
Partition zero
.It
Ethernet (netboot)
.It
ISO 9660 CD-ROM filesystem
.It
MS-DOS filesystem (not supported by
.Nx No Ns )
.bullet)
.It
.Em "Open Firmware 2.4"
.br
.(bullet -compact
Partition zero
.It
Ethernet (netboot)
.It
ISO 9660 CD-ROM filesystem
.It
HFS, HFS+, or Hybrid (ISO9660 and HFS) filesystem
.It
MS-DOS filesystem (not supported by
.Nx No Ns )
.bullet)
.It
.Em "Open Firmware 3"
.br
.(bullet -compact
HFS, HFS+, or Hybrid (ISO9660 and HFS) filesystem
.It
Ethernet (netboot)
.It
Partition zero (not supported by
.Nx No Ns )
.It
MS-DOS filesystem (not supported by
.Nx No Ns )
.bullet)
.bullet)
.Pp
Once
.Pa ofwboot
or
.Pa ofwboot.xcf
is loaded, it can open the kernel from one of the following sources:
.(bullet -offset indent
.
.Em "Ethernet (NFS)"
.
.It
.Em "NetBSD FFS file system"
.Pp
Such as the boot floppy, or an installed
.Nx
partition.
.
.It
.Em "HFS or HFS+ filesystem"
.Pp
Only on Open Firmware 2.4 or Open Firmware 3 systems.
.
.It
.Em "ISO 9660 CD-ROM file system"
.bullet)
.Pp
The boot floppy image provided with the distribution sets has a
.Sq "partition zero"
bootloader and a
.Nx
file system with an installation kernel.
.Pp
.
.Ss2 Description of bootable media
.
(All Open Firmware versions)
.Pp
.(bullet -offset indent
.
.Em "Partition zero"
.br
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
Firmware 2.4)
.Pp
This method loads a primary bootloader called
.Pa bootxx
which then loads the secondary bootloader
.Pa ofwboot
(functionally identical to
.Pa ofwboot.xcf
(q.v.))
which then loads the kernel.
This is the method used by the boot floppies, and when you're
installing
.Nx
on the entire disk.
Unfortunately, it appears that the Open Firmare 2.4 floppy disk driver
is broken.
.
.It
.Em "Partition zero"
.br
(Open Firmware 3)
.Pp
While Open Firmware 3 supports this boot method,
.Nx*M
does not yet support it on these systems.
.Pp
.It
.Em "HFS or HFS+ file system"
.br
(Open Firmware 2.4, Open Firmware 3)
.Pp
This method loads
.Pa ofwboot.xcf
from an HFS or HFS+ partition which then loads the kernel from an acceptable
source (such as an FFS partition or an HFS or HFS+ partition). The FFS-based
kernel may be on the boot floppy image
.No ( Ns Pa boot.fs No Ns )
located on an HFS or HFS+ partition, or located on a full FFS partition.
.Pp
Alternatively, the kernel (compressed
or non-compressed) may be on an HFS or HFS+ partition. Due to Open Firmware
pickiness, it must be on the same partition as
.Pa ofwboot.xcf No Ns .
.
.It
.Em "MS-DOS file system"
.br
(All Open Firmware versions)
.Pp
This cannot be used, as neither the
.Pa ofwboot.xcf
bootloader nor the kernel can read files directly from a
.Tn MS-DOS
file system.
.
.It
.Em "Ethernet (network boot)"
.br
(All Open Firmware versions)
.Pp
You can run your entire system diskless or netboot only the files necessary
to boot (i.e. the bootloader and the installation kernel),
but you must have root access on another
.Ux
machine on your subnet.
.(Note
You must use your on-board ethernet device for netbooting. While there
may be some PCI or Cardbus ethernet interfaces with Open Firmware ROMs, no
one has reported success netbooting using these devices
.Note)
.(Note
Some Open Firmware 1.0.5 machines do not retrieve the BOOTP information
correctly. These machines cannot netboot.
.Note)
.
.It
.Em "ISO9660 CD-ROM file system"
.br
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
Firmware 2.4)
.Pp
Load the
.Pa ofwboot.xcf
bootloader from an ISO 9660 CD-ROM. It can then load a
.Nx
kernel from the ISO 9660 CD-ROM.
.Pp
Open Firmware 1.0.5 and 2.0.x machines will
.Em not
boot from the ISO 9660 file system if you create a hybrid HFS/ISO
format CD-R. Make sure that it the CD
.Em only
has ISO 9660 data and does not have an Apple Partition Map.
.(Note
Open Firmware can only open files on the first session of a multi-session
CD-R
.Note)
.
.It
.Em "Hybrid HFS/ISO 9660 CD-ROM file system"
.br
(Open Firmware 2.4, Open Firmware 3)
.Pp
Load the
.Pa ofwboot.xcf
bootloader from the CD-ROM's HFS filesystem. It can then load a
.Nx
kernel from the ISO 9660 filesystem.
.Pp
Make sure that the CD has an Apple Partition Map.
.(Note
Open Firmware can only open files on the first session of a multi-session
CD-R
.Note)
.bullet)
.Pp
.
.Ss2 Partitioning your hard drive for NetBSD
.
(All Open Firmware versions)
.Pp
.(bullet -offset indent
.
.Em "Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x"
.br
You must use the
.Nx
installer to partition your disk if you want it to be bootable. With
this release of
.Nx No Ns ,
there is no way to dual-boot
.Tn MacOS
and
.Nx
on one hard drive.
.Pp
You can use the instructions in this section to partition a disk that may
also be used with
.Tn MacOS No Ns ,
although a disk prepared in this way
.Em "will not boot"
.Em Nx No Ns .
That means, your root partition
.No ( Ns Pa / No Ns )
must be on a drive prepared with the
.Nx
installer, but the partitions not necessary to boot (for example
.Pa /usr No Ns ,
.Pa /home No Ns ,
or
.Pa /export No Ns )
may be on the same disk as
.Tn MacOS No Ns .
.Pp
Unless you are planning to use partitions on the same disk as
.Tn MacOS No Ns ,
skip forward to
.Sx Preparing the Bootable Media
.It
.Em "Open Firmware 2.4"
.br
We recommend using the
.Nx
installer to partition your disk, but you will not be able to use
partitions on this drive with
.Tn MacOS .
.Pp
If you'd like to have
.Tn MacOS
and
.Nx
partitions on one hard drive (and for both to be bootable),
then read the rest of this section.
.It
.Em "Open Firmware 3"
.br
You must have at least one disk that was partitioned using a
.Tn MacOS
tool before installing
.Nx
on your system.
.Pp
This is the drive that will be holding the bootloader,
.Pa ofwboot.xcf No Ns .
Your
.Nx
partitions may either be on this same disk (using the method described
in the rest of this section), or on a separate disk accessible only to
.Nx No Ns .
If you are dedicating an entire disk to
.Nx No Ns ,
then your
.Tn MacOS
partitioned disk only needs HFS or HFS+ partitions.
.Pp
The rest of this section describes how to make a
single disk dual-bootable which is necessary for machines which have only
one hard drive (such as the iBook, iMac, PowerBook, and PowerMacintosh Cube
systems).
.bullet)
.Pp
.Em "Using the"
.Em Nx
.Em "installer to install a disklabel or bootloader will"
.Em "render your disk unusable by"
.Tn MacOS No Ns .
.Em "Either will also prevent Open Firmware 3 machines from booting"
.Pa ofwboot.xcf Ns .
.Em "You will need to use the installer's"
.Em Dq "Re-install sets"
.Em "option. More information is provided below on this process."
.Pp
Unfortunately, the partitioning tools for
.Nx
are not advanced enough to create HFS or HFS+ file systems or a
partition map that can be shared with
.Tn MacOS .
You will need to use the
.Tn MacOS
Drive Setup tool (versions 1.8.1 and later are
known to work) to partition the hard drive you will be using for
.Nx .
Drive Setup will erase the contents of your drive -- it does not preserve
data from any of your partitions. Make the following partitions:
.(tag "A/UX_Rootxxx" -offset indent
.It Em HFS No or Em HFS+
Must be large enough to hold the bootloader, over 100 KB. May be as large
as you desire for
.Tn MacOS
usage.
.It Em "A/UX Root"
Must be at least 20 MB. Alternatively, you may decide to use one partition for
your entire
.Nx
installation, in which case it should be at least 200 MB without X, or 250
MB with X.
.Nx
interprets an
.Em "A/UX Root"
partition as the first partition
.No ( Ns Em a No Ns )
on the disk.
This partition is not readable from
.Tn MacOS No Ns .
.It Em "A/UX Swap"
Any size. The recommenation is 1.5 times your RAM, although this is not
strictly necessary for machines with a lot of RAM.
.Nx
interprets an
.Em "A/UX Swap"
partition as the second partition
.No ( Ns Em b No Ns )
on the disk.
This partition is not readable from
.Tn MacOS No Ns .
.It Em "A/UX User, A/UX Free1, A/UX Free2, A/UX Free3"
Use these for any additional partitions you may want to use under
.Nx Ns ,
such as
.Pa /usr No (at least 200 MB),\ Pa /home No Ns ,\ Pa /usr/local No Ns ,\ or
.Pa /usr/pkg No Ns .
.Nx
interprets these partitions as normal
.Nx No Ns -style
partitions.
These partitions are not readable from
.Tn MacOS No Ns .
.It Em HFS
Any size. You may want to leave an additional partition available to
transfer files between
.Tn MacOS
and
.Nx .
If you think you'll be doing this often, then see the FAQ entry on sharing
files:
.Lk http://www.netbsd.org/Ports/macppc/faq.html#disk-sharing
.tag)
.Pp
If you need further help, there is a partitioning HOW-TO on the
.Nx
website:
.Lk http://www.netbsd.org/Ports/macppc/partitioning.html
.
.Ss2 Preparing the Bootable Media
.
.
The purpose of this section is to prepare the media from which your system
will boot the installer. We'll describe how to put the files in the right
places on your disk(s) or netboot server and prepare it for use on your
system.
.Pp
If you will be running your system diskless (i.e. entirely over NFS, not
using any local hard drives), then you do not need to run the installer,
you only need to extract the distribution sets on the diskless server.
.Pp
To get the distribution sets (which will be placed on your
hard drive) onto appropriate media, see the above section entitled
.Sx Getting the NetBSD System on to Useful Media
.No Ns .
You may wish to do this at the same time you create the bootable media
(such as netbooting and placing distribution sets on the netboot server,
or booting from CD-R and placing distribution sets on the same disk)
.Pp
.(Note
Some
.Tn MacOS
.Ic ftp
clients default to downloading files in
.Sq ASCII
mode. This will render the
.Nx
files useless. Make sure to set your ftp program to download in
.Sq binary
mode.
.Note)
.Pp
These are the recommended techniques for booting the
.Nx
install kernel:
.Pp
.(bullet -offset indent
.
.Em "Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x"
.br
.(bullet -compact
Boot off a floppy
.It
Boot off an ISO9660 CD-ROM
.It
Boot over the ethernet
.It
Boot the floppy image off a bootable SCSI or IDE drive (not recommended)
.bullet)
.It
.Em "Open Firmware 2.4"
.br
.(bullet -compact
Boot off a floppy (may not be supported by Open Firmware 2.4)
.It
Boot off an HFS or HFS+ partition
.It
Boot off an ISO9660 CD-ROM
.It
Boot off a Hybrid HFS/ISO9660 CD-ROM
.It
Boot over the ethernet
.It
Boot the floppy image off a bootable SCSI or IDE drive (not recommended)
.bullet)
.It
.Em "Open Firmware 3"
.br
.(bullet -compact
Boot off an HFS or HFS+ partition
.It
Boot off a Hybrid HFS/ISO9660 CD-ROM
.It
Boot over the ethernet
.bullet)
.bullet)
.Pp
What follows are the steps to create different types of bootable media.
You should only need to create one of these to get your system to boot the
installer
.Pp
.(bullet
.
.Em "Boot off a floppy"
.br
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
Firmware 2.4)
.Pp
If the boot floppy image is compressed, then you will need to uncompress
it first.
.Pp
Use some tool to write the boot floppy image
.Pa installation/boot.fs
to a floppy disk, and boot
from that.
The primary bootloader (in
.Sq "partition zero" )
will load
.Pa ofwboot
which will load the installation kernel.
.Pp
.(bullet -compact
.Em "From a UNIX machine"
.Pp
.Dl # Ic "dd if=boot.fs of=/dev/rfd0a bs=36k"
.Pp
.It
.Em "From a Windows machine"
.Pp
Get either the
.Ic rawrite.exe
program from the NetBSD/i386 distribution or
.Ic rawrite32.exe
from
.Lk http://www.duskware.com/rawrite32/
.Pp
.It
.Em "From a MacOS machine"
.Pp
Get
.Ic suntar
from
.Lk http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/suntar-222.hqx
.(enum
Open the
.Sq Preferences
menu and pick
.Sq Expert Mode
.Pp
.It
Open the
.Sq Special
menu and pick
.Sq "Overwrite Sectors ..."
.Pp
.It
Insert a floppy disk
.Pp
.It
Hit return (i.e. start at sector number zero)
.Pp
.It
Select
.Pa boot.fs
and click
.Dq Open
.Pp
.It
Open the
.Sq File
menu and pick
.Sq Eject
.enum)
.bullet)
.Pp
Skip forward to
.Sx Installing the NetBSD System
.
.It
.Em "Boot off an HFS or HFS+ partition"
.br
(Open Firmware 2.4, Open Firmware 3)
.Pp
Place
.Pa ofwboot.xcf
and the boot floppy image
.Pa boot.fs
at the top level of your Macintosh filesystem. Use a
.Tn MacOS
utility such as
.Ic Stuffit Expander
to uncompress the boot floppy image (if it's compressed).
Get to the Open Firmware prompt. Boot the bootloader, and tell it to look
for the kernel in the boot floppy image.
.Pp
Alternatively, copy a kernel to the same partition as
.Pa ofwboot.xcf No Ns .
It may be compressed or uncompressed, it should make no difference.
Get to the Open Firmware prompt. Boot the bootloader, and tell it to look
for the kernel you copied to your HFS or HFS+ partition.
.Pp
Skip forward to
.Sx Installing the NetBSD System
.
.It
.Em "Boot off the official NetBSD/\*M-\*V CD-R image"
.br
(All Open Firmware versions)
.Pp
Check the FAQ for the location of the official
.Nx*M \*V
CD-R image.
.br
.Lk http://www.netbsd.org/Ports/macppc/faq.html#cdr151
.Pp
.(bullet
.Em "From a UNIX machine"
.Pp
Get and install cdrecord.
.Nx
users should install it from the package collection. Other unix systems
should get it from the official website:
.br
.Lk ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/sysutils/cdrecord/README.html
.br
.Lk http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
.Pp
.Dl # Ic "cdrecord -v speed=4 dev=/dev/cd1c output.iso"
.Pp
You will need to substitute the correct name of the disk image file,
speed for your CD writer, and the
correct device for your system (for i386 it would be
.Pa /dev/cd1d No Ns ).
.Pp
.It
.Em "From a MacOS machine (using Toast)"
.Pp
.(enum
Open the
.Sq Format
menu and pick
.Sq "Disk Image"
.Pp
.It
Click the
.Dq Data...
button and select the disk image you downloaded.
.Pp
.It
Click the
.Dq "Write CD..."
button
.enum)
.bullet)
.Pp
Skip forward to
.Sx Installing the NetBSD System
.
.It
.Em "Boot off an ISO 9660 CD-ROM"
.br
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
Firmware 2.4)
.Pp
This section describes how to create your own bootable
.Nx*M
CD-R. We recommend that you use the official
NetBSD/\*M-\*V
CD-R image, as described in the section above.
.Pp
Place
.Pa ofwboot.xcf
and the installation kernel
.Pa netbsd.ram.gz
at the top level of the CD.
You may also place the
.Nx \*V
distribution sets on the disk.
Have Open Firmware load
.Pa ofwboot.xcf
from the disk, and it will then load the installation kernel.
.Pp
.(bullet
.Em "From a UNIX machine"
.Pp
Get and install mkhybrid. This is now part of the cdrecord package.
.Nx
users should install it from the package collection. Other unix systems
should get it from the official website:
.br
.Lk ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/sysutils/cdrecord/README.html
.br
.Lk http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
.Pp
.Dl # Ic "mkhybrid -o output.iso -a -l -J -r -L /cdsources"
.Dl # Ic "cdrecord -v speed=4 dev=/dev/cd1c output.iso"
.Pp
You will need to substitute the correct speed for your CD writer, and the
correct device for your system (for i386 it would be
.Pa /dev/cd1d No Ns ).
.Pp
See the
.Nx
Bootable CD-ROM HOW-TO for more detail:
.Lk http://www.netbsd.org/Documentation/bootcd.html
.Pp
.It
.Em "From a MacOS machine (using Toast)"
.Pp
.(enum
Open the
.Sq Format
menu and pick
.Sq "ISO 9660"
.Pp
.It
Click the
.Dq Data...
button and drag
.Pa installation/ofwboot.xcf
and
.Pa installation/netbsd.ram.gz
into the window
.Pp
.It
Click the
.Dq Settings
tab, open the
.Dq Naming
popup menu, and pick
.Dq "Macintosh Names"
.Pp
.It
Click the
.Dq Done
button
.Pp
.It
Click the
.Dq "Write CD..."
button
.enum)
.bullet)
.Pp
Skip forward to
.Sx Installing the NetBSD System
.
.It
.Em "Boot off a hybrid HFS/ISO 9660 CD-ROM"
.br
(Open Firmware 2.4, Open Firmware 3)
.Pp
This section describes how to create your own bootable
.Nx*M
CD-R. We recommend that you use the official
NetBSD/\*M-\*V
CD-R image, as described two sections above.
.Pp
Place
.Pa ofwboot.xcf
and the installation kernel
.Pa netbsd.ram.gz
at the top level of the CD. Make sure that the
bootloader is present on the HFS partition, and the kernel is on the ISO
partition. You may also place the
.Nx \*V
distribution sets on the ISO partition
.No ( Ns Em not
only on the HFS partition). Have Open Firmware load
.Pa ofwboot.xcf
from the HFS partition, and it will load the installation kernel from the
ISO partition.
.Pp
.(bullet
.Em "From a UNIX machine"
.Pp
Get and install mkhybrid. This is now part of the cdrecord package.
.Nx
users should install it from the package collection. Other unix systems
should get it from the official website:
.Lk ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/sysutils/cdrecord/README.html
.Lk http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
.Pp
.br
.Dl # Ic "mkhybrid -o output.iso -hfs -part -a -l -J -r -L /cdsources"
.br
.Dl # Ic "cdrecord -v speed=4 dev=/dev/cd1c output.iso"
.Pp
You will need to substitute the correct speed for your CD writer, and the
correct device for your system (for i386 it would be
.Pa /dev/cd1d No Ns ).
.Pp
See the
.Nx
Bootable CD-ROM HOW-TO for more detail:
.Lk http://www.netbsd.org/Documentation/bootcd.html
.Pp
.It
.Em "From a MacOS machine (using Toast)"
.Pp
.(enum
Open the
.Sq Format
menu and pick
.Sq "Mac/ISO Hybrid"
.Pp
.It
Open the
.Sq Utilities
menu and pick
.Sq "Create Temporary Partition..."
.Pp
.It
Make this temporary partition large enough for all of the files you will
be placing on the HFS portion of the CD (only
.Pa ofwboot.xcf
is necessary).
.Pp
.It
Copy
.Pa installation/ofwboot.xcf
to the temporary partition
.Pp
.It
Click the
.Dq Data...
button and select the temporary partition you just created
.Pp
.It
Click the
.Dq ISO...
button and drag
.Pa installation/netbsd.ram.gz
into the window. You may also want to drag the
.Nx \*V
distribution sets to this window as well.
.Pp
.It
Click the
.Dq Settings
tab, open the
.Dq Naming
popup menu, and pick
.Dq "Macintosh Names"
.Pp
.It
Click the
.Dq Done
button
.Pp
.It
Click the
.Dq "Write CD..."
button
.enum)
.bullet)
.Pp
Skip forward to
.Sx Installing the NetBSD System
.
.It
.Em "Boot over the ethernet"
.br
(All Open Firmware versions)
.Pp
Set up the DHCP daemon in BOOTP compatible mode, the TFTP daemon, and
the NFS daemons on your netboot server.
Tell Open Firmware to boot over ethernet, and it will send a BOOTP
request, which will tell Open Firmware what your system's IP address
is, and where its bootloader can be downloaded via TFTP.
Once Open FIrmware has downloaded the bootloader via TFTP, it will
then load the installation kernel via an NFS connection.
.Pp
Follow these instructions to configure a
.Nx
machine as your netboot server. If you intend to use a different platform
as your netboot server, follow the directions in the Diskless HOW-TO:
.Lk http://www.netbsd.org/Documentation/network/netboot
.Pp
We will use
.Sq Li CC:CC:CC:CC:CC:CC
as the MAC address (ethernet hardware address) of your netboot client machine
that you wish to install
.Nx
on. We use
.Sq Li 192.168.1.10
as the IP address of your client, and
.Sq Li client.test.net
as the name. The server name is
.Sq Li server.test.net ,
and the path on the server to the NFS exported directory is
.Pa /export/client/root No .
.Pp
You should replace all of these with the names, addresses, and paths
appropriate to your environment.
.Pp
Now, set up your
.Ic dhcpd
server. Make sure the following lines are in
.Pa /etc/dhcpd.conf :
.(disp
allow bootp; # Allow bootp requests, thus the dhcp server
# will act as a bootp server.
subnet 192.168.1.0 netmask 255.255.255.0 {
# Which network interface the server will
# listen on. The zeros indicate which
# range of addresses are allowed to connect.
}
group {
# Set of parameters common to all clients
# in this "group".
#
option broadcast-address 192.168.1.255;
option domain-name "test.net";
option domain-name-servers dns.test.net;
option routers router.test.net;
option subnet-mask 255.255.255.0;
# An individual client.
#
host client.test.net {
hardware ethernet CC:CC:CC:CC:CC:CC;
fixed-address 192.168.1.10;
# Name of the host (if the fixed address
# doesn't resolve to a simple name).
#
option host-name "client";
# Name of the bootloader or kernel
# to download via tftp.
#
filename "ofwboot.xcf";
# The path on the NFS server.
#
option root-path "/export/client/root";
}
}
.disp)
.Pp
You will need to make sure that the
.Pa dhcpd.leases
file exists.
.Pp
.Dl # Ic "touch /var/db/dhcpd.leases"
.Pp
You will need to
.Ic kill
the
.Ic dhcpd
and restart it to get it to re-read its configuration file.
If the server is running
.Nx 1.5 ,
you can achieve this with:
.Pp
.Dl # Ic "/etc/rc.d/dhcpd restart"
.Pp
Now, place a copy of the
.Pa installation/ofwboot.xcf
bootloader in
.Pa /tftpboot
.Pp
.Dl # Ic "cp ofwboot.xcf /tftpboot"
.Pp
Now, you should edit
.Pa /etc/inetd.conf
and make sure that the line starting with
.Li tftp
is uncommented. You will need to
.Ic kill -HUP
the
.Ic inetd
process to enable tftp if this line was previously commented out. The next
step is to set up NFS exports. Create the directory you are exporting for
the netboot client:
.Pp
.Dl # Ic "mkdir -p /export/client/root"
.Pp
Put the following line in
.Pa /etc/exports
to enable NFS sharing:
.Pp
.Dl "/export/client/root -maproot=root client.test.net"
.Pp
If your server is currently running NFS services, you only need to
.Ic "kill -HUP"
the
.Ic mountd
process. Otherwise, you need to run:
.Pp
.Dl # Ic "/usr/sbin/mountd"
.Dl # Ic "/usr/sbin/nfsd -tun 4"
.Pp
Now, you need to place the files your netboot client will need.
As noted above in the section
.Sx Preparing your System for NetBSD Installation
you have several options when choosing a location to store the
distribution
filesets. However, the easiest way is to put the distribution
files into the exported directory for your client on the server.
.Pp
.Dl # Ic "mv *.tgz /export/client/root"
.Pp
Your client will need a kernel to boot (use
.Pa installation/netbsd.ram.gz ) .
.Pp
.Dl # Ic "gunzip netbsd.ram.gz"
.Dl # Ic "mv netbsd.ram /export/client/root/netbsd"
.Pp
Skip forward to
.Sx Installing the NetBSD System
.
.It
.Em "Boot the floppy image off a bootable SCSI or IDE drive"
.br
(Open Firmware 1.0.5, Open Firmware 1.1.22, Open Firmware 2.0.x, Open
Firmware 2.4)
.Pp
If the boot floppy image is compressed, then you will need to uncompress
it first.
.Pp
Find a spare bootable drive (i.e. SCSI or IDE), and use some tool to write
the floppy disk image
.Pa installation/boot.fs
to your spare drive, and boot from that drive. For example, you could use
a Zip drive, a Jaz drive, a Compact Flash drive, or even a spare hard
drive. The floppy image has a
.Sq "partition zero"
bootloader which ultimately loads the installation kernel from the FFS
filesystem from the disk image.
.Pp
.(bullet -compact
.Em "From a UNIX machine"
.Pp
.Dl # Ic "dd if=boot.fs of=/dev/rsd0c"
.Pp
where
.Pa /dev/rsd0c
is the
.Sq "whole disk"
partition for the drive you will be using. Be certain you have typed this
correctly, as it will erase the disk.
.Pp
.It
.Em "From a Windows machine"
.Pp
Get
.Ic rawrite32.exe
from
.Lk http://www.duskware.com/rawrite32/
.Pp
Be certain you have selected the correct disk, as it will erase the
contents.
.Pp
.It
.Em "From a MacOS machine"
.Pp
Get
.Ic suntar
from
.Lk http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/suntar-222.hqx
.(enum
Open the
.Sq Preferences
menu and pick
.Sq "Expert Mode"
.Pp
.It
Open the
.Sq File
menu and pick
.Sq "Open Device ..."
.Pp
.It
Click on the
.Dq "scan SCSI"
button to get a list of which drives are attached.
.Pp
.It
Pick the correct drive. Be certain you have selected the correct disk, as
it will erase the contents.
.Pp
.It
Open the
.Sq Special
menu and pick
.Sq "Overwrite Sectors ..."
.Pp
.It
Hit return (i.e. start at sector number zero)
.Pp
.It
Select
.Pa boot.fs
and click
.Dq Open
.Pp
.It
Open the
.Sq File
menu and pick
.Sq "Close Device"
.enum)
.bullet)
.bullet)