Creating a physical SCSI target out of an iSCSI one

Solution 1:

I believe your desired approach is possible using FreeBSD's CAM Target Layer subsystem and SCSI adapters that support target mode, like the AIC-78xx series. I'm currently doing this via a pair of Adaptec 39160 cards connected with a VHDCI cable. It is also possible to pass through an ISO file as a bootable SCSI CDROM device.

The FreeBSD kernel must be compiled with targ and targbh drivers, the ports must be enabled for target mode (eg ctladm port -o on ahc0), and the block devices must be created ( ctladm create -b block -o file=/path/to/disk or ctladm create -b block -t 5 -o file=/path/to/iso). The block driver supports disk devices as well as disk images. By default it presents devices as LUNs on ID 7, so make sure your SCSI cards are set to different IDs.

Windows 98 seems to hang when scanning the PCI bus with ASPI for 79xx, possibly due to a driver issue, though I haven't investigated heavily. Windows XP seems to be easier to deal with for the 39160 cards, but as XP can be sanbooted from iSCSI already, that doesn't unlock any extra functionality for me.

Solution 2:

To start from Adam iSCSI is a protocol which "expose" disk space from one computer and represent this as storage device to another computer. But to use it the OS of second computer must recognize the protocol and have appropriate drivers/modules to work with. Moreover after iSCSI LUN is recognized it should be formatted and mounted (from OS) to particular mountpoint (or used as RAW device). I am not aware of option to use iSCSI disk as root device.

In your case iSCSI is not applicable. What you can search is PATA to SCSI convertor/controller to use PATA disks as SCSI. Usually those convertors are OS independent.

But the best you can do is to migrate all the applications which run on this old hardware to new software/hardware platform.

Solution 3:

To avoid having the local hard drives, consider using the NetBoot technology. Here is some important information from Wikipedia

NetBoot is a technology from Apple which enables Macs with capable firmware (i.e. New World ROM) to boot from a network, rather than a local hard disk or optical disc drive. NetBoot is a derived work from the Bootstrap Protocol (BOOTP), and is similar in concept to the Preboot Execution Environment.


A disk image with a copy of macOS, macOS Server, Mac OS 9, or Mac OS 8 is created using System Image Utility and is stored on a server, typically macOS Server. Clients receive this image across a network using many popular protocols including: HTTPS, AFP, TFTP, NFS, and multicast Apple Software Restore (ASR). Server-side NetBoot image can boot entire machines


Mac OS 8.5 and Mac OS 9 use only BOOTP/DHCP to get IP information, followed by a TFTP transfer of the Mac OS ROM file. Next, two volumes are mounted via AppleTalk over TCP on which the client disk images reside. All in all, the Classic Mac OS uses three images; a System image which contains the operating system and may contain applications. Next a private image (or scratch disk) is mounted in an overlay over the read-only System image. Finally, an applications image is mounted. This image, however, may be empty.

If you don't have Max OS X server on hands, consider using BootMania which would provide the NetBoot functionality from a regular Mac OS X box.

enter image description here