Navigation
Highlights

Release 0.0.5

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

2005-06-01

Links
Documentation

Release info for 0.0.5

At the time of writing, the latest release is 0.0.5 (alpha testing, unstable), date 2005-06-01.

The updated release notes of the latest release are available here.

Content of the floppy image

FreeDOS-32 release 0.0.5 features improved support for applications, and a new ATA/ATAPI driver for native disk access (no more need for BIOS). The file system part has been rearranged for better modularity, and it is now using a new Unicode support library and NLS manager. Please report any problem found in this release, and please check if the problem was present in 0.0.4 too.

In the next release we plan to include the following features currently under development: an ATAPI CD-ROM driver, an ISO 9660 file system driver (for CD-ROMs), an improved brand new FAT driver, a LEAN file system driver, and better support for applications.

At present all FreeDOS-32 releases are alpha releases for testing purposes, and may contain serious bugs that may corrupt your data. Test at your own risk.

The following table shows the content of the floppy image:

namedescription / link
fd32/contains the FreeDOS-32 kernel and modules
grub/contains the GNU GRUB bootloader, web site
attrib2.coma FD32 native "attrib" utility written by Nils Labugt
autoexec.batused if you start FreeDOS
command.comthe FreeDOS shell (FreeCom) not for use in FreeDOS-32, web site
command.exea command.com replacement by Centroid Corp., original package
fte.exethe FTE text editor, the 20050108 release compiled by Hanzac Chen, web site
gofd32.bata sample batch file to start FreeDOS-32 using x.exe
kernel.systhe FreeDOS kernel, web site
ls.exethe "ls" command from GNU fileutils, binary (1.7 MiB), source (2.2 MiB)
wintest.exe"hello world" program to test the Win32 functionality
wrapper.comuse to load executables in a segmented memory space (see below)
x.exethe OSLib eXtender to start FreeDOS-32 from the real mode DOS, web site

How to test

Either use the floppy image directly with an emulator, such as Bochs, or copy the floppy image on a real disk and boot your system with it.

Warning: Due to possible critical bugs in FreeDOS-32, if you test on real hardware (not in an emulator), you may want to use a hard disk containing no valuable data, detaching any other disks.

The GNU GRUB bootloader takes care of the boot process. It will show a menu where you can choose one of the following options. All options but the first one boot the FreeDOS-32 kernel, with a particular combination of modules and/or test programs.

1. FreeDOS

Boots the real mode FreeDOS kernel and shell (FreeCom). You can start FreeDOS-32 from FreeDOS using the x.exe eXtender, as with the gofd32.bat batch file.

2. FD32 + command (floppy only)

Loads the kernel, the native floppy driver, the clock driver, the Unicode and NLS modules, the FAT driver, the PS/2 mouse driver, the keyboard driver, the console driver, the DPMI driver and the command.com replacement by Centroid Corp. Only floppy access is enabled. You can try some internal commands at the command prompt and start applications using the wrapper (see below). The shell itself need not to be loaded through the wrapper because it is currently linked at a high, unused, base address (300000h), but this will not be the case in the future.

3. FD32 + command (biosdisk)

Like 2, but the BIOSDisk disk driver is loaded instead of the native floppy driver. This will enable hard disk access (use at your own risk!). Floppy and hard disk access is achieved by calling the ROM BIOS (INT 13h).

4. FD32 + command (floppy + ata)

Like 2, but both the floppy driver and the ATA driver are loaded. This will enable hard disk access (use at your own risk!). The ATA driver provides native access to IDE disks, currently using PIO mode.

4. FD32 + Win32 test

Like 2, but the wintest.exe Windows console test program is loaded. You can't do much with that option... if you can read "hello world", it works. This uses the winb module, providing an implementation of Win32 system calls.

5. FD32 + command (through wrapper)

Like 2, but the command.com replacement is loaded through the wrapper, a module to load executables in a segmented memory space. At present, it may take much longer to load due to a file system issue (see below).

How to start programs

At present you cannot start programs from the command line directly. This is because FreeDOS-32 uses a flat memory model, with no segments, while DJGPP executables (such as the included fte.exe or ls.exe) expect a segmented memory model (see FAQ 2.5).

An exception is the attrib2.com program, that can be started directly as it is a native FreeDOS-32 application (don't be confused by the "com" extension, it's just a trick to let the shell execute it).

The wrapper (that is wrapper.com, same as above regarding the "com" extension) is a FreeDOS-32 native application that loads an executable in a segmented memory space. Hence, to run a program from the command line, you have to run it through the wrapper. Let's say you started the boot option 2, and you want to start ls.exe from the command prompt. Then use (please note that an absolute path must be used as an argument):

A:\>wrapper a:\ls.exe

You can also pass parameters to the executed programs. For example, the FTE text editor will not work if you don't run it with the -C parameter:

A:\>wrapper a:\fte.exe -C

or you may want to change the format of the directory listing from "ls" using:

A:\>wrapper a:\ls.exe -l --colors

Known issues

  • Should you get an ABORT 64 error, please refer to FAQ 2.4.
  • Character devices, such as con, are not supported yet. Thus, commands like copy con foobar.txt will not work.
  • Disk access can be very slow on a slow computer (including emulators). A new version of the FAT driver with improved access facilities is in development.
  • When running the command.com replacement the cursor shape is wrong.
  • When running in the Bochs emulator using BIOSDisk, you may get up to three BIOS panics the first time you try to access the floppy. As far as we know, this is a Bochs bug. Just say "continue" at each panic to continue normally.
  • Other issues may be listed in our bug tracker.

Issues present in the release but fixed in the CVS:

  • creating directories does not work
  • the PS/2 mouse driver does not work when a mouse is not connected

Reporting bugs

After trying the release and playing with it, please use our bug tracker to report any problem, one report per issue. If you don't have a SourceForge.net account, please write your e-mail address too, so that we can contact you.

Please check the known issues first, and, when testing an application, whether the application behaves correctly when not run on FreeDOS-32 or it is an issue with the application instead. Check if the bug is reproducible and try to give us the smallest example to reproduce the problem.

If you could do some debugging and/or prepare some patches for the reported bugs, that would be very helpful. Just ask in the developers' mailing list before starting to hack, because we can have some useful information.