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.B file that specifies all the paths and names of the compiler, assembler, etc. that you want to use. You MUST copy it to CONFIG.BAT first, then edit it 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 file will not get replaced! You will also need to download the latest version of NASM and Turbo C 2.01. 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. *TE******* Make sure to use the NASMR version, as the DosExtender version _seems_ to produce wrong code. the tested version is NASM98R, 06/04/99, 202.606 bytes. *Bart***** This is probably only true for Windows NT/2k/XP; In that case you could use the Win32 version anyway. Look at ftp://ftp.kernel.org/pub/software/devel/nasm or a mirror of ftp.kernel.org. This kernel 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, Microsoft C and Watcom C. The Watcom C 11.0c beta compiler for DOS can now be downloaded at www.openwatcom.org: you need at least the following zips from ftp://ftp.openwatcom.org/watcom/zips/ core_all - Core binaries (All hosts) clib_hdr - C runtime library header files clib_a16 - C runtime libraries (16-bit all targets) clib_d16 - C runtime libraries (16-bit DOS) core_binw - Core binaries (DOS host) c_binw - C compiler (DOS host) Replace binw by binnt for an NT host or binp for an OS/2 host. The host needs to be a 386+ with at least 8MB of memory. 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$