APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Unix, Xenix and ODT General FAQ

How can I mount a SCO Unix file system in Linux or vice-versa?

At floppy boots but "mount" not there ... (was re:determine unix version), FyRE said:

The original HTFS driver module for Linux was written back in 2001 by
Andrzej Dereszowski. I knew that I had seen it before, but I think
you're correct that there's no opensource driver available at the
moment. I very much doubt the reason for the absence of this driver
is technical, but rather due to the threat of legal action from the
litigious bastards at SCO. Apparently SCOG licenced this tech to a
company called CrosStor, who developed a closed module for Linux,
but I think they've since gone out of business (maybe little/no
demand for that particular proprietary product? ;-)

Brian K. White wrote:

 I know I read a readme and downloaded a patch that applied to some way
 back 2.0 or even 1.x kernel that claimed to allow mounting of divvy
 slices, but I never tried it and don't remember where I found it now. I
 think it's out there to be had, but you have to search it out. For some
 reason it's just not being accepted into the kernel tree proper.
 For now you can do the following:
 simply create a SCO filesystem on a raw partition manually, Linux will be
 able to mount that filesystem, and so will SCO.
 "mdev hd" is a script that runs fdisk, then divvy, then mkfs (among other
 The easiest way to go would be to run mkdev hd to add a new hard drive,
 (this creates the /dev/hdxyz device files for you) then determine the
 device name for your new raw partition (or whole drive for that metter,
 you actually do not need any partitions at all, not even one that takes up
 the whole drive)
 then dd if=/dev/zero of=/dev/hd10 (for whole 2nd ide drive for instance)
 then mkfs -f HTFS /dev/hd10
 then mkdir /d2
 then mount -f HTFS /dev/hd10 /d2
 then to copy your "u" filesystem, 
 cd /u; tar cf - . | (cd /d2 ;tar xf -)
 then in Linux:
 mkdir /d2
 modprobe sysv
 mount -t sysv /dev/hdb /d2
 Note: if Linux can't read the HTFS filesystem, you may need to try
 substituting one of the following until it works. I know for a fact Linux
 reads Xenix just fine, but Xenix fs has yucky limitations like 14
 character name length
   AFS     Acer Fast Filesystem
   DTFS    Desktop Filesystem
   EAFS    Extended Acer Fast Filesystem
   HTFS    High Throughput Filesystem
   S51KB   AT&T UNIX(R) System V 1KB Filesystem
   XENIX   XENIX(R) filesystem

Brian also tells us:

Linux doesn't understand divvy, so to mount a xenix fs under linux, you just
need to have created the filsystem under xenix by writing to a whole fdisk
partition or whole-disk device, _not_ the normal way where divvy divides up
a fdisk partition into divvy partitions and then writes filesystems to
those. This means using for example /dev/hd11 as the mkfs target in xenix
for the 1st fdisk partition on the 2nd drive. IE: if migrating an old xenix
box and there is no room to make cpio/tar files, then add a 2nd drive, make
at least one fdisk partition that is only 512 Megs since a xenix filesystem
cannot exceed 512 megs anyways.

Then, in linux, you also have to know that linux and xenix count the fdisk
oartitions backwards from each other. Fdisk partition 1 (counting from 1) in
xenix, is fdisk partition 4 in linux.
xenix: /dev/hd11
linux: /dev/hdb4

Then again, if you are going to go to the trouble of adding a disk and
moving it to a linux box, you could just cpio the whole system, including
all mounted filesystems, (which might exceed 512 megs) directly to the
whole-disk device or a larger-than-512meg fdisk partition and skip creating
a filesystem.

If you are trying to access a crashed SCO drive with Linux, keep these things in mind:

  • Linux uses partitions for one filesystem; SCO puts multiple file systems on an fdisk partition. You might be able to use dd to pull out what you want, but you'll need to know how big the partitions are. Linux mount lets you specify an offset, so if you know where the filesystem starts, you might be able to do it that way.
  • A crashed fs will need to be cleaned- standard Linux fsck may not understand SCO filesystems- and if it *thinks* it does, it could destroy data.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> -> How can I mount a SCO Unix file system in Linux or vice-versa?

1 comment

Fri Jul 16 09:20:57 2010: 8822   nurray


HTFS and EAFS filesystems is *not* covered by the 'sysv' driver in linux, but to transfer files from an old SCO system.

I had the the old SCO system running in a VM using 'unix.safe' mode which works under VMware server without special driver bits, it is just slow. I created a 1.6 Gbyte drive and added it to the VMware config for the SCO system. The original drive was 1.2 Gbytes.

In the VM running SCO I was able to see the extra drive as 'fdisk -f /dev/rhd10'.

Instead of trying to format it, I just did;
"cd / ; tar cvf /dev/rhd10 ./u"

Then shutdown the SCO VM and started up a Linux VM with the same 'extra' drive added to its config (I used symbolic links instead of moving the files). This VM (UbuntuDapper, but any linux would work) I did;
"cd /var/tmp; tar xvf /dev/hdd"
and the files were extracted and could be dealt with as required.

The essential part of this technique is that I treated a hard drive like a tape device, no disk directory structures or anything just a series of 512 bytes sectors (or tape blocks) and read it back the same way.

To get device files and the like as early "tar" didnot handle that correctly in all cases. (Dont know if SCO 5.0.2 tar does or doesnot) I used;

"find / -depth -print -mount | cpio -ocmv -O /dev/rhd10"

To retrieve on a linux VM I used;

"cd /var/tmp ; cpio -icdmnv -I /dev/hdd --no-absolute-filenames"

The newer "-H crc" options in SCO cpio are in Linux as well, so you may want to use them.

Hope this is of some use to people.

Kerio Samepage

Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

This post tagged: