Creating a physical SCSI target out of an iSCSI one

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.


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.