Installing FreeDOS on an openSUSE-12.1 PC (separate partition)

I installed the latest FreeDOS on my sandbox PC being careful not to wipe grub used by openSUSE-12.1. I find it useful to have another different operating system (from GNU/Linux) on a PC, and in the case of this OLD PC, FreeDOS is what I prefer to have in place.

This old Sandbox PC has an MSI KT3 Ultra (KT333) motherboard with a 32-bit athlon-1100 CPU, a nVidia FX5200 graphic card, and 2 GB of RAM. I have an empty VERY SMALL ~500 MB partition on the PC in the position of /dev/sda1 already formatted as FAT16, and so that was where I decided to place FreeDOS.

Download FreeDOS:

I note there is a recent update to FreeDOS to version-1.1. One can find FreeDOS on this website: Free DOS website. I downloaded the .iso file fd11src.iso and burned it to a CD, in preparation for the install.


I first checked the hard drive on my Sandbox PC, and I noted that /dev/sda2 was the active partition, and also / (root) for my openSUSE-12.1 installation. Checking my paper notes I also remembered that on the /dev/sda2 MBR of this Sandbox PC is a generic MBR from a recent openSUSE-12.1 install.

Here is the “ fdisk -l “ output :

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bcd34

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63     1044224      522081    6  FAT16
/dev/sda2   *     1044225    52243379    25599577+  83  Linux
/dev/sda3        52243380    54283634     1020127+  82  Linux swap / Solaris
/dev/sda4        54283635   625137344   285426855    5  Extended
/dev/sda5        54283698   515076029   230396166   83  Linux
/dev/sda6       515076093   566275184    25599546   83  Linux
/dev/sda7       566275248   625137344    29431048+  83  Linux

(I removed the /dev/sdb from this print out as it is not relevant.

I decided to backup the Master Boot Record (MBR) of this Sandbox PC before proceeding.

So I opened a terminal with root permissions and typed:

dd if=/dev/sda of=mbr-sda-sandbox-before-freedos-install-440 bs=440 count=1

and then I copied the file mbr-sda-sandbox-before-freedos-install-440 to a memory stick, having it handy in case I needed it to restore the MBR (which was not the case as things turned out).

I decided for FreeDOS to install I wanted /dev/sda1 as the active partition. So I booted to a PartedMagic liveCD and I ran gparted, changing the boot (active) partition from /dev/sda2 to /dev/sda1 (it turns out that FreeDOS also has a tool that will allow this change to be made, so PartedMagic was not necessary).

**FreeDOS install **

I then booted to the FreeDOS installation CD, and noted it was intending to install on the first partition on the hard drive (which it called c: ) which was about 500 Mbytes (ie it was the /dev/sda1).

The FreeDOS install was pretty painless, except when I encountered this menu asking what to do with the PC’s master boot record ….](
Click on above image for a larger view

while I was deliberating that screen, it timed out (to my surprise) and the PC proceeded to reboot, direct to FreeDOS. So I did not know for certain what (if anything) FreeDOS did to the MBR, although I did recall reading somewhere previous (to this install) that FreeDOS by default won’t touch the MBR.

Here is the FreeDOS boot selection :](
Click on above image for a larger view

Here is the FreeDOS screen after boot:](
Click on above image for a larger view

Here is the result of ‘dir’ showing this c: drive is pretty much empty.](
Click on above image for a larger view

cont ….

Now that FreeDOS was installed, I needed to restore my openSUSE-12.1 boot.

Restore openSUSE boot

SO I re-inserted the PartedMagic liveCD and rebooted to it, and flagged /dev/sda2 as the boot (active) partition. I then rebooted to the PC’s hard drive, and I was pleased to see Grub come up, and the PC booted to openSUSE-12.1. There was NO FreeDOS selection in the grub menu, so I noted that I needed to add that grub entry myself (with openSUSE tools).

**Add FreeDOS to Grub **

I then went to YaST > System > Boot Loader and noted no FreeDOS entry. So I selected Add (at the bottom of that menu) and selected “Other System (chain loader)” so as to add FreeDOS](

The I filled in the next menu as seen here (my being careful to select /dev/sda1):](
Click on above image for a larger view.

and accepted that and exited YaST.

I noted this entry in the /boot/grub/menu.lst for FreeDOS:

###Don't change this comment - YaST2 identifier: Original name: other###
title FreeDOS
    rootnoverify (hd0,0)
    chainloader +1

which makes sense to me, as /dev/sda1 is hd0,0 .

I then rebooted, and I had a functional FreeDOS selection in Grub, in addition to my having my openSUSE boot selections.

I choose FreeDOS in Grub and it worked, FreeDOS booted ok. I pressed <CTRL><ALT><DELETE> when in FreeDOS, which caused a reboot, and I again had my Grub Menu. I chose openSUSE-12.1 and it booted ok.

So a relatively straight forward success.

FreeDOS also works with an openSUSE-13.1 install on a traditional BIOS/MBR partitioning system with legacy grub.

I installed FreeDOS on an older PC this weekend, where that PC had an openSUSE-13.1 install, and thus confirming that compatibility. I put FreeDOS into /dev/sda1 (500 MB FAT32 partition) on that PC.