Preface

Chapter 1. Introduction

1.1. About NetBSD/mac68k

NetBSD/mac68k is the port of NetBSD which runs on several
models of Apple Macintosh computers. NetBSD is a "UNIX-like"
operating system which is based mainly on BSD 4.4 Lite from the
University of California, Berkeley. NetBSD is a fairly POSIX.1
compliant operating system.

2.1. Working Systems

2.2. Working hardware

The hardware listed here has been reported to me or one of
the mailing lists as working/non-working. There are no guarantees
that the information is 100% correct. If we are ever able to get
our hands on some of these pieces of hardware for testing we
should be able to give more definite answers.

2.2.1. Video Cards

2.2.1.1. Working Video Cards

Note: QuickDraw-compatible cards should work
(<scottr@og.org>) However, accelerated cards and
many 24-bit cards will not.

2.2.3. Network Cards

2.2.3.1. Working Network Cards

Note: most Ethernet cards based on the 8390
chip should work for most machines. Many SONIC-based cards are now
working as well, as is onboard SONIC-based Ethernet for the
Quadra-series Macs. MACE-based onboard Ethernet for AV Macs should be
supported in NetBSD 1.3 and later.

Note:work is currently being done by Kevin
Radke (radke@cpre1.ee.iastate.edu) to get the cache on Daystar
accelerators working under NetBSD. He has test kernels available at
ftp://cpre1.ee.iastate.edu/pub/netbsd/ .

Note: if NetBSD does not boot on your
machine with its Daystar accelerator, try turning off the cache in the
control panel.

2.2.4.2. Non-working Accelerator Cards

Carerra '040 on a IIci (ijonglin@ee.princeton.edu)

Note: Current kernels should boot just
about any of the Daystar '030 (and probably '040)
accelerators. However, two users have had trouble getting an '030
accelerator to work on their Mac II's (which has an '020 by
default). Likewise, '030-users have had trouble getting '040
accelerator working with their machines.

2.3.3. How YOU Can Contribute to the Project

To see the current status of different projects, including
unclaimed projects, check out the TODO page:
http://www.NetBSD.org/ports/mac68k/todo.html

This page is our "whiteboard" for the mac68k port's status. At
this point, there is no telling which will be updated first as new
projects are claimed: the TODO page or this documents
Claimed/Unclaimed Projects sections. More than likely the TODO page
will change first.

If you see a project you would like to work on or assist with,
send e-mail describing your interests to port-mac68k@NetBSD.org. You
do not have to "register" your effort or anything formal like that,
but we do like to keep track of who is doing what. Plus, if we come
across any information that is useful to the work you are doing we
will pass it along.

We do accept equipment loans, equipment donations, and monetary
donations. If you would like to loan or donate equipment, please send
e-mail to port-mac68k@NetBSD.org describing what equipment you are
willing to part with. We will need to determine which member of the
NetBSD/mac68k team can best put the equipment to use. From there we
will give you a shipping address. If you donate the hardware, we will
make an honest effort to add support for your hardware if that is what
you desire. If you don't care what we do with the hardware, we'll put
it to the best use possible without necessarily interrupting current
project priorities.

This is a list of equipment we would really like to borrow for testing:

Machines: Anything other than a Mac II, especially
a Quadra, Centris, Powerbook, or Duo. We could use IIx, IIcx, IIci,
IIsi, IIvi, IIvx, and SE/30 machines as well (although these
machines are pretty well-supported now).

Priority for the machines we would like to borrow
is currently: Quadras (AV&other), Centrises, PowerBooks, Duos,
Performas

Other hardware: Any video card plus the monitor if
the card is particular to that monitor. ADB devices: trackballs,
3-button mice, Non-Apple mice, etc...

If you are willing to lend us a machine, please make sure it has
8MB RAM and at least 60MB of hard drive space that can be allocated to
a BSD partition. 5MB of RAM will do if necessary, but currently it
*must have an FPU* to be useful to us.

3.1. ADB

3.2. Ethernet

3.3. Serial

Occasional fifo/ring buffer overruns still possible

3.4. PRAM

Won't write correct time, but given how NetBSD/mac68k
loses time, we probably don't want it to.

3.5. Kernel

