Linux Support for Non-Linux Programs

Porting without the Port


 

Contents

 

Introduction

What is iBCS?

iBCS is the Intel Binary Compatibility Standard - a standard that emerged during the long and illustrious development of UNIX (then Unix) on Intel based machines. This standard specifies the system call interface between the kernel and application programs and was intended to allow binaries compiled on one Intel based UNIX to run on another. Over time vendors extended their versions of UNIX but not the iBCS standard. Of course, this resulted in ever growing binary incompatibility again but, as the marketing saying goes, there clearly wasn't market demand for it :-).

What is iBCS for Linux?

The iBCS module for Linux is not an implementation of the iBCS standard. Rather it is a composite implementation of all the known variants of the original iBCS standard in use on Intel based UNIX implementations.

The iBCS module for Linux is not, strictly, an emulator. Rather it extends the Linux kernel by adding a number of "personalities" which implement the interfaces and functionality expected by binaries compiled for other Intel based UNIX implementations.

Support of binaries compiled for SVR4, SVR3, Xenix and BSD is provided with the iBCS module handling the non-standard extensions made by various vendors in a completely transparent fashion on a per process basis. This allows your applications from a SCO based PC to run side by side with those from a multiprocessor Wyse system on your Linux PC. N.B. It is, of course, the user's responsibility to ensure that any licensing requirements of your existing packages are adhered to.

Technical Capabilities

Supported CPU Architectures

[1] This includes Cyrix, AMD, WinChip etc. where they are normally capable of running the Linux i386 kernel.

Supported Binary Formats

Supported OS Emulations

[1] The BSD support was done a proof of concept and has not been maintained for several years. There are more enquiries about 286 Xenix support.

[2] Many of the SVR3 and even SVR4 flavours of Unix are no longer available. In the case of Wyse V/386 not only is the OS no longer available but Wyse pulled out of the systems market as well. Often older flavours of Unix, SVR3 in particular, had incompatible extensions to support things like symlinks and networking. Linux+iBCS understands these extensions and will let you upgrade your oldest legacy applications to state of the art systems painlessly.

Supported Subsystem Emulations

Availability

FTP: tsx-11.mit.edu:/pub/linux/BETA/ibcs2 and mirrors

Licensing and Pricing

The iBCS module costs you nothing. Install it on as many machines as you like. There is no small print to read and no lawyers will pursue you for license infringement (of the iBCS module).

If, on the other hand, you simply do not believe that anything good is free then the cost is £99 per machine you run the emulator on. Send this money to any iBCS developer (or developers) of your choice who I am sure will make good use of it. Alternatively you may send the money direct to the charity of your choice or use it any other way that will benefit society (or not - your choice).

Supporting operating systems and applications which I don't have running is difficult to say the least. Donations of OS flavours (ideally with development system), applications and hardware is particularly welcome.

Support

There should be nothing in the emulator to support, however if you have questions feel free to ask the developers. If you think you have found a bug in the emulator you can employ anyone you like (including me!) to fix the problem at any price you agree. It would be appreciated if you send the patch to jaggy@purplet.demon.co.uk so it is incorporated in future releases.

If you feel you cannot live without paying money regularly to someone on the off chance you may wish to ask them a question sometime then contact the developers who will be happy to discuss how much you should send them.

A list of people who are believed to have contributed to the iBCS emulator is contained in the CREDITS file in the main distribution.

Application Validation

In general the application vendor will be better placed to test their applications on iBCS/Linux as they will have the knowledge and test procedures to fully exercise the product. If you really do not wish to install a Linux PC and run your application yourself you will find that there are plenty of people interested in being paid to use your software for a change. Some applications that people have used successfully are listed in the COMPAT file of the main distribution. This is however a very small ad hoc subset of applications which work or once worked.