Computer Science


iBCS(9)                                                   iBCS(9)

NAME
       iBCS  -  loadable  module  to allow execution of other x86
       Unix binaries

SYNOPSIS
       insmod iBCS

DESCRIPTION
       The Intel Binary  Compatibility  Specification,  or  iBCS,
       specifies  the interfaces between application programs and
       the surrounding  operating  system  environment  for  i386
       based  systems. There are however several flavours of iBCS
       in use - SVR4, SVR3 plus several  vendor  specific  exten-
       sions  to SVR3 which are slightly different and incompati-
       ble. The iBCS emulator for  Linux  supports  all  flavours
       known so far and some extensions.

       With the iBCS module loaded you can run most programs com-
       piled for Intel based Unices other  than  Linux.  This  is
       completely  transparent.  All you do is run the program as
       normal.

SUPPORTED CPU ARCHITECTURES
              Intel 386/486/Pentium and compatibles

              Sparc

SUPPORTED BINARY FORMATS
              A.OUT     (used by Linux and BSD)

              ELF  (used by SVR4 flavours and SCO OS5)

              COFF (used by SVR3 flavours)

              XOUT (used by Xenix)

SUPPORTED OS EMULATIONS
              i386 BSD (386BSD, FreeBSD, NetBSD, BSDI/386) - very
              alpha.

              SVR4 (Interactive, Unixware, USL, Dell etc.)

              SVR3 generic

              SCO  (SVR3  with  extensions  for symlinks and long
              filenames)

              Wyse V/386 (SVR3 with extensions for symlinks)

              Xenix V/386 (386 small model binaries only)

              Xenix 286

SUPPORTED SUBSYSTEM EMULATIONS
              SYSV IPC

              /dev/socksys socket interface as used by the  Lach-
              man STREAMS based networking implementation.

              Wyse V/386 system call socket interface.

              /dev/spx  STREAMS device for connections to local X
              server.

              TLI devices for IP.

BUGS
       There are two many bugs. Most people will be  unlikely  to
       encounter any of them however.

       Unix  variants  with non-standard extensions which are not
       SVr4, SCO or Wyse will not  be  recognised  and  may  fail
       unexpectedly. A new personality may need to be built.

       The  recognition  of SCO and Wyse binaries is dependent on
       comment strings embedded in the binary at compile time. If
       these  strings  are  missing or not as expected the binary
       may not be recognised correctly and may fail unexpectedly.
       It  is  also possible that binaries from other systems may
       be misrecognised although  given  the  strings  used  this
       should be unlikely.

       Some  Xenix  functions  are  unimplemented,  in particular
       Xenix semaphores and shared memory.

       There is some basic support for STREAMS and  XTI/TLI  net-
       working  interfaces.   Since Linux does not use STREAMS at
       all this is something of a kludge.  It  should  be  suffi-
       cient for most programs though.

       Programs,  applications  or packages which require modules
       or device drivers to be linked in to the kernel  will  not
       work.  Linux  is  not based on SYSV code and does not have
       SYSV internals. The driver would need  rewriting  for  use
       under Linux.

FILES
       /lib/modules/`uname-r`/misc/iBCS
                           default location for the iBCS module

SEE ALSO
       insmod(1) kerneld(8) modprobe(1)

AUTHOR
       Mike Jagdis <jaggy@purplet.demon.co.uk>.

       Based on original work by Eric Youngdale, Alfred Longyear,
       Drew Sullivan, Joseph L. Portman III and others.

                            7 Nov 1995                          1

Back to the index


Apply now!


Handbook

Postgraduate study options

Computer Science Blog



Please give us your feedback or ask us a question

This message is...


My feedback or question is...


My email address is...

(Only if you need a reply)

A to Z Directory | Site map | Accessibility | Copyright | Privacy | Disclaimer | Feedback on this page