Looking ahead to FreeDOS 1.4
The FreeDOS Project is an open source implementation of the classic DOS operating system. If you haven’t heard of it, DOS was a very popular 16-bit operating system throughout the 1980s and into the 1990s. I grew up with DOS, learning to write BASIC programs from an early age, and leveraging the rich collection of DOS apps available at the time.
By 1993, I had installed Linux at home, dual-booted with DOS, and was impressed by what Linux offered: a Unix-like operating system where anyone could examine the source code. That meant anyone could contribute to it and make Linux and its tools even better by fixing bugs and adding features. But Linux didn’t have many applications; so while I booted into Linux to do some things, I still spent most of my time in DOS.
Unfortunately, that would soon come to an end. In early 1994, I heard that Microsoft’s next version of Windows would completely replace DOS—DOS was dead. But I decided “If people can work together to create their own Unix, and share the source code for everyone to use, surely we could do the same for DOS?” And that’s how the FreeDOS Project started in June 1994.
Building a modern DOS
Our early versions of FreeDOS targeted replacing the core features of DOS, quickly adding a command.com shell called “FreeCOM” and a collection of DOS utilities. Soon after, Pat Villani contributed his DOS kernel, which set us on a fast trajectory.
We followed a mantra of release early, release often and shared a new FreeDOS distribution every few months or weeks. Alpha 1 (September 1994) was a collection of a few core tools, followed by Alpha 2 (December 1994), Alpha 3 (January 1995), Alpha 4 (June 1995), Alpha 5 (August 1996), and Alpha 6 (November 1997).
Until the Alpha 6 release, every FreeDOS distribution required the user to install things “by hand.” Each distribution was effectively composed of zip files and a boot floppy, and the user had to run fdisk and format and sys to set up a hard disk with FreeDOS, and manually run unzip to install the programs. I created a very simple “installer” to automate most of the steps, which was the boost we needed to enter a “Beta” phase.
We released Beta 1 (code-named “Orlando”) in March 1998, shortly before I visited my brother and his family (who lived in Orlando). By this time, FreeDOS had become more stable, and with DOS no longer a moving target since 1995 with the release of Windows95, we didn’t need to make such frequent releases. Most of the “Beta” distributions had code-names, including Beta 2 “Marvin” (October 1998), Beta 3 “Ventura” (April 1999), Beta 4 “Lemur” (April 2000), Beta 5 “Lara” (August 2000), Beta 6 “Midnite” (March 2001), Beta 7 “Spears” (September 2001), Beta 8 “Nikita” in April 2002, and Beta 9 in September 2004.
By the time of the “Beta” releases, FreeDOS was already a modern DOS. Where classic DOS provided a bare command line experience with just enough features to support larger applications and games, FreeDOS provided expanded utilities, extra tools to enhance the command line, and compilers and assemblers so you could create your own programs.
We had a series of release candidates as we worked our way up to a FreeDOS 1.0 distribution, which we finally released in September 2006. We followed with a few minor “hotfix” releases and other release candidates as we worked towards the major version numbers, such as FreeDOS 1.1 in January 2012 (5 years and a few months after “1.0”), FreeDOS 1.2 in December 2016 (5 years after “1.1”), and FreeDOS 1.3 in February 2022 (5 years plus a few months since “1.2”).
Monthly test releases
After that, FreeDOS didn’t need a very frequent release cycle because FreeDOS had already become very stable and compatible with classic DOS. However, FreeDOS remains under development, and developers keep adding new features and fixing old bugs.
Since taking on the role of FreeDOS distribution coordinator several years ago, Jerome Shidel had a great idea about how to automate building the FreeDOS distributions. Until Jerome joined us, creating each FreeDOS distribution required a ton of manual steps. Jerome automated all of that, starting in summer 2015. Along the way, Jerome also created a new install process that was more streamlined and easier to maintain.
After the FreeDOS 1.3 distribution in 2022, Jerome realized that we could create a regular “test release” cycle, which would collect all of the changes and updates shared by the developers, making it easier for folks to test everything without having to download and apply each new update. Since then, Jerome has posted a monthly test distribution labeled for the year and month of its release, such as T2412 for the version released in December 2024.
With a monthly test release, and with the process to generate a new distribution almost entirely automated, we had a new starting point to generate the next FreeDOS distribution. At some point, we could “promote” a test release as a new release candidate, and so on for the next several release candidates until we were ready for the next official FreeDOS distribution. And that time is now.
FreeDOS 1.4 Release Candidate 1
Thanks to everyone who contributes to FreeDOS, we are excited to share that the FreeDOS 1.4 Release Candidate 1 is now available! This has a ton of new changes and fixes, and the updates in FreeDOS 1.4 RC1 should address the annoying bugs that folks have found and reported since FreeDOS 1.3. including updates to the installer and feature updates for many programs such as fdisk, format, jemm, ldebug, bwbasic, dojs, dog, nasm, curl, mkeyb, edlin, blocek, htmlhelp, fdnet, more, fdimples, … the list goes on. Read the change log for the complete list.
We encourage everyone to download FreeDOS 1.4 RC1 and help test it. If you find any issues or compatibility problems, please report a bug to let us know.
Most users run FreeDOS in a virtual machine, and we’ve made it easy to do so with FreeDOS 1.4 RC1. To install FreeDOS 1.4 RC1 in a virtual machine, first set up the virtual machine environment you want to use. For example, you can use VirtualBox, which provides a graphical front-end to managing virtual machines. I like to use QEMU, which should be available by default on most Linux distributions. However, note that QEMU requires you to set up everything via the command line; it does not have a graphical interface where you can define the machine settings, although you can install Virtual Machine Manager, which takes care of the configuration steps for you.
Installing FreeDOS 1.4 RC1
The installer can recognize when it’s running in a virtual machine and set up some things for you, although the install process is largely the same for a virtual machine as when installing on real hardware. Follow these steps to install FreeDOS 1.4 RC1 on your system:
First, download the FreeDOS 1.4 RC1 LiveCD image. This is the preferred installer for most users, and you can use the LiveCD on any virtual machine or hardware system that supports a CD-ROM or DVD drive. If you’re installing on “bare metal,” you’ll also need to write the LiveCD image to a CD-R writeable disc.
Boot your system with the LiveCD and select “Install to harddisk.”
After selecting your language, you’ll be greeted by the install program:
The installer can partition and format the disk for you. Use the prompts to let the installer partition the disk for you:
FreeDOS will need to reboot so it can re-read the disk information. After rebooting, use the prompt to format the new partition. This creates a DOS filesystem that FreeDOS will use to store files:
After that, the installer will ask for your keyboard layout, then ask you for what FreeDOS packages you want to install. To make it easy for new users, we’ve set up the prompts to install a minimal DOS system (“Plain DOS system”) or a more complete installation (“Full installation including applications and games”). You can also select if you want to install a copy of the FreeDOS source code at the same time.
Use the prompts to select how you want to install FreeDOS 1.4 RC1, and the installer can do everything else on its own after that:
When the install process is done, you can use the prompts to reboot your system and start using FreeDOS 1.4 RC1:
Congratulations! You’ve installed FreeDOS 1.4 RC1:
Testing FreeDOS 1.4 RC1
If you chose the “Full install” option when installing FreeDOS 1.4 RC1, you should have everything that’s included in the LiveCD. If you used the “Plain DOS” install option, then you’ll need to use the fdimples package manager program to install other FreeDOS programs. Just type FDIMPLES
at the command line to start it, and use the arrow keys and Tab key to navigate and select what packages you want to install.
You can also download the BonusCD image to install a ton of extra tools including editors and assemblers. Depending on your virtual machine, you may need to reboot FreeDOS after selecting a different CD-ROM image.
You can also install and run your favorite DOS applications and games on FreeDOS! Any program that works on classic DOS should also run on FreeDOS. If you’re using a virtual machine, you will need to copy the DOS application to the virtual disk, such as using the guestmount program to access the virtual disk from Linux. Copy your DOS program installer (usually a zip file, but sometimes as a standalone install program) to the virtual disk, then boot FreeDOS to use it.
For more information about FreeDOS, you might want to read these 5 articles to explore FreeDOS.