Navigation
Highlights

Release 0.0.5

The latest release, alpha testing, unstable. See "downloads".

2005-06-01

Links
Documentation

How to get the source code from CVS

This document describes the CVS repository of the FreeDOS-32 project and how to get the latest development source code from that repository.

CVS outline

This paragraph provides a very quick introduction to CVS.

We use CVS

Like many open source projects, FreeDOS-32 is developed using CVS, a version control system which stores all source files and their history. CVS lets developers to work on a common repository of files, alerting when conflicting changes are made, and allows to see any previous version of each source file.

While zipped source packages are released from time to time, our CVS repository always contains the most up-to-date source code, as we commit changes as soon as we have working features or fixes.

You can download (or, using the CVS terminology, check out) the latest development sources of FreeDOS-32 with a CVS client, using "anonymous" access.

Getting a CVS client

If you use a GNU/Linux operating system, it's very likely that a CVS client is included with your distribution. Try to run cvs from the command line to check if it is already installed. If it isn't, you should find its package in your distribution and install it. I use gcvs myself, a graphical front-end from the CVSGUI project.

If you use DOS or Windows, you can download a command line CVS client from the DJGPP resource site (choose one mirror from the "Getting DJGPP" section and search for cvs*b.zip in the v2gnu ftp directory). You can also download WinCVS, the CVSGUI's graphical front-end for the Windows platform.

The FreeDOS-32 repository

The FreeDOS-32 source code is splitted in several CVS modules. Each CVS module is a directory of the main CVS repository, and can be downloaded separately.

The following CVS modules are available at the moment (all in lower case):

namedescription
fd32 main CVS module, containing the kernel and modules to add functionality to the kernel
oslib our fork of the code of the OSLib low level free library
tests some test programs and modules currently under testing
fd32log the FD32 log file writer, see the downloads page
graphics the VESA2 Graphics Library and the support code to manage bitmap images and fonts
leanfs a generic (not strictly FD32-related) implementation of a LEAN file system driver

OSLib is not actually part of FreeDOS-32. It is a low level library, released under GNU GPL, to help develop operating systems. We are maintaining our own fork of its source code according to the needs of our projects.

Downloading using CVS commands

Here are the instructions to check out the FreeDOS-32 source code from CVS, using the command line cvs client, at the command prompt. You are free to check out any CVS module you want, but to have something to start to play with, you should grab at least fd32 and oslib.

First you have to create a local directory to store the downloaded source files, and change to that directory (the cvs client stores source files in the current directory). If under DOS/Windows, make sure the directory containing the cvs.exe program file is in your path.

Type the following command to check out a CVS module (of course, type it in a single command line, even if the following text may wrap to new line), replacing <name> with the name of the CVS module you want to get (see above for a list of valid names):

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co <name>

When finished, for each CVS module checked out, a directory named after the CVS module will be created in your current directory. You should download all CVS modules in the same parent directory, since each module may require features of the others. It should be possible to put each CVS module directory wherever you like, setting some environment variables to specify their locations, but this is currently neither documented nor tested.

Using anonymous access you can only download files from CVS, but you don't have write access: only those designated as developers do. If you have patches or bug reports, please contact us, either using the trackers in our SourceForge.net project page, or writing to the developers' mailing list (list members only).

If you are in a hurry

If you are in a hurry to try the latest development source code, here is the scratch listing of what you need to type at the command prompt to checkout and compile the FreeDOS-32 kernel and modules. Of course, type each item in a single command line, even if the following text may wrap to new line.

For more details on the compilation process, please read How to compile FreeDOS-32.

GNU/Linux (with native gcc)
Create a directory, change to that directory and type the following.
  • cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co fd32
  • cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co oslib
  • cd fd32
  • cp mk/linux.mk config.mk
  • make
DOS (using DJGPP)
Create a directory, change to that directory and type the following.
  • cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co fd32
  • cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co oslib
  • cd fd32
  • copy mk\djgpp.mk config.mk
  • make
Windows (using MinGW and maybe Cygwin)
Create a directory, change to that directory and type the following.
  • cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co fd32
  • cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co oslib
  • cd fd32
  • copy mk\mingw.mk config.mk
  • make