I've been doing a little research on the use of the BusLogic "blc"
driver in SCO OpenServer 5 (5.0.6 & 5.0.7), under VMware virtual
execution environments (VMware Workstation, VMware Server, and VMware
ESX Server).

VMware's virtualization environments can emulate two or three different
storage adapters for a guest OS. The hosted products (Workstation and
VMware Server) can emulate IDE, BusLogic BT-958 PCI SCSI HBA, or LSI
Logic 53c1030 PCI SCSI HBA. ESX Server emulates the two SCSI HBAs, but
not IDE.

If you want to use emulated SCSI (or in the case of ESX, you're forced),
it turns out that BusLogic is your only choice. OSR5's "lsil" driver
doesn't come close to working with the LSI Logic emulation. "blc" does
at least come close to working with the BusLogic emulation. That is,
the driver included in OSR506 and 507 doesn't work, but it is possible
to obtain drivers that do work.

Tony Lawrence has two pages giving complicated sequences to install OSR5
under VMware:

I'm not here to simplify those procedures (sorry), but I can improve one
detail: where to get a working BusLogic driver. (The procedure is
somewhat simpler on OSR507, but you do still need a BTLD. Also I'm not
here to talk about OSR600, haven't focused on that at all.)

Both articles point to ancient copies of BusLogic's "blc" driver at
private locations:

These refer to copies of BusLogic's "blc" driver version 4.01. This
driver seems to work, but it's uncomfortable relying on drivers from
such obscure locations.

SCO also recently updated their own driver. It calls itself 3.05.1. I
think it's based on an older version of BusLogic's driver source, but
with a lot of SCO enhancements. I don't really know which driver is
"better", but SCO's is definitely easier to find. It's at:

The SCO "blc" 3.05.1 has one annoying issue under VMware. When you warm
reboot a VM (as you would do by running `init 6` under OSR5 in the VM),
the driver fails to recognize its hardware. You end up having to cold
boot the VM.

I now have a simple fix for that: edit /etc/conf/pack.d/blc/space.c.
Change `blc_inittime_hard_reset' from 0 to 1, so that the new statement

int blc_inittime_hard_reset = 1; /* 1 = do hard reset at boot-time */

Relink the kernel (cd /etc/conf/cf.d; ./link_unix -y); reboot.

As with the BusLogic 4.01 driver, this one seems to work. I have no
idea which is better (faster, more stable, whatever). All I have to
choose between them is how much trouble it is to acquire and configure
the driver.

Returning to the BusLogic 4.01 driver, after extensive digging, I
finally found it carefully hidden on LSI Logic's web site. So now you
can get really old drivers for this hardware from the current owner.

A digression: long ago, there was an HBA vendor named BusTek. They
started out with a high-performance clone of the Adaptec 1540 ISA HBA.
They eventually followed that with enhanced adapters for the VESA Local
Bus (VLB), EISA, and PCI. All of these used the exact same driver, in
stark contrast to Adaptec's HBAs, which had a new driver for every bus.
Anyway, BusTek eventually renamed themselves to BusLogic. Some time
later they were bought by Mylex; later still, Mylex was bought by LSI
Logic. I think Adaptec may also have briefly owned BusLogic somewhere
along the way, or maybe they tried to buy BusLogic but it fell through.

Anyway, the end result is that both of the SCSI HBAs emulated by VMware
are now legally owned by LSI.

To find the OSR5 BusLogic driver on LSI's site, follow one of these two
select "BT/KT-757C" on the "Select a specific product" pulldown menu
click on "ODT 4.01"

click on "BT/KT-757C"
click on "ODT 4.01"

You should end up with a file "mmodt.exe". This can be extracted with
`unzip`, resulting in files Odt.exe and UNIX.TXT. UNIX.TXT should
explain itself as:

" SCO Unix ODT and OpenServer 2.x/3.x
" Version 4.01

I'm afraid you have to run `Odt.exe` on some sort of oldish DOS. It
writes a disk image to a floppy. Really neat way to distribute Unix
device drivers. This would probably work in a Win98-or-earlier VM.


1. SCO "3.05.1" drivers from SCO's FTP site; set
blc_inittime_hard_reset = 1

2. or BusLogic "4.01" drivers from deep in the bowels of LSI Logic's
web site

3. either way, use one of the OSR5-on-VMware guides on