Home
Search all pages
Subjects
By activity
Professions, Sciences, Humanities, Business, ...
User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Text Strings
Conversions, tests, processing, manipulation,...
Math
Integer, Floating point, Matrix, Statistics, Boolean, ...
Processing
Algorithms, Memory, Process control, Debugging, ...
Stored Data
Data storage, Integrity, Encryption, Compression, ...
Communications
Networks, protocols, Interprocess, Remote, Client Server, ...
Hard World Timing, Calendar and Clock, Audio, Video, Printer, Controls...
File System
Management, Filtering, File & Directory access, Viewers, ...
|
|
|
RocketLink!--> Man page versions:
OpenBSD
COMPAT_IBCS2(8) OpenBSD System Manager's Manual COMPAT_IBCS2(8)
NAME
compat_ibcs2 - setup procedure for running iBCS2 binaries
DESCRIPTION
supports running Intel Binary Compatibilty Standard 2 (iBCS2) binaries.
This only applies to i386 systems for now. Binaries are suported from
SCO UNIX and other systems derived from UNIX System V Release 3. iBCS2
support is only well tested using SCO binaries. XENIX binaries are also
supported although not as well tested. SVR4 binaries are supported by
the COMPAT_SVR4 option.
iBCS2 supports COFF, ELF, and x.out (XENIX) binary formats. Binaries from
SCO OpenServer (version 5.x) are the only ELF binaries that have been
tested. Most programs should work, but not ones that use or depend on:
kernel internal data structures
STREAMS drivers (other than TCP/IP sockets)
local X displays (uses a STREAMS pipe)
virtual 8086 mode
The iBCS2 compatibility feature is active for kernels compiled with the
COMPAT_IBCS2 option enabled. If support for iBCS2 ELF executables is de-
sired, the EXEC_ELF32 option should be enabled in addition to
COMPAT_IBCS2.
Many COFF-format programs and most ELF-format programs are dynamically
linked. This means that you will also need the shared libraries that the
program depends on. Also, you will need to create a "shadow root" direc-
tory for iBCS2 binaries on your OpenBSD system. This directory is named
/emul/ibcs2. Any file operations done by iBCS2 programs run under OpenB-
SD will look in this directory first. So, if an iBCS2 program opens, for
example, /etc/passwd, OpenBSD will first try to open
/emul/ibcs2/etc/passwd, and if that does not exist open the 'real'
/etc/passwd file. It is recommended that you install iBCS2 packages that
include configuration files, etc. under /emul/ibcs2, to avoid naming con-
flicts with possible OpenBSD counterparts. Shared libraries should also
be installed in the shadow tree.
Generally, you will need to look for the shared libraries that iBCS2 bi-
naries depend on only the first few times that you install an iBCS2 pro-
gram on your OpenBSD system. After a while, you will have a sufficient
set of iBCS2 shared libraries on your system to be able to run newly im-
ported iBCS2 binaries without any extra work.
Setting up shared libraries
How to get to know which shared libraries iBCS2 binaries need, and where
to get them? Depending on the file type of the executable, there are dif-
ferent possibilities (when following these instructions: you will need to
be root on your OpenBSD system to do the necessary installation steps).
1. COFF binaries
You can simply copy all of the available shared libraries since they
are fairly small in size. The COFF shared libraries are typically
found in /shlib and can be obtained from the following sources:
SCO UNIX version 3.x (aka ODT)
SCO UNIX version 5.x (aka OpenServer)
SCO UnixWare
Many versions of SVR4.2/x86
After copying the shared libraries, you should have at least the
following files on your system:
/emul/ibcs2/shlib/libc_s
/emul/ibcs2/shlib/libnsl_s
/emul/ibcs2/shlib/protlib_s
2. ELF binaries
You can simply copy all of the available shared libraries from the
source system or distribution or use the `ldd-elf' program (in de-
velopment) to determine the libraries required by a specific binary.
After copying the shared libraries, you should have at least the
following files on your system:
/emul/ibcs2/usr/lib/libc.so.1
/emul/ibcs2/usr/lib/libcrypt.so
/emul/ibcs2/usr/lib/libndbm.so
/emul/ibcs2/usr/lib/libsocket.so.1
If you don't have access to a SCO system, you will need to get the extra
files you need from a SCO distribution. As of January 1998, SCO sells a
copy of SCO OpenServer (iBCS2) and/or SCO UnixWare (SVR4) for person-
al/non-commercial use for only the cost of shipping (about $20US). The
distribution comes on an ISO9660-format CDROM which can be mounted and
used to copy the necessary files.
Run the following script to copy the basic set of files from a SCO dis-
tribution directory mounted somewhere locally:
/usr/share/examples/emul/ibcs2/ibcs2-setup [directory]
You should now be set up for SCO binaries which only need standard shared
libs.
BUGS
The information about SCO distributions may become outdated.
Attempting to a use a nameserver on the local host does not currently
work due to an absurd shortcut taken by the iBCS2 network code (remember
that there are no kernel sockets).
16/32/64 bit offsets may not be handled correctly in all cases.
OpenBSD February 8, 1998 2
Source: OpenBSD 2.6 man pages. Copyright: Portions are copyrighted by BERKELEY SOFTWARE DESIGN, INC., The Regents of the University of California, Massachusetts Institute of Technology, Free Software Foundation, FreeBSD Inc., and others. |
(Corrections, notes, and links courtesy of RocketAware.com)
RocketLink!--> Man page versions:
OpenBSD
Rapid-Links:
Search | About | Comments | Submit Path: RocketAware > man pages >
compat_ibcs2.8/
RocketAware.com is a service of Mib Software Copyright 1999, Forrest J. Cavalier III. All Rights Reserved. We welcome submissions and comments
|