OpenBSD/sparc


History and Status:

The original BSD4.4 port was done by Chris Torek as a contract to LBL. The code was released by Chris in mid-93, and Theo de Raadt worked it into shape for the NetBSD tree. Theo and Markus Wild worked on improving Chris' original SunOS compatibility code into a highly complete and reliable emulation. Chuck Cranor ported the sun4c code to the 8KB pagesized Sun4 architecture, and Theo merged this code in a way that would allow the same kernel and programs to run on either sun4c or sun4 machines (unlike Sun's seperate kernel environments). This last change also required a rewrite of the device configuration code. Just after the NetBSD/sparc 1.0 release, Peter Galbavy wrote an ESP scsi device driver as a replacement for Chris' sparc-specific scsi code, this new driver unfortunately had some problems.

At this point a conflict emerged between Theo and the other people he started the NetBSD project with, and Theo was forced by the core group to resign from NetBSD. After Theo left NetBSD, a few people in the NetBSD group did some other things for the port: Paul Kranenburg ported a floppy driver and started writing support for the 4/400. Chuck spent many long hours working on the ie, xy, xd device drivers.

Theo continued working independently, and made a number of additions: P4 support, flexible boot strategy, a few graphics drivers with help from John Stone, and masses of bug fixes. Many people will be most interested that the ESP scsi driver has been completely replaced by Theo, and that it supports disconnect/reconnect.

Work on porting OpenBSD/sparc to the sun4m platform was started by Theo, but tendonitis problems with his wrists and the problems with the NetBSD core conspired, and he stopped work. Theo passed his initial sun4m work to Aaron Brown of Harvard, who was paid out of Margo Seltzer's research funds. This initial stuff consisted mostly of a few attempts at building pmap structure that could support all 3 MMU types efficiently. Also, David Miller of the Sparclinux project got a little bit involved.

Recently Theo and Jason Downs began merging the NetBSD sparc code back into OpenBSD. OpenBSD/sparc is becoming usable again. There are still a few OpenBSD/sparc features from older source trees that need to be re-integrated; these will likely surface soon.

The people working the most on OpenBSD/sparc currently consists of Theo de Raadt, Jason Downs, and probably Chuck Cranor again now that it once again works.

An important note about OpenBSD/sparc is that it is designed so that a single kernel can run on *ALL* sparc machines. Whereas SunOS and Solaris have always had separate `kernel architectures', ie. sun4, sun4c, and sun4m, the same `GENERIC' OpenBSD kernel will run on all the supported models.

OpenBSD/sparc can be reasonably described as a continuation of the NetBSD/sparc development with improvements. The current status is somewhere between under development and ready for general use, in that it does support many of the Sparc based systems and their peripherals, and can be quite reliable depending on the system configuration and usage.

Most of the problems are believed to stem from the wide variety of sparc processor and cache implementations along with their undocumented bugs, rather then general kernal problems. Feedback on which models do and do not work reliably is appreciated, particularly with the newer sun4m implementations like the Fujitsu TurboSparc and Ross HyperSparc based systems and upgrades.

The installation tools and process as of the 2.1 release are greatly improved over previous releases of OpenBSD. OpenBSD/sparc can be installed or upgraded via floppy boot images on sun4c and sun4m, miniroot images for machines without floppies (and sun4 machines).


Snapshots are made available from time to time.


What hardware is supported?

OpenBSD/sparc runs on the following classes of machines:

Supported devices. This list of basically declares that any `stock' sun4c "sparcstation" machine will probably work; for sun4 machines one must be more careful.

OpenBSD/sparc does *not* run on these machines (yet):

OpenBSD/Sparc on the 4c/4m machines is criticaly dependent on configuration information returned by the openboot prom. A sparc clone that differs substantially from the Sun model as far as device names and properties will require additional work in this area.

Unsupported Devices. First of all, there are MANY unsupported devices. A comprehensive list can probably not be written.


OpenBSD www@openbsd.org
$OpenBSD: sparc.html,v 1.19 1997/06/12 04:33:00 johns Exp $