From: email@example.com Subject: Re: Booting SCO 3.2v4.0 hard disk image in VMware or Bochs Date: 7 Feb 2006 02:12:44 -0800 Message-ID: <firstname.lastname@example.org> References: <Pine.CYG.4.64.0601310954250.1204@nighthawk> Robert Giles wrote: > Ahhhhh... ok, well I'll go Google around for divvy, I had no idea there > were multiple filesystems within one partition! Oddly enough, I was doing something very similar (extracting data from a 3.2v4.2 system using Linux) last week. It took a lot of false starts, but the eventual technique I used was:
- Run 'divvy' on the SCO machine, and note the output. - Image its hard drive, and then restore the image into a virtual HD in Virtual PC. - Boot Linux in Virtual PC. - Scan the imaged drive for a sector with the correct EAFS magic number (0xfd187e21 at offset xyzxx3F8), and note how many sectors it is from the start of the partition. That gives the offset to the first filesystem, and the rest can be calculated from the divvy output. - Use 'dd' with appropriate options to pull out the filesystems - eg: dd if=/dev/hdd4 of=root.fs bs=1024 skip=8001 count=<count from divvy output> dd if=/dev/hdd4 of=u.fs bs=1024 skip=<8001+divvy offset> count=<divvy count> - Mount the resulting file using "-o loop,ro". On the Linux side, I was using an ancient 2.0.30 install manually patched with the sco_fs patches (which were designed for 2.1.30, so applying them wasn't straightforward). My understanding is that the mainline Linux kernel only supports AFS (magic 0xfd187e20), not EAFS. The sco_fs patches are also supposed to add divvy support to the Linux kernel, but in my case they didn't get the subpartitions right so I ended up using 'dd' as described above. One other thing - make sure the clock on the SCO system is set to later than 1980. The machine I was imaging thought it was 1976 (no Y2K patches had been applied) and Linux won't mount an EAFS system if its check date is before 1980. -- John Elliott
Got something to add? Send me email.
The psychological profiling [of a programmer] is mostly the ability to shift levels of abstraction, from low level to high level. To see something in the small and to see something in the large. (Donald Knuth)