summaryrefslogtreecommitdiff
path: root/README
blob: 47cfa57c5ad25811a9849469b3a48181862c1a6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
This is a development environment for ELKS-86

To install the basic environment you have to do make install as root
Or:

$ make bcc
$ su -c "make install-bcc"
$ make library
$ su -c "make install-lib"
$ make elksemu
$ su -c "make install-emu"

All from the top directory.
Once this is done new files will be /lib/elksemu, /usr/bcc/* and /usr/bin/bcc

The manual pages in the man subdirectory are a start as some pages matched
to these programs, there are also some hints for using as86 well.
The tests and bootblocks directories give some example code.

The bcc command defaults to using /usr/bcc/include and /usr/bcc/lib the
libraries _and_ include files are compied to these locations by install.

After this you may want to install the other libraries, 'fast', 'MSDOS',
'standalone' and Linux-i386.
$ su -c "make install-lib"

Use these libraries like this:
   'FAST'    	$ bcc -Mf prog.c -o prog
   MSDOS	$ bcc -Md prog.c -o prog.com
   Standalone	$ bcc -Ms prog.c -o prog.sys
   Minix 386	$ bcc -3  prog.c -o prog
   Linux-i386	$ bcc -3 -N prog.c -o prog

The Linux-i386 version generates static Linux a.out programs, they need
neither elksemu nor a.out shared libries to run. If you want you can
convert them to an odd ELF executable with:
    $ bcc -N -3 prog.c -o prog
    $ objcopy -O elf32-i386 prog

The as86 and ld86 with this are _different_ from the ones needed for the
linux-i386 kernel but can replace them, the kernel-i386 ones _will_ _not_
work correctly here!

Unfortunatly, the DOSEMU folks have been using the '-r' option of ld86
This version does accept '-r' but it generates _LINUX_ a.out object files.
I think they should really be using 'as86_encap'.

To compile the various tools as Linux-8086 binaries cd into the relevent
directory and do a "make clean ; make" from there.
Bcc _WILL_ now work this way! Yippee! :-)

I _strongly_ suggest you install the kernel patch or load the module in
the elksemu directory in your Linux-i386 kernel, it makes things _much_
easier.

-Rob.