FreeDOS 1.1 default shell, FreeCOM
|Developer||Jim Hall & The FreeDOS team|
|Source model||Open source|
|Initial release||12 January 1998|
|Latest release||1.1 / 2 January 2012|
|Available in||English, German|
|Kernel type||Monolithic kernel|
|Default user interface||DOS command line interface|
|License||GPL with various different licenses for utilities|
FreeDOS (formerly Free-DOS and PD-DOS) is a free operating system for IBM PC compatible computers. It intends to provide a complete DOS-compatible environment for running legacy software and supporting embedded systems.
Unlike MS-DOS, FreeDOS is composed of free and open source software, licensed under the terms of the GNU General Public License. Therefore, its base distribution does not require license fees or royalties and creation of custom distributions is permitted. However, other packages which form part of the FreeDOS project include non-GPL software considered worth preserving, such as 4DOS, which is distributed under a modified MIT license.
- History 1
- Commercial uses 2.1
- Non-commercial uses 2.2
- MS-DOS and Win32 console 3.1
- DOS-based Windows 3.2
- Windows NT and ReactOS 3.3
- File systems 3.4
- Universal Serial Bus 3.5
- Features 4
Technical details 5
- Booting 5.1
- Memory management 5.2
- See also 6
- References 7
- External links 8
The FreeDOS project began 29 June 1994, after Microsoft announced it would no longer sell or support MS-DOS. Jim Hall then posted a manifesto proposing the development of an open-source replacement. Within a few weeks, other programmers including Pat Villani and Tim Norman joined the project. Between them, a kernel (by Villani), the COMMAND.COM command line interpreter (by Villani and Norman), and core utilities (by Hall) were created by pooling code they had written or found available. There have been several official pre-release distributions of FreeDOS before the final FreeDOS 1.0 distribution. GNU/DOS, an unofficial distribution of FreeDOS, was discontinued after version 1.0 was released.
FreeDOS 1.1, released on 2 January 2012, is available for download as a CD-ROM image: a limited install disc that only contains the kernel and basic applications, and a full disc that contains many more applications (games, networking, development, etc.), not available as of November 2011 but with a newer, fuller 1.2 version planned "soon". The older, fuller version 1.0 (2006) had two LiveCD discs with source code, but that has not been available recently due to lack of maintenance.
FreeDOS is used by several companies:
- Dell includes FreeDOS with their n-series desktops. The firm has been criticized for making these machines no cheaper, and harder to buy than identical systems with Windows. In addition, Dell often only offers FreeDOS systems with features such as dual-core processors, which FreeDOS cannot use (although theoretically a DOS extender could).
- HP provides FreeDOS as an option in its dc5750 desktops, Mini 5101 netbooks and Probook laptops. FreeDOS is also used to create bootable media for updating the BIOS firmware.
- ASUS uses FreeDOS to let users boot their motherboard driver CDs to create the SATA device driver disk (needed for Windows versions before XP SP2).
- GRC's SpinRite 6, a hard drive maintenance and recovery program, includes FreeDOS.
- Seagate's SeaTools for DOS loads the FreeDOS kernel.
- Intel's Solid-State Drive Firmware Update Tool loads the FreeDOS kernel.
- Avira supported a FreeDOS boot disk in their free for private use NTFS4DOS (now retired).
FreeDOS is also used in multiple independent projects:
- FUZOMA is a FreeDOS-based distribution that can boot from a floppy disk and converts older computers into educational tools for children.
- FED-UP is the Floppy Enhanced DivX Universal Player.
|FreeDOS Version History|
|0.05||ALPHA||None||12 January 1998|
|0.1||BETA||Orlando||25 March 1998|
|0.2||BETA||Marvin||28 October 1998|
|0.3||BETA||Ventura||21 April 1999|
|0.4||BETA||Lemur||9 April 2000|
|0.5||BETA||Lara||10 August 2000|
|0.6||BETA||Midnite||18 March 2001|
|0.7||BETA||Spears||7 September 2001|
|0.8||BETA||Nikita||7 April 2002|
|0.9rc2||BETA||None||23 August 2003|
|0.9rc3||BETA||None||27 September 2003|
|0.9rc4||BETA||None||5 February 2004|
|0.9rc5||BETA||None||20 March 2004|
|0.9||BETA||None||28 September 2004|
|0.9sr1||BETA||None||30 November 2004|
|0.9sr2||BETA||None||30 November 2005|
|1.0||FINAL||None||3 September 2006|
|1.1||FINAL||None||2 January 2012|
MS-DOS and Win32 console
FreeDOS is mostly compatible with MS-DOS. It supports .COM executables, standard DOS executables and Borland's 16-bit DPMI executables. It is also possible to run 32-bit DPMI executables using DOS extenders. The operating system has several improvements relative to MS-DOS, mostly involving support of newer standards and technologies that did not exist when Microsoft ended support for MS-DOS, such as internationalization, Advanced Power Management TSRs, etc. Furthermore, with use of HX DOS Extender, many Win32 console applications function properly in FreeDOS, as do some rare GUI programs, like QEMU and Bochs.
FreeDOS is able to run Microsoft Windows 1.0 and 2.0 releases. Windows 3.x releases, which had support for i386 processors, can not fully be run in 386 Enhanced Mode except partially in experimental kernel 2037. Undocumented structures used by Windows make the DOS box unreliable.
Problems running Windows result from Microsoft's efforts to prevent their products running on non-Microsoft DOS implementations.
Windows 95, 98 and Me use a stripped down version of MS-DOS. FreeDOS cannot be used as a replacement because of undocumented interfaces between MS-DOS 7.0-8.0 and Windows 4.xx not emulated by FreeDOS; however, it can be installed and used beside these systems using a boot manager program, such as BOOTMGR or METAKERN included with FreeDOS.
Windows NT and ReactOS
Windows NT-based operating systems, including Windows 2000, XP, 2003, Vista, 2008, 7 and 2008 R2 do not make use of MS-DOS as a core component of the system. These systems can make use of the FAT file systems, which are used by MS-DOS and earlier versions of Windows; however, they typically use the NTFS (NT File System) by default for security and other reasons. FreeDOS can co-exist on these systems on a separate partition or on the same partition on FAT systems. The FreeDOS kernel can be booted by adding it to the Windows NT Boot Loader 2K/XP's configuration file, boot.ini, or freeldr.ini for ReactOS.
FAT32 is fully supported and used as boot drive. Depending on the BIOS used, up to four LBA hard disks up to 128 GB, or 2 TB, in size are supported. There has been little testing with large disks, and some BIOSes support LBA but produce errors on disks larger than 32 GB; a driver such as OnTrack or EZ-Drive resolves this problem. FreeDOS can also be used with a driver called DOSLFN, which supports long file names (see VFAT), but most old programs before Win95 do not support LFNs even with driver loaded unless they have been recompiled. There is no planned support for NTFS or ext2 or exFAT, but there are several external third-party drivers available for that purpose. To access ext2fs, LTOOLS (counterpart to MTOOLS) can sometimes be used to copy data to and from ext2fs drives. NTFS support is partially provided by software such as NTFSDOS and NTFS4DOS.
Universal Serial Bus
As of 2011 there was no USB driver support inside the FreeDOS kernel, but many modern motherboards contain BIOS settings for "Legacy USB" support which allow USB devices to be used in operating systems that lack support for them. This applies to keyboards and mice; some BIOSes also support storage devices. Some external DOS USB drivers (such as Bret's USBDOS/UHCI, DUSE, USBASPI and USBMASS) for storage devices work with some effort. There is also DOSUSB which offers an API and supports storage devices, printers and serial adapters. An alternative to running DOS programs with USB devices is to use emulation software, such as DOSBox, which recognizes USB devices from the host operating system to act as if they were "legacy port" devices (e.g. joysticks with game ports, printers with parallel ports, and USB flash drives would act as if they were a hard drive for DOS).
- Easy multiboot with Windows 9x and NT
- FAT32 file system and large disk support (LBA)
- Long filename support via DOSLFN (or similar) driver
- UIDE — Ultra DMA driver for hard discs and CD/DVD players and disk cache
- LBACACHE — disk cache
Memory Managers: FDXMS286, HIMEMX, JEMM386 (XMS, EMS, etc.)
- Possibility of writing 32-bit protected mode drivers (JLMs=Jemm Loadable Module)
- SHSUCDX (MSCDEX replacement)
- CUTEMOUSE — Mouse driver with scroll wheel support (e.g. Hexen 2)
- FDAPM — APM info/control/suspend/poweroff, ACPI throttle, HLT energy saving
- MPXPLAY — media player for mp3, ogg, wmv, with built-in AC'97 and SB16 drivers; has a user interface
- 7ZIP, INFO-ZIP, zip, unzip — modern archivers
- EDIT / TDE / SETEDIT — multi window text editors
- HTMLHELP — standard util help viewer, can read help directly from .ZIP
- PG — powerful text viewer (similar to V. D. Buerg's LIST)
- Many text mode programs ported from Linux, thanks to DJGPP
- FreeCOM — command line, supports file completion
- 4DOS can be installed, which is an enhanced command line
- GRAPHICS — greyscale hardcopy on ESC/P, HP PCL and PostScript printers
- Arachne — (HTML 4 subset) graphical web browser, e-mail client
- FDNPKG — package manager and online updater
- BitTorrent client
- FDAV / 
FreeDOS can be booted from a hard drive, live CD, USB flash drive or floppy disk. It can also be run using virtualization software like Virtual PC and VirtualBox or x86 emulation software like Bochs and QEMU. To use the Windows Boot Menu the following line can be added to 2K/XP's
title FreeDOS # Anything you want root hd(x,y) # x = device and y = partition on which FreeDOS resides chainloader /kernel.sys # Boots FreeDOS's bootloader
linux16 (hd0,msdos3)/usr/lib/syslinux/memdisk initrd16 (hd0,msdos3)/home/user/fdboot.img
The FreeCOM shell, FreeDOS's version of COMMAND.COM, can move portions of itself into extended memory freeing up large portions of conventional memory, up to 620 kB. This is useful for old DOS programs which only use conventional memory. The HIMEM and EMM386 memory management programs included with FreeDOS provide extended memory (XMS) and expanded memory (EMS) for old real mode software, EMM386 also supports VCPI, which allows DPMI hosts and DOS extenders to co-exist within V86 mode. FreeDOS also contains an Ultra DMA driver and cache (UIDE) for faster disk access, which is also compatible with other DOS versions. The disk cache stores recently accessed disk data in XMS for faster access and less direct disk access.
- Arachne — A DOS-based browser included with FreeDOS
- Windows Command Prompt
- 090911 sourceforge.net
- Official website
- FreeDOS Homepage (SourceForge)
- FD-DOC FreeDOS Documentation Project
- Official Download - FreeDOS 1.0
- Summary of FreeDOS Commands
- FreeDOS help (commands and usage)
- Virtual Machine in Java with FreeDOS
- How to Create a BootableFreeDOS Floppy Disk
- FreeDOS bootdisk with several DOS utilities
- FreeDOS USB Boot Image
- Install FreeDOS without any removable media.
- Virtual Machine for Microsoft Virtual PC 2007 with FreeDOS 1.0 O.S. (Spanish)