Here are some frequently asked questions (and answers) about NetBSD/macppc.
This FAQ is very much a work in progress. If you have additional information, questions, or answers, send mail to port-macppc@NetBSD.org.
See also the following related information:
NetBSD/macppc nvedit HOW-TO, for info on how to edit the contents of the NVRAMRC.
wscons FAQ, for NetBSD's platform-independent workstation console driver.
Additional information is also available:
NetBSD 3.0 install notes — supported hardware and how to install.
port-macppc mail list — if you have any additional questions please subscribe.
General NetBSD Documentation — for questions not specific to NetBSD/macppc.
Unfortunately, there are several causes of this problem. It's actually rather more common than we'd like, but is primarily due to the variety of machines that we support and all the undocumented changes Apple made along the line.
First, check to make sure your model is supported. Next, did you really read through the INSTALL notes and ignore the instructions for Open Firmware versions other than your model? Next, read through this FAQ entry, and if you still can't make your machine boot into NetBSD, post to port-macppc@NetBSD.org.
Look at the messages below to determine which problem you are encountering.
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
|
If you don't see this message on screen (or serial console), then you haven't properly entered Open Firmware. If your machine starts to boot MacOS (i.e. the screen turns grey and a happy mac, broken folder, or flashing question mark appears), then skip down to the section called “How do I get to the Open Firmware prompt?”. If your screen stays black and you have an older mac, see the section called “I tried to get into Open Firmware, but it just stopped booting, and my monitor isn't showing anything.”. If your screen is all weird, then see how to fix the the section called “My monitor doesn't always sync when I enter Open Firmware”. If you entered some bad Open Firmware settings and it doesn't enter Open Firmware or boot MacOS anymore, you may need to read the section called “How do I clear a corrupt Open Firmware?”.
OK, now Open Firmware has started and is ready for user commands if
you set it to stop at the Open Firmware prompt (the
"0 >
"). If you specified that it not stop, Open
Firmware tries to boot using the settings you previously supplied (the Open
Firmware variables boot-command
,
boot-device
, and boot-file
). See
the section called “What can I do at the Open Firmware prompt?” for help using the Open Firmware command line
interface.
The next step is usually the trickiest — getting Open Firmware to load the bootloader from the correct location. See what boot methods are supported (the section called “What are the supported ways of booting NetBSD/macppc?”), Open Firmware boot commands (the section called “How do I make a disk bootable, and what are the Open Firmware commands to boot from it?”), and some common Open Firmware booting problems (the section called “Common Open Firmware Booting Problems”). Questions related to netbooting are covered in the Diskless HOW-TO, particularly in the macppc-specific section, and the section on common netboot problems (the section called “Common netboot problems”).
|
If there are memory addressing issues, it might stop and print
CLAIM failed
(see the section called “CLAIM failed
”).
>> 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 |
If it hangs here, then you need to set the
real-base
(described in the section called “What's the deal with the "real-base" setting?”) of your Open Firmware 1.0.5 or 2.0.x machine. If you get several
READ TIMEOUT@
messages (described in the section called “READ TIMEOUT@
”) messages, then Open Firmware is having
trouble reading your floppy disk. If you get past this point, then your
kernel has started to load. Now, if you have problems, it is most likely
no longer an Open Firmware problem, but a NetBSD problem.
If your screen turns black, and you have a laptop, the LCD brightness may have been turned down all the way. See the section called “Why did my screen turn black during boot?”.
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.5S (AL) #0: Thu Mar 15 00:52:56 PST 2001 mw@al:/usr/src/sys/arch/macppc/compile/AL total memory = 192 MB avail memory = 172 MB using 2483 buffers containing 9932 KB of memory [...] boot device: sd0 root on sd0a dumps on sd0b root file system type: ffs |
Sometimes the kernel can't figure out where it was booting from. You may need to build a kernel with the root device hard-coded; see the section called “Why does the kernel always prompt me for the root device?”.
If your system hangs here and you have a new PowerBook, then read the section called “Are PowerPC-based PowerBooks supported?”.
swapctl: adding /dev/sd0b as swap device at priority 0 Automatic boot in progress: starting file system checks. [...] |
OK, now you've started in "multi-user mode" and the boot process is complete. If your keyboard doesn't work, see the section called “Are PowerPC-based PowerBooks supported?”.
If you're running sysinst and it says I can not find any
hard disk for use by NetBSD
then you should see the section called “Where's my disk? (a.k.a. sysinst says I can not find any
hard disk for use by NetBSD
)”.
This may or may not be a problem depending on your model. Some older models require nvram patches before they can boot NetBSD/macppc. Often, the easiest way to add these patches is by using a MacOS utility. If you don't know the basics (such as to use StuffIt Expander to extract a BinHex file, how to start a MacOS app, or even how to copy files in the MacOS Finder), you're probably better off trying to avoid using MacOS (unless you want to learn!).
There are ways that unix-heads can set things up easily that would pain the most experienced MacOS user. This FAQ entry is aimed at such unix-heads, since the INSTALL notes are aimed at people with MacOS experience and minimal unix background.
If you want NetBSD entirely contained on one hard drive, there are
two approaches. By far the easiest is to briefly boot MacOS, use a MacOS
utility or pdisk to repartition your disk, then copy the bootloader
ofwboot.xcf
to an HFS partition. See the Partitioning HOW-TO.
For those unable or unwilling to use MacOS, you still must boot an
operating system to partition your disk. There are at present three open
source OSes you could use (NetBSD, Darwin, and Linux). Partition using the
NetBSD pdisk, create the HFS filesystem, and copy
ofwboot.xcf
to the HFS partition.
Boot NetBSD, use pdisk to partition, and use hfstools to format the partition and copy the bootloader.
Boot Darwin (Apple's open source BSD), partition with the NetBSD pdisk (not the native Darwin pdisk), and run the following commands (using the correct disk and partition numbers, ofcourse):
|
Boot Linux and partition using the NetBSD pdisk (not the native Linux pdisk). Some distributions come with HFS filesystem capabilities built-in. Mail port-macppc@NetBSD.org if you can provide a little more detail here.
If you're willing to compromise a bit, you can permanently keep
ofwboot.xcf
on a netboot server, an ISO 9660 CD-R, or
an MS-DOS disk (you'd set your boot-device
to the
bootloader location, and your boot-file
to the path to
your kernel). See info on the section called “The Open Firmware variables of interest”.
Things get a little more interesting here, since many of these models
default to using a serial console (see the section called “How do I figure out my input-device
and
output-device
?”). The quick easy way to determine
your model's default console type is to power on the machine, and during
the chime, hold down the four Command-Option-O-F
keys
until the screen turns black, grey, or white. Black means either bad
hardware or a serial console. Grey means that you didn't successfully
enter Open Firmware and it's trying to boot MacOS. White (with text) means
the default is a local console.
Once you've got the 0 >
Open Firmware
prompt on your screen or serial console, you can try installing NetBSD
starting at the "Getting to the Open Firmware Prompt (Without using MacOS)"
section in the INSTALL notes. If your system can't boot NetBSD, then post
to port-macppc@NetBSD.org asking
someone to mail you the nvram patches for your model. You can use your
serial console to paste the nvram patches into Open Firmware. See the
NetBSD/macppc nvedit HOW-TO for help with
this step. Once you do this, you should be golden.
Good luck!
Integrated into the Partitioning HOW-TO.
Moved to the Partitioning HOW-TO.
The text console code is not optimized in the GENERIC kernel. There is accelerated text console code in NetBSD 1.6 and later, but it is not enabled by default.
You will need to build a new kernel. Add the following line to your kernel configuration:
options OFB_ENABLE_CACHE |
For information on X11 servers, see the NetBSD/macppc X11 FAQ.
Try plugging it into the back of the Mac instead of into the keyboard.
Aside from the usual sorts of problems (such as cables and configuration), NetBSD/macppc
seems to have a problem using network interfaces if the date stored in the
PRAM is too old (such as if your system has lost power or gotten reset in
such a way that the date is set to 1904 or 1956). The symptom is that
ifconfig
doesn't complain, but no packets are sent or
received.
|
Your power manager memory might be corrupted.
See TIL 14449 for info on how to reset it.
Yeah, it appears that the timebase
in Open
Firmware doesn't match the hardware. You need to correct it.
See the post by Adam Lebsack.
Various people have reported that they can't get their NetBSD/macppc systems to boot unattended. What happens is that Open Firmware loads the kernel just fine, but the kernel can't seem to find the root device (i.e. where the / filesystem is located).
At the prompt, type in the device name for your root disk (usually
something like sd0a
or wd0a
), swap
(usually something like sd0b
or
wd0b
), and filesystem type (usually
ffs
, nfs
, or
cd9660
).
Until this situation is fixed, there is a workaround. You need to build a kernel with the following setting:
#config netbsd root on ? type ? #to automatically detect root device config netbsd root on sd0a type ffs #for SCSI disk #config netbsd root on wd0a type ffs #for IDE disk #config netbsd root on ? type nfs #for netboot |
where sd0a
is the name of the partition with your
root filesystem.
See the NetBSD/macppc supported models list. Also, see the list of supported peripherals in the section called “What peripherals are supported?”.
No. NetBSD/macppc doesn't support NuBus. In addition,the NuBus-based Power Macs don't have Open Firmware, which NetBSD/macppc depends on heavily for bootstrapping and console operations.
There are four groups of NuBus based Power Macintosh machines:
Apple PDM: Any x1xx machine, e.g. 6100, 6150, 7100, 8100.
Apple PERFORMA class: 52xx, 53xx, 62xx, 63xx (except 6360).
Apple POWERBOOK (or 'M2') class: 1400, 2300, 5300.
Power Computing "Power" series: Such as the "Power 100" and "Power 120".
These systems won't work even if you upgrade the processor to a G3, because the remaining hardware is still unsupported. (But if you get a complete logic board upgrade, they will work, because they then essentially become a new machine.)
At the current time, we don't know of anyone working on supporting these systems. If you are interested in trying to get one of them working, let us know!
We already have support for the 603 microprocessor, and the RS/6000 porting effort is working on the 601 microprocessor support. We have support for the motherboard chipsets in NetBSD/mac68k. It's just a matter of sharing these drivers and figuring out a bootloader that's compatible with the Open Firmware method of booting the currently supported macppc models. See David A Gatwood's post for suggestions on where to start and what needs to be done.
No, for the same reasons as above. (This applies only to processor upgrades. If you upgrade the whole motherboard, it essentially becomes a new machine, in which case it may be supported.)
These machines have PCI and Open Firmware, but use the PowerPC 601 processor, which is not currently supported. However, the 7500's processor is upgradable, so if you buy a 603/604/G3/G4 upgrade for it, NetBSD will work. See the section called “Are PowerPC CPU upgrades supported?”.
In addition, some work is in progress on a RS/6000 port, and it will bring 601 support to NetBSD. Once this is done, it will be a matter of sharing this code between rs6000 and macppc.
Many of them. See the NetBSD/macppc supported models list.
The PowerBook 1400, 2300, and 5300 are not supported, because they do not have Open Firmware.
Sometimes newly released laptop models have different built-in keyboard glue and it takes NetBSD a while to catch up. If you have a newly released model, try posting to port-macppc@NetBSD.org.
Note that power management is not yet supported, so it is not possible to suspend and resume a PowerBook while running NetBSD.
Sure!
Many people upgrade their slow 601, 603, 604, or G3 CPUs with a faster 604, G3, or G4 CPU. Actually, it's currently necessary if you have a PowerMacintosh 7500 with the original PowerPC 601 chip.
People have reported success with upgrading the CPU in original PCI PowerMacintosh systems (7300 - 9600), supported PowerBooks, and earlier G3 systems. The common manufacturers are Newer Technology, Powerlogix, Sonnet, and XLR8. If the CPU works in MacOS, it should work in NetBSD.
Some users have reported that their system won't boot NetBSD if a new
CPU is installed into the early PCI PowerMacintosh systems (7300 - 9600).
If you find that this is the case (i.e. you downgrade to a 604 and NetBSD
works), then you may need to boot MacOS once to install the
nvramrc
patches for your CPU daughtercard. From this
point on, you should not use System Disk, as it will
install its own nvramrc
, overwriting your CPU
manufacturer's nvramrc
. Use Boot
Variables instead. This will mean that your monitor may not sync
if you are using the built-in /chaos/control
in
PowerMacintosh 7300 - 8600 models; see the section called “My monitor doesn't always sync when I enter Open Firmware”.
Other models will not need the MacOS "virtual firmware" type of patch — NetBSD initializes the CPU just fine.
Unfortunately, the Metabox Jocard G4 has some problems. See Thomas Michael Wanka's post on this topic.
For some combinations of CPU upgrade in a particular model, you may need to compile a special kernel to enable the L2 cache on G3 or G4 CPUs in older systems. Usually this is not necessary, and it "just works". When it doesn't, you'll see a message like the following:
cpu0 at mainbus0: L2 cache not enabled |
If, when you boot, there is a message like this, then you should follow the directions in this post and this post.
If your L3 cache is not enabled by default, then follow the directions in this post
The NetBSD/macppc 3.0 Install Notes have a full list of supported hardware in the section "Supported devices". Unless otherwise specified, third-party devices (such as PCI and cardbus cards) cannot be used to boot NetBSD/macppc.
CPU
PowerPC 603, 604, G3, and G4 (and variants of each): See the section called “Are PowerPC CPU upgrades supported?”.
Support for multiprocessor CPU cards is available in
NetBSD/macppc 2.0 and later. You will need to use a
GENERIC.MP
kernel or add "options
MULTIPROCESSOR
" to your kernel configuration. Without these
options, NetBSD will only use one CPU.
Ethernet
On-board 79C950 (MACE) ethernet (mc)
On-board bmac ethernet, 10Base-T only (bm)
On-board gmac ethernet (gem)
On-board AirPort (a.k.a. AirMac) (wi): See the section called “How do I use my AirPort or AirMac network?”.
PCI, PCMCIA, cardbus, and USB ethernet devices (tlp, epic, ex, fxp, rtk, vr, ne, aue, cue, and kue): such as Asante, Farallon, SMC, 3Com, Intel, RealTek, D-Link, NE2000, and other compatible devices
SCSI
On-board 53c94 SCSI controller (esp).
On-board MESH SCSI controller (mesh).
Adaptec / Future Domain PCI SCSI (ahc): Many Adaptec cards have Macintosh firmware on them and can be used to boot NetBSD/macppc. See the section called “How do I boot from a device attached to a PCI card?”.
Advansys 1200[A,B] 9xx[U,UA] PCI SCSI (adv).
AMD 53c974 (pcscp).
Apple 53c875 Ultra Wide SCSI (in some Beige G3 models) (siop): May need firmware update to boot NetBSD. Use the Mac OS X SCSI Card Updater.
NCR/Symbios 53c8xx (siop)
IDE
On-board IDE controllers (wdc)
Promise Ultra66 (pciide)
Acard ATP-850/860 controllers (such as Sonnet Tempo ATA/66 and Acard AEC-6210/6260) (pciide)
Input devices
Most ADB keyboards, mice, trackballs, and trackpads.
Most USB keyboards, mice, trackballs, and trackpads.
Most PS/2 keyboards, mice, and trackballs (middle button on 3-button mice may not work).
Video (see the section called “How do I figure out my input-device
and
output-device
?”)
On-board video on most models (ofb): Some models are not able to boot NetBSD/macppc when using their on-board video.
PCI video cards with Open Firmware support (ofb): ATI, IMS, Matrox, and NVIDIA have models that support Open Firmware.
Audio
On-board AWACS audio on most models (experimental — disabled by default due to interrupt conflicts with some G4 models) (awacs).
USB audio (uaudio).
PCI audio cards, although only the Ensoniq AudioPCI (eap) has been thoroughly tested.
Serial. NetBSD/macppc refers to the on-board serial ports as
tty00
and tty01
. Open
Firmware uses the names listed below.
On-board RS-422 serial ports (modem port is ttya and printer port is ttyb): On-board Serial support is very poor and may cause your system to hang. See the section called “I'm having troubles using my serial port!”.
On-board RS-232 Xserve serial port: Can be used as a serial console
Gee Three Stealth Serial Port and Griffin Technology gPort: These replace the internal modem on desktop G3 and G4 models and can be used as serial consoles.
USB, PCI, and cardbus-based serial ports.
USB devices
Many add-on USB devices are supported. See the page on the Machine-independent USB drivers.
PCMCIA and CardBus cards
Many cards are supported, but untested with NetBSD/macppc. See the pages on the Machine-independent PCMCIA drivers and the Machine-independent Cardbus drivers.
PCI cards
Many cards are supported, but untested with NetBSD/macppc See the pages on the Machine-independent PCI drivers.
NetBSD/macppc does not yet support:
Floppy drives (built-in or USB), other than for booting.
Power management.
Full wscons capabilities such as virtual terminals and color text.
Common FireWire (IEEE 1394) devices, such as disks, CD-RWs, and scanners.
On-board video capture.
AirPort Extreme.
That's because the built-in serial ports don't work very well. Actually, they're really only good enough for console use (and even then, they're sometimes flaky).
Until someone fixes this, don't assume you can run a modem, ppp, sync your palm, or whatever. If you have any experience with serial drivers and a willingness to help, please contact port-macppc@NetBSD.org.
Ouch. Unfortunately, since the built-in serial ports don't work, there are a few bugs in the ppp drivers that haven't been quashed.
See Donald Lee's post on how he got his Cyclades PCI card to run ppp.
Wireless networking was first supported in NetBSD 1.6. AirPort Extreme is not currently supported.
Briefly, what you need to do is set up your wireless card to use DHCP
to find its IP address, and set up the correct media type (typically
DS11
), and the correct network (with the
nwid
parameter). For example, to connect to my closed
AirPort Base Station, I have the following in
/etc/rc.conf
:
ifconfig_wi0="nwid Gizmonet media DS11" dhclient=YES dhclient_flags="wi0" |
Each time I reboot, the AirPort card looks for a base station serving
the Gizmonet
and asks it for an IP address.
You can find more information in ifconfig(8), wiconfig(8), wi(4) and ifmedia(4). Additionally, see the Using WaveLAN IEEE under NetBSD page.
If your AirPort base station was set up under MacOS and you use
encryption, you may need to run the AirPort Admin
Utility
, configure your base station, and find the equivalent
network password. Please see www.info.apple.com
for details on how to use Apple's AirPort Admin Utility.
Briefly, it is a command environment using the FORTH language which the NetBSD kernel uses to gether information about your system, and to control some of your devices. It is part of the boot ROMs in most PowerPC-based Macintosh systems, and we use it to load the kernel from disk or network.
Open Firmware, as specified by "IEEE Std 1275-1994: IEEE Standard for Boot Firmware (Initialization Configuration) Firmware: Core Requirements and Practices" and its supplements, is a platform-independent boot firmware. It is based on Sun's OpenBoot firmware, and uses ANS Forth as a processor-independent interface language.
You can find more about Open Firmware at the Open Firmware Working Group home page or at the Apple Computer Open Firmware Home Page. Also, Apple has some nice Technical Notes available, such as 1061.
Look at the Model Support page. If your machine isn't listed, you can find out from within Open Firmware. From the Open Firmware prompt (see the section called “How do I get to the Open Firmware prompt?” and the section called “What can I do at the Open Firmware prompt?”), type:
|
Alternatively, any machine which did not ship with a G3 or G4 processor is either Open Firmware 1.0.5 or 2.0.x. All desktop models without an internal floppy drive have Open Firmware 3. All laptop models without built-in SCSI have Open Firmware 3.
Open Firmware 3 systems have a rewritable "firmware", also called the BootROM. It's easy to get the BootROM version confused with the Open Firmware version. When you use an Apple firmware updater, it updates the BootROM. This will 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.
This BootROM version can be found using Apple System Profiler in MacOS. Often, it is listed on the first line of your screen when you first boot into Open Firmware. For example, my PowerBook (FireWire) prints:
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. [...] |
indicating that the BootROM version is 2.1f1.
Probably. The NetBSD/macppc 3.0 Install Notes describe how to patch or upgrade your Open Firmware to work around these bugs. See the section on "Updating your BootROM" for Open Firmware 3 systems, and the section "Older Open Firmware System Preparation" for systems with Open Firmware 1.0.5, 2.0.x, and 2.4.
Read the NetBSD 3.0 install notes. In particular, scroll down to the section on "Getting to Open Firmware" for your particular version of Open Firmware.
For the lazy, you can use Apple's System Disk
to
set your machine to always boot into Open Firmware. See the brief tutorial on how to do this.
You didn't read the NetBSD 3.0 install notes. In particular, scroll down to the section on "Getting to the Open Firmware Prompt on Older Models". It's a bit lengthy, but very clear in describing the proper steps to set up Open Firmware.
Briefly, all Open Firmware 1.0.5 and most Open Firmware 2.0.x systems will default to using the `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 will need to hook up a serial console temporarily to set them before you can use your keyboard and screen.
Open Firmware seems to ignore the settings on most DB15 to VGA adapters. Depending on your model, it will default to either 640 x 480 at 60 Hz or to the resolution previously selected in MacOS. Make sure that your monitor can handle these resolutions.
If you think you have set your system up correctly using System Disk and you're using a
PowerMacintosh 7300 - 8600 model, then you may need to apply the additional
patches for your /chaos/control
on-board video to sync
propertly (see the section called “My monitor doesn't always sync when I enter Open Firmware”).
If you're using a Performa 5500 or 6500, you may need to apply some NVRAMRC patches to use your on-board video. See the footnote on that model.
See also the section called “How do I figure out my input-device
and
output-device
?”.
This section describes how to tell Open Firmware to use your PCI-based video card, whether you purchased it separately from your computer, or it came with it. Some models of Macintosh and some clones shipped without an on-board video interface (see the NetBSD/macppc Model Support page for more info). These models shipped with a video card in one of the PCI slots.
In all cases, your video card must have Open Firmware support on it.
Open Firmware uses a different device path depending on the model of the card and the PCI slot it is located in. You will need to figure out what the path is to your video card, and how to tell Open Firmware to use it.
Get to the Open Firmware prompt (the 0 >
prompt); see the section called “How do I get to the Open Firmware prompt?”.
Older models may need to use a serial console initially.
If this is your first experience with Open Firmware, you might want to read the section called “What can I do at the Open Firmware prompt?”.
|
This will list all of the devices present in your system. Look for something matching your video card. For example, part of the listing from a PowerMacintosh 9500/150 is:
|
Typically, if a card has Open Firmware support, it will list a
four character vendor ID similar to the vendor's name (such as
ATY
for ATI, IMS
for IMS, and
ADPT
for Adaptec), and a string describing the model
of the card. The "@" sign separates the card name from its address in
the computer.
Now, note that the /ATY,mach64@D
entry is
indented below the /bandit@F4000000
entry. This
means that the bandit
device contains the
ATY
device. In this case,
/bandit@F4000000
is Open Firmware's name for the PCI
bus, and the ATI card is located on the PCI bus.
Therefore, /bandit@F4000000/ATY,mach64@D
is
this card's path in the Open Firmware device tree. Now, to confirm if
it really supports Open Firmware, type the following:
|
If the word open
is among those listed, then
chances are very high that your card should work.
Now, you'd want to type the following to set up a Mach64 card to be the Open Firmware output device in your system:
|
If the monitor attached to your video card stays black after the computer resets, then there was a problem (possibly you mistyped the path to the card or the card doesn't really support Open Firmware).
This is a problem with the PowerMacintosh 7300 - 8600 machines, wherein the video signals do not settle quickly enough. You should apply the patches for Open Firmware 1.0.5.
If you have a Twentieth Anniversary Macintosh, there is no known
solution. See this
post describing the issues. At this time, no one has reported a
successful install onto a TAM, although, this should be possible by setting
the input and output devices to ttya
with System Disk and connecting a serial
cable to another machine running a terminal emulator.
If you have an Open Firmware 3 model and you've changed settings such
that you can't even get to the Open Firmware prompt or boot MacOS, then you
may have corrupted the BootROM (such as with a bad
load-base
or real-base
; see the section called “What's the deal with the "load-base" setting?” and the section called “What's the deal with the "real-base" setting?”). You may
need to get Apple to re-flash your BootROM firmware.
If you have an earlier model (Open Firmware 1.0.5, 1.1.22, 2.0.x, 2.4), then you will need to unplug your machine from the AC mains (110 or 220 V) and remove the battery from the motherboard. It may take some time (hours) for the charge stored in the power supply to drain and the NVRAM to clear. To speed up the process you might try pressing the power button. More riskily (i.e. do at your own risk) you can try connecting the battery backwards in the socket or shorting the terminals with a resistor.
Don't forget to set the date!
\
key in Open
Firmware! (top)
Unfortunately, even if MacOS and NetBSD understand your non-US keyboard, Open Firmware typically doesn't. That means that some non alphanumeric keys may not correspond to what character is printed on the keys.
A simple, but awkward solution is to use the hexadecimal
representation of the character you want to use. Enclose the entire
command in double-quotes "
and replace the character
with its hex code preceeded by a double-quote and enclosed in parenthesis.
For example backslash is replaced by "(5C)
. After the
command in quotes you need to have the FORTH commands to either display
your converted string, or to execute it. To display, use
cr type cr
. To execute, use
evaluate
And make sure you include the single space
between the enclosing double-quote and the start of the command.
|
More permanently, you can reprogram Open Firmware (using nvedit
) using the instructions
at the PLForth
page.
You can configure various properties of your system related to booting. This table merely lists the common commands you might be using and their syntax.
Table 1. Common commands
Command name | Comment |
---|---|
dev device |
changes to current device in Open Firmware
device tree (similar to cd in a filesystem) |
unselect-dev |
returns to original state of having no device selected (usually not necessary) |
ls |
lists the devices below the current node in the device tree
(similar to ls in a filesystem) |
pwd |
lists the location of the current node in the device tree
(similar to pwd in a filesystem) |
words |
lists the FORTH commands available at the current node in the
device tree. To boot, a device must have at least the word
"open " |
.properties |
lists the properties of the current node in the device tree |
printenv |
prints the current and default values of the settings in the Open Firmware environment |
setenv variable
value |
sets a new value for a particular Open Firmware variable. See the section called “The Open Firmware variables of interest”. |
set-default
variable |
sets the variable to its default value. See the section called “The Open Firmware variables of interest”. |
boot boot-device
boot-file |
loads and runs a program boot-file on
boot-device, we use it to load
ofwboot (the "partition zero" bootloader) or
ofwboot.xcf and then the NetBSD kernel |
dir device |
print a listing of the files listing of the files on a
particular device (the same as
ls in unix); see the section called “How do I get a listing (in Open Firmware) of the files on my
disk?”
|
eject fd |
eject a floppy disk |
reset-all |
permanently store the Open Firmware environment variables and reboot the computer |
shut-down |
permanently store the Open Firmware environment variables and power down the computer |
bye |
Boot MacOS on an Open Firmware 1.0.5, 2.0.x, or 2.4 system |
mac-boot |
Boot MacOS on an Open Firmware 3 system |
devalias alias
device |
modify or create an alias to a
device (similar to alias in
csh and its variants). With no options, it lists
all current device aliases |
nvalias alias
device |
permanently modify or create an alias to a
device (similar to alias in
csh and its variants). With no options, it lists
all stored device aliases |
Additionally, here are a few handy keystrokes for effective Open Firmware use:
Table 2. Open Firmware keystrokes
Keystroke | Function |
---|---|
Backspace | delete back one character |
Delete | delete back one character |
^h | delete back one character |
^d | delete forward one character |
Enter | send line to FORTH parser |
^b | move back one character (same as left arrow key) |
^f | move forward one character (same as right arrow key) |
ESC b | move back one word |
ESC f | move forward one word |
^a | move back to beginning of line |
^e | move forward to end of line |
ESC h | delete and save back to beginning of word |
^w | delete and save back to beginning of word |
ESC d | delete and save forward to end of word |
^k | delete and save forward to end of line |
^u | delete and save entire line |
^r | retype line |
^q | quote next character |
^y | insert saved characters before cursor |
^p | previous line in history (same as up arrow key) |
^n | next line in history (same as down arrow key) |
^l | display history |
^space | if word so far has a unique completion, complete it. if word so far has several completions, fill in as many characters as possible. if word so far has no completions, erase characters until there is at least one completion |
^/ | show completions (maybe none) for word so far |
^? | show completions (maybe none) for word so far |
^@ | same as ^space (Apple-specific) |
^o | same as ^/ (Apple-specific) |
^\ | same as ^b (Apple-specific) |
^] | same as ^f (Apple-specific) |
^^ | same as ^p (Apple-specific) |
^_ | same as ^n (Apple-specific) |
Also see the NetBSD/macppc nvedit HOW-TO, the Apple Network Server 500,700: Open Firmware Read Me technote, the Apple Computer Open Firmware Home Page "Technote 2001 - Running files from a hard drive in Open Firmware, and the Open Firmware Working Group home page.
These are variables that are used by and stored in Open Firmware that
affect booting. Use the printenv
,
setenv
, and set-default
commands to
modify these variables (see the section called “What can I do at the Open Firmware prompt?”), or use the MacOS
SystemDisk utility (see the tutorial). Use the commands in the
NetBSD/macppc nvedit HOW-TO to modify the
information in the nvramrc
variable. Alternatively, you
can hack System Disk with ResEdit. Look in the OFtc
resource to determine which ID System Disk uses for your model. Then edit
the appropriate OFpt
resource.
Make sure that, after you are done modifying your settings, that you store them permanently, by typing:
|
Table 3. Common variables
Variable name | Typical value | Function |
---|---|---|
auto-boot? |
false | If false , stops at Open Firmware prompt when
computer is reset. If true , executes
boot-command boot-device
boot-file
|
use-nvramrc? |
true | If true runs commands in variable
nvramrc
|
real-base |
depends on Open Firmware version | Kernel memory location. the section called “What's the deal with the "real-base" setting?”. |
load-base |
depends on Open Firmware version | bootloader memory location. the section called “What's the deal with the "load-base" setting?” |
boot-device |
depends on configuration. See
ofwboot(8) for suggestions |
Device from which to load primary bootloader |
boot-file |
depends on configuration. See
ofwboot(8) for suggestions |
kernel location |
input-device |
depends on hardware. See the section called “How do I figure out my input-device and
output-device ?” for suggestions |
ADB keyboard, USB keyboard, or serial console |
output-device |
depends on hardware. See the section called “How do I figure out my input-device and
output-device ?” for suggestions |
On-board video, PCI video, or serial console |
nvramrc |
entered by System Disk | If use-nvramrc? is set to
true , these FORTH commands will be run when the
computer is reset |
boot-command |
boot | If auto-boot? is true ,
this command will be executed when the computer is reset |
Zapping your PRAM Command-Option-P-R
will erase
any settings you have made to these Open Firmware variables.
Booting your Open Firmware 1.0.5 system into MacOS will erase any settings you have made to these Open Firmware variables.
In some extreme cases, you may have messed up your Open Firmware settings such that your system won't boot anymore. Zapping the PRAM doesn't fix it. In this case, you will need to unplug your system and remove the battery from your motherboard for about 10 minutes. On a PowerBook, the equivalent is to resetting your power manager.
The Open Firmware environment variable load-base
is the address at which Open Firmware loads the bootloader from your
boot-device
. The behavior is different for the various
versions of Open Firmware and boot-device
s. The symptom
of an incorrectly set load-base
is a CLAIM
failed
message (see the section called “CLAIM failed
”).
Do not change the
load-base
. Open Firmware 3 machines have
re-writable firmware, and users have found that changing the
load-base
has overwritten their flash BootROM, rendering
their machines dead (requiring an expensive trip back to Apple). Do not change the load-base
on an Open
Firmware 3 machine. Apple has fixed Open Firmware 3 such that
you needn't change load-base
to boot.
The default value of load-base
on these systems is
4000, which isn't very good for our purposes. System Disk sets
load-base
to 600000, which is what we use. mkLinux uses
a different value, which may prevent you from booting NetBSD/macppc. If
you're using NetBSD 1.5.2 or earlier, read the old FAQ entry on
load-base.
Once you are entirely positive that your machine has Open Firmware
1.0.5, 1.1.22, 2.0.x, or 2.4 (see the section called “Which version of Open Firmware does my machine have?”), run the
following commands to set your load-base
properly:
|
You should double-check that this value has been set using the
printenv
command.
The Open Firmware environment variable real-base
is the address where OpenFirmware uses for itself. The default value of
real-base
might be -1 (0xffffffff), but it will cause
problems because OF 1.0.5 and 2.x machines use 0x400000 if
real-base
is the default value. The kernel is loaded to
the address 0x100000 by default, so the problem occurs when you try to load
a kernel larger than about 3 MB.
Open Firmware 3 machines have re-writable firmware, and users have
found that changing the real-base
will overwrite their
firmware, rendering their machines dead (requiring an expensive trip back
to Apple). Do not change the
real-base
on an Open Firmware 3 machine.
Open Firmware 3 does a much better job of dealing with large kernels, so
this is not really an issue.
Once you are entirely positive that your machine has Open Firmware
1.0.5, 2.0.x, or 2.4 (see the section called “Which version of Open Firmware does my machine have?”), run the
following commands to set your real-base
properly (note,
System Disk will not set this variable
properly — you will need to re-set your real-base
after each use of System Disk):
|
You should double-check that this value has been set using the
printenv
command. If you set wrong value here, it might
make your machine no longer boot (see the section called “How do I clear a corrupt Open Firmware?” to
recover from it).
A workaround for this problem is that you can build a kernel that is less than 3 MB in size. Since none of the Open Firmware 1.0.5, 2.0.x, or 2.4 models have built-in USB, you can build a kernel without any USB drivers (unless you have a PCI USB card).
input-device
and
output-device
? (top)
This depends entirely on what devices you want use to interact with Open Firmware (and thus NetBSD/macppc), as well as the version of Open Firmware you are using and the hardware you are using.
Once you figure this out, you will need to set these values and store them. See the section called “How do I get to the Open Firmware prompt?” and the section called “What can I do at the Open Firmware prompt?”) for help getting started in Open Firmware. Briefly, you'll want to run the following three commands (where in-device and out-device are what you chose to use):
|
Alternately, to immediately change your input and output devices without permanently storing the changes, run the following two commands (make sure to put the space after the first quotation mark):
|
By default, most of these models default to a serial console (which is why many novice users find that when they boot into Open Firmware, their monitor stays black). Additionally, some of these models have troubles using the on-board video device in Open Firmware (and in NetBSD/macppc). For these troublesome systems, your only options are a PCI video card or a serial console.
Go to the NetBSD/macppc Model Support
Page and look up your model. It should list an
output-device
for your system. If there is no
output-device
listed, then you should use
screen
.
See also the section called “How do I use a PCI video card?” for suggestions on
figuring out your output-device
.
For all these systems, the input-device
for an ADB
or built-in keyboard is kbd
.
By default, all of these systems default to using the USB or built-in keyboard and the on-board video or built-in LCD. You shouldn't have to do anything.
See also the section called “How do I use a PCI video card?” for suggestions on
figuring out your output-device
.
The default values are input-device
is
keyboard
(using the built-in or USB keyboard), and
output-device
is screen
(using the
built-in LCD, screen, or on-board video interface).
Open Firmware calls your computer's "modem" serial port
ttya
, and its "printer" serial port
ttyb
. Some systems have an internal modem (such as the
Performa 54xx, 6360, 6400, and 6500) that blocks off the built-in serial
port. You will need to set and use your printer port
ttyb
for serial console on these models.
On almost all of these machines, the default values for both
input-device
and output-device
is
ttya
, which is why many novice users find that when they
boot into Open Firmware, their monitor stays black.
Your serial console settings should be 38400 bps, 8 bits, no parity, 1 stop bit, no flow control, and you can typically use a standard Mac "printer" cable to connect two Macs (even m68k-based Macs). See the NetBSD Serial Port Primer for additional help.
None of the Open Firmware 3 models ship with serial ports. Most do,
however have internal modems. You can purchase a third party device which
replaces the internal modem on most desktop systems with a serial port
(such as the Gee Three Stealth Serial Port and Griffin Technology gPort).
If you purchase one of these, you can set it up to be a serial console.
Set scca
for both your input-device
and output-device
.
Your serial console settings should be 57600 bps, 8 bits, no parity, 1 stop bit, no flow control, and you can typically use a standard Mac "printer" cable to connect two Macs (even m68k-based Macs). See the NetBSD Serial Port Primer for additional help.
With the dir
command, of course!
The syntax is simply
dir
device:[partition],\
where device is the devalias
or
full path to the device you're trying to get a listing of and
[partition] is the partition number to get the listing
of. If you do not specify the partition number, Open Firmware will try to
find the first partition it understands. The comma separates the device
and partition from the directory or files.
Unfortunately, there's no method of listing the partition map from within Open Firmware. You can, however, use the NetBSD pdisk on any OS to list your partitions.
Open Firmware uses backslash characters to separate directories, and
you must specify the top level of a device with an "\
".
You can also get directory listings of individual files or files in folders
using backslash characters to separate directories.
Keep in mind that the Open Firmware dir
command
can only list the contents of file systems that Open Firmware understands.
For Open Firmware 1.0.5, 1.1.22, and 2.0.x, you can list ISO 9660
(not hybrid) and MS-DOS. For Open Firmware 2.4, you
can list ISO 9660, HFS, HFS+, and MS-DOS. For Open Firmware 3, you can
list hybrid ISO 9660/HFS (not pure ISO 9660), HFS,
HFS+, and MS-DOS.
The official NetBSD install CD-R image and floppy images are a bit funky (i.e. they have a "partition zero" bootloader). You won't be able to get a listing of the files from within Open Firmware.
For example, to get a listing of the files on a floppy, type:
|
To get a listing of the files on a CD-ROM, type (for example):
|
To get a listing of the files in the macppc folder on an HFS partition, type:
|
To get your client's dhcp or bootp information from ethernet, type:
|
See the NetBSD/macppc 3.0 Install Notes and read the section entitled "Available Boot Media".
This depends entirely on what version of Open Firmware your machine has, and what you're trying to boot from. Read the "Preparing the Bootable Media" and "Open Firmware boot syntax" sections of the NetBSD/macppc 3.0 Install Notes.
See also the section called “Which version of Open Firmware does my machine have?”, the
ofwboot(8)
man page, the
installboot(8)
man page.
Your PCI card must have Open Firmware drivers. Very few do. Many Adaptec SCSI cards and some IDE/ATA cards have Open Firmware drivers. Asante made some ethernet cards with Open Firmware drivers (though no one has tested them). Cards manufactured for UltraSPARC systems often have Open Firmware drivers. Not much else does.
Just because a card works in Open Firmware does not mean it's supported by NetBSD (and vice versa). This is the case with some of the MacOS IDE/ATA cards.
The first step is to figure out what the PCI card is called in terms
of Open Firmware names. Apple created devalias
shortcuts for the on-board devices (such as scsi, hd, and enet). PCI card
manufacturers cannot do this. Open Firmware uses a different device path
depending on the model of the card and the PCI slot it is located in. You
will need to figure out what the path is to your PCI card, and how to tell
Open Firmware to use it.
Get to the Open Firmware prompt (the 0 >
prompt); see the section called “How do I get to the Open Firmware prompt?”.
If this is your first experience with Open Firmware, you might want to read the section called “What can I do at the Open Firmware prompt?”.
|
This will list all of the devices present in your system. Look for something that might match your PCI card. For example, part of the listing from a PowerMacintosh G3 (Blue and White) with an Adaptec 2930 SCSI interface is:
|
Typically, if a card has Open Firmware support, it will list a
four character vendor ID similar to the vendor's name (such as
ATY
for ATI, IMS
for IMS, and
ADPT
for Adaptec), and a string describing the model
of the card. The "@" sign separates the card name from its address in
the computer.
Now, note that the /ADPT,2930@3
entry is
indented below the /pci-bridge@D
entry, which is
indented below the /pci@F2000000
entry. This means
that the pci
device contains the
pci-bridge
device which contains the
ADPT,2930
device.
Therefore, /pci/pci-bridge@D/ADPT,2930@3
is
this card's path in the Open Firmware device tree. Now, to confirm if
it really supports Open Firmware, type the following:
|
If the word "open
" is among those listed, then
chances are very high that your card should work.
If you're extra lucky, the show-children
word
is listed. Otherwise, you'll need to know the SCSI ID of the drive you
are trying to boot from. The SCSI ID gets appended to the path of your
device with an /@N
(where N
is
the SCSI ID).
Next you need to figure out what boot method you're using so you
can specify the partition number and the bootloader filename.
Typically, Open Firmware 1.0.5, 2.0.x, and 2.4 systems use a "partition
zero" bootloader, and thus :0
is appended to the
path. Open Firmware 3 systems load ofwboot.xcf
from
an HFS partition (usually 9 or higher), so you'd append something like
:9,\ofwboot.xcf
to the path. Use the NetBSD pdisk to list the partition
map.
Now, you'd want to type the following to set up a hard drive with
ofwboot.xcf
on the 9th partition of a SCSI ID 5
drive attached to an Adaptec 2930 card to be the Open Firmware
boot-device
in your PowerMacintosh G3 (Blue and
White):
|
Some Beige G3 models shipped with an Apple 53c875 Ultra Wide SCSI
host adapter. To boot from the drive at SCSI ID 0, you would set your
boot-device
to:
|
There are three versions of the Firmware for this series of SCSI cards. If you are using this card on a PowerMacintosh 7300 thru 9600, then you cannot use the card to boot from Open Firmware. See this post which has more information.
See the Diskless NetBSD HOW-TO.
Mitchell Spector has also created a page containing a concise iMac-specific netbooting information.
Look for the NetBSD Download Site closest to you, download the image, and burn it to a CD-R.
See the section titled "Creating the NetBSD/macppc CD-R" in the NetBSD/macppc 3.0 Install Notes.
No, although the BootX maintainer has said he will accept patches for NetBSD support if someone else writes them. (See the port-macppc mail archives.)
Note, this is entirely different than the Darwin BootX bootloader.
Yes, although it is a bit tricky. Yaboot itself provides a mechanism to boot BSD systems, but unfortunately it does not work correctly (at least, with NetBSD). However, you can benefit from this feature because, with little manual intervention, it works. Follow these steps:
Edit Yaboot's configuration file,
/etc/yaboot.conf
, from within your Linux system
and add a bsd
line that points to your NetBSD
partition. For example: bsd=/dev/hda4
.
Run ybin to regenerate the Open Firmware boot script in Yaboot's partition.
Mount Yaboot's partition. E.g.:
|
Edit the ofboot.b
script within the
partition you have just mounted (e.g.
/mnt/ofboot.b
). Locate the line that starts with
:bootybsd
: it holds the command required to
launch our NetBSD installation, which we must correct to make it
work. That said, edit the line and place the command you typically use
from within Open Firmware to boot NetBSD. Here is an example:
:bootybsd " Booting BSD..." .printf 100 ms load-base release-load-area " hd:2,ofwboot hd:5/netbsd" $boot ; |
Unmount the Yaboot partition and you are done!
Be careful, though, to not rerun ybin again or you will lose your changes. If this happens, you will have to reconfigure the script. (Of course, a much better solution could be to teach Yaboot how to run NetBSD properly...)
No, although it should be easier to port to NetBSD/macppc than the linuxppc BootX, since the Darwin BootX uses Open Firmware.
See this post for instructions on getting the BootX source code if you're interested in working on this.
This repository also contains nvram patches for machines with Open Firmware 2.4 and earlier, based on the patches in System Disk.
Besides the familiar Command-Option-P-R to reset the PRAM (which will erase your Open Firmware settings), and the slightly-less-familiar Command-Option-Shift-Delete to boot from the first bootable device other than the normal boot device, on some machines you can also hold down "C" to boot off the internal CD-ROM drive, "N" to net boot, "Z" to boot from an internal Zip drive, or "D" for force booting from the internal disk if the default boot device has been set to something else. (These are referred to as "snag keys" in Apple's literature.)
These actually use the "cd", "enet", "zip", and "hd" devaliases in Open Firmware, respectively, so changing the aliases will change the effects of these keys. Some models do not support all of the keys.
See info on getting to the Open Firmware prompt (the section called “How do I get to the Open Firmware prompt?”), CLAIM failed
(the section called “CLAIM failed
”), DEFAULT CATCH!
(the section called “DEFAULT CATCH!
”), can't OPEN
(the section called “can't OPEN
”), unrecognized Client Program
(the section called “unrecognized Client Program formatstate not
valid
”), bad partition
number
(the section called “bad partition number, using 0no bootable HFS
partition
”), hard drive doesn't
spin up quickly enough (the section called “My hard drive doesn't spin up before Open Firmware tried
booting”)
andreal-base
(the section called “What's the deal with the "real-base" setting?”).
|
Bootp or DHCP server isn't responding to client's request. Check
that the server is running, that it's on the same ethernet subnet, and
that it has the correct ethernet hardware (MAC) address for the client.
Look for local-mac-address
in the output of:
|
TFTP timeout |
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,
ofwboot.xcf
gets confused and doesn't work right
unless you load it explicitly from the boot-device
,
even if the bootp or DHCP server provides the correct information. You
need to boot with a command like:
|
enet:,/netbsd.ram.gz: Inappropriate file type or format |
Some systems booting over ethernet can't load compressed kernels.
Use gunzip(1)
to uncompress the kernel before
attempting to netboot.
CLAIM failed
(top)
This is a general message from Open Firmware to the effect that it failed to allocate some memory or memory is messed up.
First, make sure you have load-base
set correctly;
see the section called “What's the deal with the "load-base" setting?”.
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):
|
If you tried one boot command and it failed, then you tried a second
and got the CLAIM failed
message, then this is an
indication that you should reboot between attempts (the Open Firmware
command is "reset-all").
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).
There are several models that cannot be booted while using the on-board video and keyboard. Try using a serial console (see the section called “Open Firmware 1.0.5, 2.0.x, or 2.4 using a serial console”.
DEFAULT CATCH!
(top)
This is a general message from Open Firmware to the effect that it had trouble loading a file.
If your machine is Open Firmware version 1.0.5 or 2.X, 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.
There are several models that cannot be booted while using the on-board video and keyboard. Try using a serial console (see the section called “Open Firmware 1.0.5, 2.0.x, or 2.4 using a serial console”).
can't OPEN
(top)
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.
Use the NetBSD pdisk to
get a listing of the partition map and the Open Firmware
dir
command (see the section called “How do I get a listing (in Open Firmware) of the files on my
disk?”) to
get a listing of the files on that partition.
unrecognized Client Program formatstate not
valid
(top)
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
ofwboot.xcf
) and for Open Firmware 3 machines, it must
be either XCOFF or ELF (such as a kernel).
bad partition number, using 0no bootable HFS
partition
(top)
You tried booting an Open Firmware 1.x or 2.0.x machine from a device which has an HFS filesystem on it (such as a hybrid CD-R or a hard drive with MacOS partitions).
READ TIMEOUT@
(top)
Open Firmware is having trouble reading your floppy disk. Things to try:
Try booting from the floppy again.
Try a different floppy disk.
Try writing the floppy on the same machine you're trying to boot.
Clean the floppy drive.
Use another boot method.
To add a delay before trying to boot (to allow a hard drive to spin up), set the following Open Firmware variable:
|
If the drive does not spin up until right before it tries booting, you may need to change a jumper on your hard drive which specifies whether the drive automatically spins up. Most drive manufacturers have online manuals listing jumper locations.
Two alternate methods are another boot-command
variation and an nvramrc patch.
|
There are reports that this single-line alternative doesn't work on some early Open Firmware 1.0.5 models.
You can also try the following patch in your nvramrc:
: wBoot begin boot-device ['] $boot catch drop ." -Waiting for boot-device" cr d# 500 ms key? until ; |
Then you need to run nvstore
. See the NetBSD/macppc nvedit HOW-TO for more help
patching your nvramrc. Now, you need to specify that your boot command is
different, so at the Open Firmware prompt, type:
|
This means that your system is trying to boot MacOS. You might get to this state if you didn't properly enter Open Firmware (see the section called “How do I get to the Open Firmware prompt?”), or if your Open Firmware boot command is misformed.
If you typed a bad boot
command, Open Firmware
tries to boot from the boot-device
variable, whose
default value is the MacOS ROM. See info on the section called “The Open Firmware variables of interest” for help here.
The grey screen with the icon is generated by the MacOS ROM. A flashing question-mark or broken folder means that your machine is looking for a bootable MacOS filesystem, but can't find one. A globe icon means that your machine is looking for a netboot server. A happy face means it's trying to boot MacOS.
The boot floppy does not have a bootable MacOS filesystem, it has a bootable NetBSD filesystem.
Reboot, re-enter Open Firmware and check your syntax carefully.
This is a bug. The NetBSD kernel has turned off your backlight. Turn up the brightness on your PowerBook screen to fix this.
If you don't have a PowerBook, then see the section called “I tried to get into Open Firmware, but it just stopped booting, and my monitor isn't showing anything.”.
I can not find any
hard disk for use by NetBSD
) (top)
Well, that's a good question!
The root cause is that NetBSD didn't find your hard drive (or, more
insidiously, didn't find your drive controller). There a variety of
reasons why this happens. First determine whether it found your IDE
controller (in the boot messages that scroll by, you should see a line with
wdc0
(for IDE) or scsibus0
(for
SCSI)). If not, then you'll just have to use a different kernel that
supports your drive bus. Post to port-macppc@NetBSD.org for
help.
Now, eliminate the easy problems (drive plugged in, powered on, and has jumpers set correctly). Check that the drive works under MacOS.
If NetBSD still can't find the disk, then for SCSI disks, check the termination. Even though MacOS can use it, NetBSD may be pickier about the timings on the SCSI bus.
If you've got an IDE drive, then you may have a PowerMacintosh G3 (Blue and White) or an earlier system. It wasn't until after the B&W system that Apple fully worked out all the kinks with IDE devices. Many people report that they have to put their NetBSD drive on the alternate IDE bus, and/or make it master (setting the CD-ROM to be slave).
Unfortunately, you may need to play around a bit to find the right combination that works for all the OSes you use on your system. Keep in mind that any system that does not have Open Firmware 3 cannot boot from slave devices (an Open Firmware limitation).
Chris Tribo has posted a good breakdown of the early G3 models and their limitations/identification. See his post. Also see the Apple Power Macintosh G3 and G4: IDE Master and Slave Support and Configuration article on this topic.
Additionally, there were a few disk-related problems with earlier releases of NetBSD. See the old FAQ.
FAQ entries about problems with NetBSD versions prior to the 1.6 release have been moved to the Old FAQ.
See the WSCONS FAQ for a description of how to set up keyboards in non-US languages or alternate layouts (such as Dvorak). For X, read Hauke Fath's post. See also the section called “Why there's no wscons mapping "us.swapctrlcaps" for ADB keyboard?”.
ldconfig
/ld.so.conf
? (top)
NetBSD/macppc uses ELF, so it does not have
ldconfig
or ld.so.conf
. See the
NetBSD ELF FAQ for more
details.
NetBSD 1.6 and later systems have full support for cross-compilation of the base system, even as a non-root user and even on non-NetBSD hosts. See the Cross-building NetBSD under NetBSD Documentation pages for details.
Yes. Linux binary compatibility for PowerPC ports is supported in
NetBSD 1.6 and later, but is not enabled by default. You will need to
build a
kernel with options COMPAT_LINUX
uncommented.
Applications that are reported to work include
Netscape Communicator, Blackdown's
JDK-1.3.0, and Blender.
All theses programs are included in the NetBSD
package collection
Binaries that have known problem are: Opera, which will crash on first startup. On the second startup, if you go to the advanced settings dialog and uncheck "asynchronous DNS", it should work without troubles.
It is probably worth mentioning that the JDK works quite well. Java applications such as Cocoon have been reported to work without any problem.
Well, some day someone might get Mac-on-linux
(for LinuxPPC) to work. Meanwhile, try emulators/BasiliskII
or VMac both of which emulate a 68k
Mac.
Work is in progress, and some support for running Darwin binaries is present in NetBSD-current. Check the COMPAT_MACH and COMPAT_DARWIN status page for up to date information about this project.
Apple has some unusual keys on its keyboards that may confuse some people (particularly with non-US keyboards).
The key with the symbol shown on it is commonly referred to as the "Command" key. Some keyboards also have an "open apple" (as ) on the command key as well.
On non-US keyboards, the key with the symbol on it is labeled as the "option" key on US keyboards.
Often, when you read Mac documentation, you'll see the instruction to hold down "C-O-p-r" or some other variation. This means you should hold down the command and option keys in addition to the letters "p" and "r".
Under MacOS, it is Shift-Alt-1, and in Open Firmware, it is Shift-Alt-2.
If you're using a serial console, don't have an ADB keyboard, and don't want to reach behind (or wherever) your real power switch is located, you can create a hardware hack that appears to the computer to be the "power" key on an ADB keyboard. All Macs have a real power switch (be it soft or hard power), it may just be a bit hidden. This will void your warrantee, don't hold us liable, etc. See Chris Tribo's post to the mailing list on this topic.
ADB keyboard generates weird key code — it generates a key code
when it gets pressed then released (= caps lock set), and another key code
when it gets pressed and released (= caps lock released). In the kernel
code sys/arch/macppc/dev/akbd.c
the weird key code
gets translated into wscons key code. Because of this weirdness, the best
result we will be able to get is, unfortunately, a locking control
key.
On NetBSD-current (1.6A or later), options
CAPS_IS_CONTROL
will hardcode capslock key into control key.
(Even with weird LED behavior it should be useful.)
command-option-power
on ADB keyboards.