head	1.1;
access;
symbols
	dws_pl15i:1.1
	cluster_15h:1.1
	dws_pl15h_ibcs:1.1;
locks; strict;
comment	@# @;


1.1
date	94.02.26.22.07.02;	author dws;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Added iBCS emulation support.
@
text
@$Id: HOWTO,v 1.1.1.2 1994/02/23 17:22:39 mike Exp $
$Source: /var/CVS/ibcs/HOWTO,v $

LICENSE (well, sort of . . . .)

This is development level code. It is assumed that you received this code
in good faith and that you will honor the trust placed in you by the
developers. Specifically, please do no reveal the location to the development
code to usenet (newsgroups).

Do not post problems anywhere except the mailing list. Problems about this code
will not be answered if they are received by any other means.

By using this code, you understand and agree that the code has flaws. Programs
which you run under this code should not be __trusted__ to operate properly.
This code has been known to crash the kernel, lock it up, and otherwise 
require a general reset of the computer; resulting in the loss of all work
in progress in other screen groups. (We won't assume responsibility if you
trash your disk because the emulator crashes. Backups are a good thing.)

When the code is ready for release, it will be folded into the released
kernel. At that time, everyone who gets Linux's kernel will get this code.
It will not be a separate piece of software.

If you find this to be un-acceptable then you should wait for the general
release.



MAILING LIST

Since you had previously joined the mailing list to find the location of the
development code, this is only documetated for the sake of being complete.

The mail list for this project is located at:  linux-activists@@joker.cs.hut.fi.
Please send all messages to this location. Either include in the header
or as the first line of the message the following:

X-Mn-Key: IBSC2

[Note, the mail list name is being changed to IBCS2. If the IBSC2 location does
not work, then use the new name of IBCS2.]



GENERAL

This directory contains the iBCS emulator. The iBCS emulator, or Intel
Binary Compatibility Specification, will allow programs written for other
iBCS systems such as SCO and [sic.] Coherent to work under Linux.

This code is under development. (The last three changes were one day
apart. Not even Linus updated code so quickly. :-) If you use the code then
you must accept the fact that it is subject to major revision.

You are welcome to run the code. We do need testers. However, to be a good
tester, you should be like the pilot of a test aircraft. That is you need
to keep good notes as to what you did; your configuration; and what the
results you received. Please try to reduce this as much as possible. (A
memory dump of your SCO Oracle database run is of not much use without the
ability to re-create situation. Try to isolate the problem to as small of
a test case as possible.)

Please see the ToDo list included with the package. It will change over
time as functionality is added and new requirements are determined. We can
use any help that your talents may be employed.

Any change to the iBCS emulator must be sent to Drew Sullivan
<drew@@lethe.north.net>. He will coordinate the changes and update the master
copy of the code. You may post the diff patches to the mail list or send it
directly to Drew via Email. Either way, Drew will receive a copy. Please do
not post the article to the list _and_ cc Drew as he will receive two
copies.



INSTALLATION

1. You should tar extract this file into the directory /linux/ibcs. If
you have done this to a separate directory then please move the directory
to /linux/ibcs. This file should then be called /linux/ibcs/HOWTO.


2. Create a symbolic link in /usr/include

ln -s /linux/ibcs /usr/include/ibcs


3. Apply the patches to the kernel (if any supplied).

patch -p0 < kernel.patch


4. Make the kernel. If you have answered 'y' to the iBCS support question
during the 'make config' for the kernel the iBCS emulator will be linked
to the kernel. If you answered 'n' then the kernel will be built with
hooks for the iBCS loadable module to attach itself and the iBCS loadable
module will be created in the ibcs directory. It is recommended that you
get the modutils tools and use the loadable module rather than linking
to the kernel.

Instructions on how to make the kernel are include in the /linux/README
file.

5. Install the kernel. Use either LILO or a separate diskette.

6. Boot that version of the kernel.

7. If you are using the loadable module version of the iBCS emulator
load it using 'insmod iBCS'.

8. Run the SCO or iBCS2 programs.



UTILITIES

The emulator has the ability to trace the events which it processes. The
program to enable the tracing funcition is contained in the Tools directory.

To make the trace utility, go to the Tools directory and enter the command:

cc -N -o trace -fomit-frame-pointer trace.c

To use the program, enter the command:

trace 1     to enable the trace function or
trace 0     to disable the trace function.

The result code from the program is the previous setting of the trace event.
This is probably of no use to anyone who is not writing a script, but that
is the meaning of the result code if you are curious.



LIBRARIES

The shared libraries are on the list of ToDo. The libc file is being
developed by Eric Youndale and me. At the present time, the only way that
you can use applications which use a shared library is to include the
shared library from your iBCS system on Linux.

The shared libraries are stored in the directory

/shlib

The libraries are:

libc_s   - standard C runtime library.
libns_s  - network services library.
libx11_s - X windows library

Additional libraries may be available on your system. They may be called
SCOlibc_s or some similar name. Those libraries will not be available for
Linux. They are specific to the SCO system. It is probably not much of
concern as the three libraries listed above are the only ones which are
specified in iBCS specification.



LIMITATIONS

Until the network services shared library is implemented, the network
programs probably will not work.

Until the X library is implemented, any X windows application _will_not_work_
on this system. Even if you use the SCO system's version, there is no hope
of getting it to work under Linux.



REFERENCES

The Intel Binary Compatibility Specification, version 2 is described in
the "McGraw Hill book".

Intel Binary Compatibility Specification
McGraw-Hill, Inc.
1221 Avenue of the Americas
New York, NY 10020
ISBN 0-07-031219-2

(When I purchased the book around August '93, it cost $40US.)


AUTHOR

Please direct all flames, love letters, comments, corrections, etc. to this
"document" to Al Longyear (longyear@@sii.com). [I am the "I" and "me".]

--
Al Longyear              longyear@@netcom.com           longyear@@sii.com
@
