2000-05-06 21:34:20 +02:00
|
|
|
To build the operating system, a batch file (BUILD.BAT) is included
|
|
|
|
to make life easier. This file is in the FDKERNEL directory of the
|
|
|
|
distribution. In addition, there is a corresponding batch file
|
|
|
|
(CLEAN.BAT) to clean up the source directories.
|
|
|
|
|
|
|
|
There is a CONFIG.M file that specifies all the paths and names of
|
|
|
|
the compiler, assembler, etc. that you want to use. You MUST copy
|
|
|
|
it to CONFIG.MAK first, then edit it to reflect your setup.
|
|
|
|
|
|
|
|
Likewise, there is a CONFIG.B file that should be copied to
|
|
|
|
CONFIG.BAT, and then edited to reflect your setup.
|
|
|
|
|
|
|
|
The reason for this copying of files is that when new releases of the
|
|
|
|
kernel come out, you can extract them over your previous source, and
|
|
|
|
not have to worry about resetting up your configuration because your
|
|
|
|
CONFIG.BAT and CONFIG.MAK files will not get replaced!
|
|
|
|
|
|
|
|
You will also need to download the latest version of NASM (a mirror
|
|
|
|
is at ftp://ftp.gcfl.net/freedos/nasm) and Turbo C 2.01 (a mirror is
|
|
|
|
at ftp://ftp.gcfl.net/freedos/tools/borland/tc201.zip). Install
|
|
|
|
Turbo C and NASM somewhere (it doesn't really matter where) and then
|
|
|
|
be sure to edit the CONFIG.MAK file to reflect where you put the
|
|
|
|
tools.
|
|
|
|
|
|
|
|
This program will now compile with Turbo C 2.01 (now freely
|
|
|
|
available!), Turbo C 3.0, Borland C 4.51 & 5.01. It should work with
|
|
|
|
other Borland compilers as well.
|
|
|
|
|
|
|
|
If you feel hardy, read on to understand the directory structure. A
|
|
|
|
more complete description of the build environment is contained in a
|
|
|
|
companion book, "The FreeDOS Kernel" (ISBN: 0-87930-436-7) published
|
|
|
|
by R&D Books, an imprint of Miller Freeman of Lawrence, Kansas (USA)
|
|
|
|
and distributed in the USA and Canada by Publishers Group West. See
|
|
|
|
the file README.TXT for more details.
|
|
|
|
|
|
|
|
|
|
|
|
Directory Structure
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
fdkernel root directory
|
|
|
|
+-----bin holds image of distribution disk
|
|
|
|
+-----boot boot.bin (boot sector)
|
|
|
|
+-----docs documentation directory
|
|
|
|
+-----drivers DEVICE.LIB
|
|
|
|
+-----hdr common *.h files
|
|
|
|
+-----kernel The kernel itself
|
|
|
|
+-----lib LIBM.LIB and DEVICE.LIB
|
|
|
|
+-----sys SYS.COM and supporting programs
|
|
|
|
+-----utils Miscellaneous utilities
|
|
|
|
|
|
|
|
|
|
|
|
Organization in a nutshell
|
|
|
|
--------------------------
|
|
|
|
Each component or group of utilities is segregated into its own
|
|
|
|
directory. In order to build that component or utility, a makefile
|
|
|
|
exists in the directory that bears the component's or utility's
|
|
|
|
basename.
|
|
|
|
|
|
|
|
Each makefile has at least two targets, production and clean. The
|
|
|
|
target production builds the expected component or utility and the
|
|
|
|
component clean cleans up the directory for distribution. The
|
|
|
|
makefile may have at least one additional target that builds the
|
|
|
|
component. Study the makefile to better understand this.
|
|
|
|
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
|
|
|
|
$Id$
|
|
|
|
|
|
|
|
$Log$
|
2000-05-08 06:30:00 +02:00
|
|
|
Revision 1.2 2000/05/08 04:27:48 jimtabor
|
|
|
|
Update CVS to 2020
|
2000-05-06 21:34:20 +02:00
|
|
|
|
|
|
|
Revision 1.2 1999/08/25 04:12:31 jprice
|
|
|
|
update
|
|
|
|
|
|
|
|
Revision 1.1 1999/08/25 03:46:41 jprice
|
|
|
|
New build config
|
|
|
|
|