Subject: Re: virtualization and a SCO openserver on NetBSD? vmware3?
To: None <netbsd-users@NetBSD.org>
From: Carl Brewer <carl@bl.echidna.id.au>
List: netbsd-users
Date: 10/12/2007 23:26:54
Brian A. Seklecki wrote:
> On Thu, 4 Oct 2007, Carl Brewer wrote:
>
>> Brian A. Seklecki wrote:
>>> On Thu, 2007-10-04 at 10:53 +1000, Carl Brewer wrote:
>>>> Hello,
>>>> I've got a client with an old SCO Openserver5 box running a
>>>> mission-critical app (it's an airport and it runs their operations,
>>>> scary ... anyway ...)
>>>
>>> Don't we have the ability to emulate SCO/OpenServer binaries?:
>>>
>>> compat_ibcs2(8) - setup procedure for running binaries that
>>> conform to the Intel Binary Compatibility Standard 2, e.g. SCO
>>> Unix and others derived from AT&T SVR3.
>>
>> I could give it a try, it's an old Progress (4GL) database, but I'd
>> rather
>
> As long as it doesn't require any special kernel hardware interfaces,
> and just regular old POSIX I/O, you may have luck. I've never used it
> before.
I gave up (for the moment) trying to get this damn thing to work in a
VM, so I'm going to try the NetBSD emulation.
After a bit of a read through compat_ibcs2 and setting up a tarball of
the SCO box and untar'ing it accordingly.
I'm seeing this when I look at the binaries :
file _mprosrv
_mprosrv: Microsoft a.out separate pure segmented word-swapped
not-stripped V2.3 V3.0 386 small model executable not stripped
And, maybe not that suprisingly, when I try and run that binary :
ylil-host: {52} ./proserve -d dmy -l 2048 -L 2048 /u/aam.y2k/aam
13:21:19 Server: SYSTEM ERROR: Memory violation. (49)
proserve is this :
more ./proserve
DLC=${DLC-/usr/dlc};export DLC
trap "" 1
exec $DLC/_mprosrv "$@"
So it's basically a wrapper around this binary.
Is ktrace likely to help much with trying to work out what's going on?
I've unpacked a tarball of the SCO box into /emul/ibcs2/
My kernel is GENERIC, which includes the IBCS2 emulation and a.out
emulation.
How much is the system chroot'ed? Is it smart enough to know that
something run in /emul/ibcs2 (even a script) needs to look in that
directory first,and prepend /emul/ibcs2 to environment variables etc?