This card is only good for the Rev A/B Bondi iMacs. Subsequent versions eliminated the mezzanine slot. I did read that Formac is working on an adapter for the newer iMacs.

First off you need to aquire a card. When I first got interested in this, they weren't available in the US, but now you can get them from MacMall, MacWarehouse etc. One catch, the card requires a special SCSI cable, that'll set you back $30-$40. I went around and around when I got mine. First a cable and no card, then I sent that back and got a card, but the wrong cable. Eventually it all panned out and I picked up Seagate Barracuda and an external case for my Linux installation.

Ok, now you need to install the card. This requires dismantling the iMac, which can be a real riot. The online help in MacOS has a pretty good set of instructions.Once you have it in, if you are still using MacOS, you might want to verify operation there with the Formac software. I went ahead and set my drive up in MacOS, with the software, then later redefined the partitions with pdisk.

For your kernel config (2.2.14), set this up as follows:

#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
#
# SCSI low-level drivers
#
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_NCR53C7xx is not set
CONFIG_SCSI_NCR53C8XX=y
# CONFIG_SCSI_SYM53C8XX is not set
CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
CONFIG_SCSI_NCR53C8XX_SYNC=20
# CONFIG_SCSI_NCR53C8XX_PROFILE is not set
# CONFIG_SCSI_NCR53C8XX_IOMAPPED is not set
CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT=y
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_MESH=y
CONFIG_SCSI_MESH_SYNC_RATE=5
CONFIG_SCSI_MAC53C94=y

Why these last three need to be set, I'm not sure, but I did not have much luck without them ;^).

Set the rest of your kernel options as you prefer, then do the normal drill, make dep, make vmlinux, move vmlinux to somewhere where you can get it from MacOS, and set it up for BootX.

You need to add the following option to your kernel args in BootX. If you don't you'll get into an endless loop of scanning the SCSI bus:

ncr53c8xx=safe:y

In my case I've got:

video=atyfb:vmode:17,ncr53cxxx=safe:y

If you can boot successfully you should see some messages like these for the devices on your SCSI chain:


ncr53c8xx: setup=disc:n,specf:0,ultra:0,tags:0,sync:255,burst:255,wide:n,diff:1,revprob:n,buschk:0x1
ncr53c8xx: setup=mpar:n,spar:y,fsn=n,verb:2,debug:0x0,led:n,settle:10,irqm:1,nvram:0x1,pcifix:0x0
ncr53c8xx: at PCI bus 0, device 13, function 0
ncr53c8xx: 53c875 detected
ncr53c875-0: rev=0x04, base=0x80880000, io_port=0xc00, irq=23
ncr53c875-0: clock multiplier found
ncr53c875-0: ID 7, Fast-10, Parity Checking
ncr53c875-0: initial SCNTL3/DMODE/DCNTL/CTEST3/4/5 = (hex) 05/8e/a0/01/00/24
ncr53c875-0: final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = (hex) 05/80/00/00/00/00
ncr53c875-0: resetting, command processing suspended for 10 seconds
ncr53c875-0: restart (scsi reset).
ncr53c875-0: enabling clock multiplier
ncr53c875-0: waiting 10 seconds for scsi devices to settle...
ncr53c875-0: command processing resumed
scsi0 : ncr53c8xx - version 3.2a-2
scsi1 : MESH
Vendor: SEAGATE Model: ST34520N Rev: 1487
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 2, lun 0
Vendor: CONNER Model: CTMS 3200 Rev: 7.06
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, channel 0, id 4, lun 0
scsi : detected 1 SCSI tape 1 SCSI disk total.
ncr53c875-0-<2,*>: asynchronous.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 8888924 [4340 MB] [4.3 GB]

If you get past all this, then you can setup your hard drive (sda in my case) with pdisk, and use it as you wish. I'm running my whole Linux setup off of it, so my boot disk setting in BootX is /dev/sda3.

That's it, lol. Next episode we'll get the TV portion going.

Stew