*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> compat_ibcs2 (8)              
Title
Content
Arch
Section
 

COMPAT_IBCS2(8)

Contents


NAME    [Toc]    [Back]

     compat_ibcs2 - setup for running iBCS2 binaries under emulation

DESCRIPTION    [Toc]    [Back]

     OpenBSD supports running Intel Binary Compatibility Standard
2 (iBCS2)
     binaries.  This only applies to i386 systems for now.  Binaries are supported
  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.  This option
is controlled
 by the kern.emul.ibcs2 sysctl(8).  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 desired,
 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 the shared libraries that the  program depends on
     will  also  be  needed.  Also, a "shadow root" directory for
iBCS2 binaries
     on the OpenBSD system will have to be created.  This  directory is named
     /emul/ibcs2.  Any file operations done by iBCS2 programs run
under OpenBSD
 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  iBCS2  packages
that include
     configuration  files,  etc., be installed under /emul/ibcs2,
to avoid naming
 conflicts with possible  OpenBSD  counterparts.   Shared
libraries
     should also be installed in the shadow tree.

     Generally,  it will only be necessary to look for the shared
libraries
     that iBCS2 binaries depend on the first few times iBCS2 programs are installed
 on the OpenBSD system.  After a while, there will be
a sufficient
     set of iBCS2 shared libraries on the system to  be  able  to
run newly imported
 iBCS2 binaries without any extra work.

   Setting up shared libraries    [Toc]    [Back]
     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
     different  possibilities.   (When  following  these instructions, root privileges
 are required on the OpenBSD system to perform the necessary installation
 steps).

     1. COFF binaries
          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, the following files
should be
          present on the OpenBSD system:

                /emul/ibcs2/shlib/libc_s
                /emul/ibcs2/shlib/libnsl_s
                /emul/ibcs2/shlib/protlib_s

     2. ELF binaries
          Copy  all  of  the  available shared libraries from the
source system or
          distribution, or use the `ldd-elf' program (in development) to determine
 the libraries required by a specific binary.

          After copying the shared libraries, the following files
should be
          present on the OpenBSD 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 access to an SCO system is impossible,  the  extra  files
will need to be
     obtained  from an SCO distribution.  As of January 1998, SCO
sells a copy
     of SCO OpenServer (iBCS2) and/or  SCO  UnixWare  (SVR4)  for
personal/noncommercial
  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.

BUGS    [Toc]    [Back]

     The information about SCO distributions may become outdated.

     Attempting to 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      3.6                         February     8,     1998
[ Back ]
 Similar pages
Name OS Title
compat_svr4 OpenBSD setup for running SVR4/iBCS2 binaries under emulation
compat_osf1 OpenBSD setup for running OSF/1 binaries under emulation
compat_hpux OpenBSD setup for running HP-UX binaries under emulation
compat_bsdos OpenBSD setup for running BSDI binaries under emulation
compat_linux OpenBSD setup for running Linux binaries under emulation
compat_freebsd OpenBSD setup for running FreeBSD binaries under emulation
compat_sunos OpenBSD setup for running SunOS binaries under emulation
compat_ultrix OpenBSD setup for running Ultrix binaries under emulation
compat_aout OpenBSD setup for running a.out OpenBSD binaries on ELF systems
install OpenBSD install binaries
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service