Should emulate FPU - FPE is almost done, most machines
without an FPU will now boot (all -current kernels include
FPE and the FPU-less math library will avoid the few
non-emulated functions on '030-based machines)

FPE problems with 'LC040-based machines, causes numerous seg-faults

Loses time while actually doing anything. (this has been improved)

vmstat statistics/kernel memory use seems high. (?)

3.6. Mac Utilities

3.6.1. Booter

Massive cleanup

Native booting (i.e. no Mac OS) ?

Booter versions later than 1.9.4 and earlier than
1.10.3 seem to not work on the IIvx, should be fixed in 1.10.3
and later

3.6.2. Installer

Update to new filesystems

“fstat: file not found” error (ignore it
if you see it; it's harmless)

1.1 versions of the Installer may crash on FPU-less Macs, use 1.1d or later

Installs use local timezone instead of GMT for updates. Fixed in 1.1e or later.

4.1. Introduction

This section is not for bugs. It is for things such as
system limitations that might have work-arounds.

4.2. SCSI difficulties

Many users have reported filesystem corruption under
NetBSD. Symptoms include mysterious hangs and the transformation
of numerous files from executable binaries into device files. The
problem seems to plague Quantum drives more often than other
models. This problem only happens on '030-based Macs using the
ncrscsi driver.

Although this problem is technically a bug in the ncrscsi
driver, it does have a workaround. The solution is to change to a
kernel using the sbc SCSI driver instead. One of these kernels is
available from: ftp://ftp.NetBSD.org/pub/NetBSD/arch/mac68k/new/

4.3. Installer dies during install with the error: “Error
on SCSIRead(), #5”

The most recent version of the Installer (1.1g as of this
writing) still has difficulties with partitions on large drives
(i.e. greater than 1GB in size). The problems seem to occur most
often on Quantum Fireball drives (I don't believe that it is
limited to them), but the key factors seem to revolve around
having partitions (often large partitions) located on the upper
portion of the disk (i.e. beyond the first 1GB of the disk) and
writing large distribution sets to these partitions (smaller sets
often complete, but the base distribution set will often die). A
similar bug in the Installer was fixed a while ago, but this one
appears to be slightly different.

There are a few workarounds. The first thing to try is to
increase the amount of memory allocated to the Installer to as
much as you can give it. The next thing to try is to move your
NetBSD partitions to the start of the drive (or as close to it as
possible). If this doesn't work, you'll need to install as many
distribution sets as you can using the Installer, then use the
Installer's Mini-Shell to copy in the distribution sets to your
NetBSD partition, and finally finish installing the sets from
within NetBSD.

4.4. Boot hangs while recognizing ethernet or video card

This problem is usually a result of a conflict between
ethernet and video cards. One possible solution is to simply
reorder the cards in their slots. If this does not work, try
removing whichever card you cannot live without and see if the
boot sequence stops hanging.

If you're boot sequence is hanging merely because of a video
card, chances are the kernel is not yet properly clearing the
interrupts for your card. There is a HOWTO for locating the
information necessary for doing this:

With the proper information, changes can be made to the
kernel to allow your machine to boot without having to remove the
card.

4.5. Problems with Mkfs 1.4 recognizing the last partition on the drive

The symptoms of this problem are that you have created a
partition of whatever type that you want to convert into a NetBSD
partition, but Mkfs 1.4 refuses to recognize the partition.

This problem is caused by an off-by-one error in the
Partition Map which is created by several hard drive formatters
(including the latest HD SC setup from Apple). Basically, the
number of Partition Map entries is one greater than the reported
size of the Map. Mkfs 1.4 ignores this last entry (and rightly so,
since it might be the Driver Partition in a correctly formatted
drive).

The solution is to upgrade to Mkfs 1.45 or later where this
bug is fixed. If you cannot locate Mkfs 1.45 or later, you have
two choices. You can either use a formatter which correctly writes
the Partition Map or else you can place a small partition at the
end of the disk. If you are going to keep a Mac OS partition
around, this is an excellent place to put one. On the other hand,
if you'd rather conserve space, a 1 kB Scratch partition at the
end of the disk should also work.

7.5. A/UX

You can mount A/UX filesystems read-only. There may be binary
compatibility with A/UX binaries in the future (don't hold your breath,
though).

7.6. 9.6 Mac OS

You can use Lawrence Kesteloot's hfs tool to access Mac OS
filesystems as read-only. Use this tool to browse the
filesystem and copy files to a NetBSD/mac68k partition. Someday
we hope to run Mac OS as a process on top of
NetBSD/mac68k.

In addition to hfs there are the
hfsutils
collection of utilities for accessing the Mac HFS from within
MacBSD.

Chapter 8. Other NetBSD OSes & Compatibility

8.1. NetBSD Ports

NetBSD/mac68k is binary compatible with all the NetBSD/m68k
OSes. This includes the hp300, amiga, sun3, and atari. What this
means is that the rather substantial NetBSD-Amiga archives are
available for NetBSD/mac68k use as well.

However, this does not apply to binaries that depend on the
local hardware's implementation.