How to get the source code from CVS
Last update: 2005-07-25
Copyright © 2005 Salvatore Isaja
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included by reference.
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):
| name | description |
|---|---|
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.
Create a directory, change to that directory and type the following.
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co fd32cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co oslibcd fd32cp mk/linux.mk config.mkmake
Create a directory, change to that directory and type the following.
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co fd32cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co oslibcd fd32copy mk\djgpp.mk config.mkmake
Create a directory, change to that directory and type the following.
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co fd32cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/freedos-32 co oslibcd fd32copy mk\mingw.mk config.mkmake