FreeDOS

FreeDOS

FreeDOS 1.1 default shell, FreeCOM
Developer Jim Hall & The FreeDOS team
OS family DOS
Working state Current
Source model Open source[1] with some closed source utilities[2]
Initial release 12 January 1998
Latest release 1.1 / 2 January 2012
Available in English, German
Platforms x86
Kernel type Monolithic kernel[3]
Default user interface DOS command line interface
License GPL[1] with some proprietary, freeware utilities[2]
Official website www.freedos.org

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.[4]

Unlike MS-DOS, FreeDOS is composed of free and open source software, licensed under the terms of the GNU General Public License.[1] 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.[5]

History

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.[6] 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.[7][8] There have been several official pre-release distributions of FreeDOS before the final FreeDOS 1.0 distribution.[9] GNU/DOS, an unofficial distribution of FreeDOS, was discontinued after version 1.0 was released.[10][11]

Distribution

FreeDOS 1.1, released on 2 January 2012,[12] 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".[13] 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.[13]

Commercial uses

FreeDOS is used by several companies:

Non-commercial uses

FreeDOS is also used in multiple independent projects:

Compatibility

FreeDOS Version History[9]
Version Status Codename Date
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.9rc1 BETA Methusalem July 2003
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.[27] 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.[28]

DOS-based Windows

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.[29]

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.[30]

File systems

A screenshot of FreeDOS's default text editor. It is a clone of the MS-DOS Editor with added features.

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).

Features

Technical details

Booting

FreeDOS can be booted from a hard drive, live CD, USB flash drive or floppy disk.[32][33][34][35] It can also be run using virtualization software like Virtual PC and VirtualBox or x86 emulation software like Bochs and QEMU.[7] To use the Windows Boot Menu the following line can be added to 2K/XP's C:\BOOT.INI:[30]

C:\FDOSBOOT.BIN="FreeDOS"

To boot using GRUB something similar to the following can be added to menu.lst(the following only applies to GRUB4DOS):

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

To use it under GRUB2, one can use SYSLINUX's ISOLINUX:

linux16 (hd0,msdos3)/usr/lib/syslinux/memdisk
initrd16 (hd0,msdos3)/home/user/fdboot.img

Memory management

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.

See also

References

  1. 1.0 1.1 1.2 "The FreeDOS Project". SourceForge. 2006-05-21. Retrieved 2008-01-02.
  2. 2.0 2.1 "Software List » UTIL". FreeDOS. The FreeDOS Project. Retrieved 2014-06-06.
  3. Villani, Pat (1996). FreeDOS Kernel. Emeryville, CA, USA: Miller Freeman. ISBN 0-87930-436-7.
  4. "Welcome to FreeDOS". FreeDOS. The FreeDOS Project. Retrieved 2014-06-06.
  5. "Software List » UTIL » 4DOS". FreeDOS. The FreeDOS Project. Retrieved 2014-06-06.
  6. Jim Hall (1994-06-29). "PD-DOS project *announcement*". Newsgroup: comp.os.msdos.apps. Retrieved 2008-06-14.
  7. 7.0 7.1 Hall, Jim (2002-03-25). "The past, present, and future of the FreeDOS Project". LinuxGizmos.com. Retrieved 2008-06-14.
  8. Hall, Jim (2006-09-23). "About". FreeDOS. The FreeDOS Project. Archived from the original on 2007-05-27. Retrieved 2014-06-17.
  9. 9.0 9.1 Jim Hall (2007-10-02). "Removing old distributions from ibiblio". Newsgroup: Freedos-devel. Retrieved 2009-10-07.
  10. "GNU/DOS". SourceForge. 2007-03-29. Retrieved 2009-01-02.
  11. Marinof, Mihai (2006-12-02). "GNU/DOS Project Discontinued". Softpedia. SoftNews. Retrieved 2009-01-02.
  12. Jim Hall (2012-01-02). "Announcement on official FreeDOS homepage". SourceForge. Retrieved 2012-01-02.
  13. 13.0 13.1 "FreeDOS: Files". FreeDOS. The FreeDOS Project. Retrieved 2011-11-04.
  14. Vance, Ashlee. "How Dell repels attempts to buy its 'open source' PC". The Register. Retrieved 2008-01-02.
  15. "DC5750 Product Specifications". HP. 2008-10-29. Retrieved 2009-08-01.
  16. "First Look at HP's Low-Cost ProBook Laptop Lineup". EWeek. Retrieved 2009-03-26.
  17. McCracken, Harry (2009-06-23). "HP’s Mini 5101: Netbook Deluxe, With All the Trimmings". Technologizer. Retrieved 2009-08-01.
  18. "FreeDOS Bootable Media". HP. 2010-10-25. Retrieved 2011-01-13.
  19. "I would like to create a RAID driver disk under the FreeDOS environment. However, I am unable to boot into FreeDOS with the bundled Support DVD. This issue does not occur with Windows installation disc. I am using an IDE DVD-ROM. How do I resolve this issue? - ASUS support". Retrieved 2013-06-30.
  20. "GRC dard drive data recovery software". Gibson Research Corporation. 2006-02-02. Retrieved 2009-05-16.
  21. Gibson, Steve. Steve Gibson and Leo on TechTV SpinRight for HardDrives. Interview with Leo Laporte. Call for Help. TechTV. Toronto, Canada. Retrieved 2014-06-17.
  22. "SeaTools for DOS Download". Seagate. Retrieved 2009-03-06.
  23. "Intel Solid-State Drive Firmware Update Tool boot cd". Intel. Retrieved 2010-03-25.
  24. "New solution for old systems" (PRESS RELEASE). Avira. 2006-10-04. Retrieved 2013-01-08.
  25. "FUZOMA Educational Software". Retrieved 2009-12-18.
  26. "Floppy Enhanced DivX Universal Player". Retrieved 2009-12-18.
  27. Matthew Broersma (2006-09-04). "DOS lives! Open source reinvents past". Techworld. Retrieved 2009-05-26.
  28. japheth. "HX DOS Extender". Retrieved 2009-01-02.
  29. Lea, Graham (2000-01-13). "Caldera vs Microsoft - the settlement". BBC News. Retrieved 2009-01-02.
  30. 30.0 30.1 Marc Herbert (2004-10-01). "Install FreeDOS without any CD, floppy, USB-key, nor any other removable media". Retrieved 2009-05-26.
  31. "SourceForge.net: freedos". 090911 sourceforge.net
  32. "How to Create a Bootable FreeDOS Floppy Disk". 2005-07-19. Retrieved 2008-08-04.
  33. Franske, Ben (2007-08-21). "Booting DOS from a USB flash drive". Retrieved 2008-08-04.
  34. genetikayos (2005-12-19). "FreeDOS on a USB Flash Drive". Retrieved 2008-08-04.
  35. "FreeDOS Files". FreeDOS. Retrieved 2008-08-04.

External links

Wikimedia Commons has media related to FreeDOS.