[[!template id=port port="sun3" cur_rel="6.0" future_rel="7.0" changes_cur="6.0" changes_future="7.0" thumbnail="http://www.netbsd.org/images/ports/sun3/110.gif" about=""" NetBSD/sun3 is the port of NetBSD to the Sun Microsystems sun3, and sun3x series of computers, which are based on the Motorola [68020](http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC68020) and [68030](http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC68030) CPUs respectively, with a Sun-designed custom MMU. Sun sold these computers as both servers and desktop workstations from the mid to late 1980's. They were superseded by the sun4 SPARC RISC systems, which are supported by NetBSD as [NetBSD/sparc](/ports/sparc). Nathan Williams and Jeremy Cooper are the maintainers of NetBSD/sun3. """ supported_hardware=""" ###Supported System Models

NetBSD/sun3 runs on these sun3 and sun3x architecture machines:

Model MHz RAM RAM Expansion Bus Slots Type
Sun 3/50 15.7 4 3rd party n/a n/a sun3
Sun 3/60 20 24 24 30-pin SIMM: 1x9 100ns P4 (video) 1 sun3
Sun 3/75 16.67 16 VME bus memory cards VME bus 2 sun3
Sun 3/80 20 40/64 16 30-pin SIMM: 1x9 or 4x9 100ns P4 (video) 1 sun3x
Sun 3/100 series 16.67 16 VME bus memory cards VME bus 3 sun3
Sun 3/200 series 25 64 VME bus memory cards VME bus 12 sun3
Sun 3/400 series 33 128 VME bus memory cards VME bus 12 sun3x
Sun 3/E 20 4(?) VME bus memory cards VME bus n/a(?) sun3
The RAM column is maximum supported RAM in megabytes. Sun made a variety of VME bus cabinets with different numbers of bus slots; ultimate RAM and I/O expansion is more a matter of how many bus slots there, rather than the particular CPU you have. The Sun3/80 RAM capacity varies with the boot ROM revision - 3.0.2 allows 40MB, 3.0.3 allows 64MB. The Sun 3/50 has 4MB soldered on the motherboard; all RAM expansions for that workstation were provided by third-party solutions (read "hacks") of one kind or another. The Sun 3/E is a 6U VME single-board computer intended as an embedded system component. The Sun 3/80 workstation and Sun 3/400 series servers are sun3x architecture machines based on the [Motorola 68030 CPU](http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC68030). They were Sun's last design using Motorola microprocessors, and were somewhat complicated by the fact that the mc68030 has an integrated MMU in the CPU chip. Sun Microsystems stopped designing systems with Motorola microprocessors when their own SPARC CPU design became a commercial success. ###Disk and RAM Requirements Minimum 4MB RAM, ~80MB disk Normal 8MB RAM, 200MB disk Normal + X11 16MB RAM, 300MB disk The complete NetBSD sources without objects require 200MB of disk. To run the X Window System or compile the NetBSD system sources (i.e. development), more RAM and disk are recommended. Good performance requires 8MB of RAM, or 16MB of RAM when running the X Window System. ###Supported Hardware The following Sun3 devices are currently supported: * RS-232c Serial ports: * built-in z8530 SCC as ttya, ttyb (zs) * Sun Video adapters: * 1 bpp framebuffer, (bwtwo) * 8 bpp framebuffer (cgtwo) * 8 bpp (+overlay) framebuffer (cgfour) * Network interfaces: * On-board AMD LANCE Ethernet (le) * On-board Intel Ethernet (ie) * VME Intel Ethernet board (ie) * SCSI bus host adapters: * On-board NCR 5380 SCSI Bus Controller (si) * On-board Emulex SCSI controller on sun3x (esp) * Sun-3 VME SCSI (also NCR 5380 SBC, Sun part # 501-1236) (si) * SMD Disks: (the big, heavy ones) * Xylogics 450/451 (xy) * Xylogics 753/7053 (xd) * Floppy drive: * Sun 3/80 built-in floppy drive (fdc) * Input devices: * Sun keyboard (kbd) and mouse (ms) * Miscellaneous: * Battery-backed real-time clock. If you have a device that's not listed, it might be compatible with something else, or we might have simply forgotten it. If all else fails, maybe you could write a driver! Note: The Sun VME sc SCSI card is not yet supported. """ additional=""" Features of NetBSD/sun3 * Native boot programs for disk, network, and tape * Automated installation tools (using a "miniroot") * SCSI drivers supporting DMA, interrupts, and (optional) disconnect/reselect * Frame buffer drivers compatible with SunOS and X11R6 * Support for the Virtually Addressed Cache (VAC) on Sun3/2XX models * Storage Module Device (SMD) disk drivers * Supports most SCSI devices (CD-ROM, disk, etc) * Diskless (network) boot capability * Built-in kernel debugger * [SunOS 4.1 Compatibility](http://www.netbsd.org/ports/sun3/faq.html#sunos_compat) ###links * [ILVSUN3](http://www.ilvsun3.com/) page by arthur also has various useful information about TME and Sun3 stuff. * [The Machine Emulator (tme)](http://people.csail.mit.edu/fredette/tme/) can emulate a Sun 3/150 running NetBSD.

NetBSD/sun3 Frequently Asked Questions

NetBSD/sun3 Frequently Asked Questions

General Questions

Other sources of information


General Questions

No multicast or IPv6 - "le0: not multicast capable" (top)

The LANCE revision C chips used in some sun3s (not the sun3x) have a bug which sometimes results in garbage inserted where the first bits should be, with the correct bits shifted later. So instead of the destination MAC address at the beginning, you get something random looking.

The workaround is to examine the beginning of the packet and throw away anything that's not for us (my MAC or broadcast). Unfortunately this prevents the use of multicast.

The LANCE Rev. C chip was probably only used in the 3/50, so on other sun3 machines you should be able to build a kernel without the line:

options LANCE_REVC_BUG

Running diskless 3/80 with ESP driver - "esp: SCSI bus reset." (top)

This message is a symptom of a bug in the esp driver on diskless systems. The ESP (Emulex SCSI Processor) driver in NetBSD/sun3x has a bug that causes it to enter an endless loop when it probes an empty SCSI bus. To work around this problem, use a kernel which does not have the esp device driver, or plug in at least one powered SCSI device into the bus.

SunOS 4.1 Compatibility (top)

NetBSD/Sun3 features extensive binary compatibility with SunOS 4.1.x programs. Static SunOS executables will run without any extra setup.

To run dynamic executables, you'll need to provide the dynamic libraries that came with your SunOS installation. SunOS programs that will not work include those that use the SunOS kvm library, certain (low-level) disk manipulation utilities, and programs making explicit use of Sun's STREAMS subsystem. Check the compat_sunos(8) manual page for more details.

Booting SCSI devices at different targets (top)

All sun3 and sun3x monitors support booting from SCSI devices. Most users will be familiar with booting from the monitor device sd(0,0,0), which they know means booting the SCSI disk at target zero. However, determining the monitor device name for booting an arbitrary SCSI device can be confusing.

A monitor boot device takes the form dev(cntrl,unit,part). dev is two letters, and cntrl, unit, and part are hexadecimal numbers.

For SCSI disks and CD-ROMs, dev is sd. For SCSI tapes, dev is st.

For all SCSI devices, cntrl is the number of the SCSI controller the device is attached to. For a machine with a single SCSI controller, cntrl is 0.

For all SCSI devices, unit identifies the SCSI target and logical unit number of the device. Exactly how the SCSI target and logical unit number are combined into the single number unit depends on your machine type and ROM revision, and whether or not the device is a disk, CD-ROM, or tape. Use the tables below to figure out how unit works on your machine.

For SCSI disks and CD-ROMs, part selects the partition to boot on that disk or CD-ROM. The first partition is 0, the second partition is 1, etc. Normally, part is 0, since the first partition on a disk is usually the bootable one. Common exceptions are booting a miniroot that has been written to the swap partition, in which case part is 1, or booting a CD-ROM that contains different bootable partitions for different architectures, in which case you have to know which partition boots your architecture.

For SCSI tapes, part selects the tape segment (also called "tape file") to boot. The first tape segment is 0, the second tape segment is 1, etc. You will need to know which tape segment is bootable for your architecture in order to give the right part.

Finally, these are the tables that demonstrate how unit works on various machines. They list sd monitor devices for disks and CD-ROMs, and st monitor devices for tapes, all at different SCSI targets. These tables assume that you want the first SCSI controller 0, and the first partition or first tape segment 0. Also, because many Sun 3 models use the same CPU board, to keep these tables simple Sun's CPU board code names are used wherever possible.

Model CPU Model CPU
3/75 Carrera 3/140 Carrera
3/150 Carrera 3/160 Carrera
3/180 Carrera    

CPU/rev ROM Monitor device to boot the disk or CD-ROM at target
0 1 2 3 4 5 6 7
3/60 rev 1.9 Carrera rev 2.7 sd(0,0,0) sd(0,4,0) sd(0,8,0) sd(0,C,0) sd(0,10,0) sd(0,14,0) sd(0,18,0) N/A
3/80 rev 2.9.2 sd(0,0,0) sd(0,8,0) sd(0,10,0) sd(0,18,0) sd(0,20,0) sd(0,28,0) sd(0,30,0) N/A

CPU/rev ROM Monitor device to boot the tape at target
0 1 2 3 4 5 6 7
3/60 rev 1.9 ??? st(0,8,0) st(0,10,0) st(0,18,0) st(0,0,0) st(0,28,0) st(0,30,0) N/A
3/80 rev 2.9.2 ??? st(0,8,0) st(0,10,0) st(0,18,0) st(0,0,0) st(0,28,0) st(0,30,0) N/A

The above tables also assume that you want SCSI logical unit number zero. The SCSI specification allows one SCSI target to contain different logical units (also called LUNs). Virtually no SCSI devices make use of this feature, and have only a single LUN, zero. However, if you know you have a disk at a LUN other than zero (early Sun SCSI disk setups do), you can add the LUN number to the unit value, noting that unit is a hexadecimal number.

History of NetBSD/sun3x (top)

The sun3x port of NetBSD was initiated by two independent groups of developers. The first group, headed by Gordon Ross and Jeremy Cooper, began work in March of 1996 with the (then) current sun3 port and the intent to create a new pmap system that was not based on the hp300 m68k code. Their work is the officially supported version of NetBSD/sun3x.

The second group, headed by Tsubai Masanari, also began with the sun3 distribution but instead choose to use the traditional hp300 m68k pmap. This approach allowed them to get a fully running system in a matter of weeks. They were the first to successfully integrate the SPARC Enhanced SCSI Processor driver into the kernel, proving that the Sun3x was indeed half SPARC, half Sun3.

Although the currently supported NetBSD/sun3x is based on Gordon and Jeremy's work, they are indebted to the second group for their innovation.

Between NetBSD 1.3 and 1.4 NetBSD/sun3x was merged into NetBSD/sun3. They build separate kernels, but share the same userland, and kernel build tree.


Other sources of information

SunHELP (top)

  • SunHELP - much sun related information

Sun Hardware Reference FAQ (top)

Sun NVRAM/Hostid FAQ (top)

Sun CD-ROM FAQ (top)

NetBSD 6.0 install notes (top)

port-sun3 mailing list (top)

Diskless NetBSD HOW-TO (top)

Sun3 Archive (top)

  • The Sun3 Archive has lots of information about Sun3 hardware, PROM images, etc.

Techrat's Sun 3/160 pages (top)

  • Techrat's Sun 3/160 pages contains information on Techrat's 3/160, hardware information, lots of pictures of old Sun hardware, and links to various FAQs and things.

General NetBSD Documentation (top)


Back to NetBSD/sun3 Port Page
""" ]] [[!tag tier2port]]