Thursday, 11 July 2013

Installing FatDog64 for Dual Boot From Windows Xp

This is about installing FatDog64 64 bit Linux on your hard disk without needing to burn a Cd  and without needing to use an entire hard disk partition.

I am trying FatDog64 so that I can use 64 bit instructions on a 64 bit computer. I have Windows Xp 32 bit but I want to benchmark some 64 bit instructions so FatDog64 seems the logical choice since it is about the smallest decent Linux that is 64 bit and that can be downloaded quickly. Around 224 megabytes for the download. Other linux are about 600Mb to 3Gb of download which is just not going to happen.

You can get FatDog64 from here.

I am going to install FatDog64 simply by unzipping the ISO file and putting the contents into a directory on my hard disk. I am doing this using 7zip on windows. Then I will add a boot entry so that I can dual boot into Windows Xp or into FatDog64. Actually I can already dual boot into another Puppy Linux called Precise Puppy.

Important! FatDog64 includes options for installing to disk in much the same way as this article describes, so if you want to burn a Cd and then install from the Cd to the hard drive then that is an option. The downside is you have to burn a Cd, the upside is it puts it on the disk for you. The method described in this page requires no Cd to be burnt, you can just unzip the iso and boot from the unzipped contents using GRLDR...

See here for information on how to setup the boot loader to make it possible.  - This involves adding one line to the Windows Xp boot.ini file, and then editing a file called menu.lst. Fairly simple if you follow the instructions properly.

Doing it like this means you do not have to burn to a Cd and you can install as many different Puppy Linux distributions on the same computer. So after this I will have a 64 bit Puppy Linux, 32 bit Precise Puppy and also Windows Xp. More than enough to work with!

So at this point I have the contents of the iso file extracted to f:\fd64_621 on my Windows Xp machine, which is about to be dual bootable to FatDog64 linux as well. The problem now is how to dual boot to FatDog64. Fortunately from Windows Xp this is very simple.

1) Put GRLDR - Needed to boot up FatDog64
Click here to download GRLDR, a small binary file that you must copy into the root drive where Windows Xp is installed.

2) Edit menu.lst - tells GRLDR HOW to boot the FatDog64

Click here to download a sample menu.lst file used for booting FatDog64

Read this topic for information about how to edit the menu.lst file to add entries for booting to FatDog64
The example menu.lst file is for the F:\fd64_621 folder on my computer so if you put it on c:\otherfolder thenpay close attention to the device numbers in your menu.lst entries.

3)  Edit boot.ini
In your Windows Xp drive, like c:\ for example there is a file called boot.ini. Double click it and it will open in Notepad. Add the following line.

4) Reboot the machine
Reboot now and you will see the "Start Grub" has been added to your bootup options. Choose "Start Grub"

5) Select an option that appears
If you edited your menu.lst file correctly then it will boot and it will boot fast.  FatDog64 is in it's own world when it comes to boot speed. It literally just starts. No questions, no delay. Takes about ten seconds.

6) Create the savefile
The first thing you want to do once FatDog64 has started is to create the savefile. Do this just by opening the start menu and clicking reboot. It will ask some questions and then it will create a save file. I do not need so much space so I chose a size of 192Mb. Also I chose the ext3 file system because it sounded best and also I save my files into the directory fd64_621 but you can just use the default filename etc...

7) Wait for reboot
After rebooting it will load again. Now is up to you which option from the menu.lst file to use. The first one in the examples says to use all Ram, this means no savefile, so if you get stuck use this option. Otherwise pick the automatic option and it will locate the savefile for you. When you are ready though try and edit the menu.lst file so that it knows exactly which file to load, which will save a few seconds of time at  boot up.

On my machine, since I added all my sfs files into /dev/sda5 aka F:\ it automatically asked me which sfs files to load on the second boot. This was kind of convenient but you can also just configure the sfs at any time from the control panel.

So I rebooted the machine and it loads and boots first time. My initial thoughts are that it boots up the first time about 5 times faster than the Precise Puppy, asks about no questions and then runs very well. On the flip side, the part when you shut down that asks where to save the storage file wants to put the storage file into a partition and does not automatically put it in the folder where I unzipped the puppy files, but maybe that is just because I am used to the way it works in Puppy 5.6.1 32 bit, but you can of course specify that it does like old Puppy did just by adding the folder name plus a forward slash before the filename.
This is what FatDog64 looked like on my second boot after creating the save file. Note that if you want it to do this for you then you must put your sfs files into the root of the drive where you put the FatDog64 folder.

And this shows FatDog64 running gcc 64 bit and also Macaw(a windows 32 bit music program ) in Wine. I enabled Wine and gcc by using the Systems Sfs loader applet in the System panel of the control panel, which you can open from the start menu.

Overall it looks like FatDog64 is going to become my go to desktop for anything to do with Linux and 64 bit stuff.

  • It loads fast
  • I can dual boot from Windows Xp 
  • It requires no Cd burning
  • It requires no separate partition
  • I can put different versions of FatDog64 alongside different versions of Puppy Linux in the same disk partition
  • It does not modify the MBR
  • It is 64 bit!
  • It can still run 32 bit programs via the 32 bit compatibility layer


  1. Hi I have most of the above working following your instructions unfortunately I have a PC that requires a boot parameter of pci=nomsi or similar to enable Linux to detect SATA drives. On booting fatdog from a CD I can type this boot parameter in the start but I cannot seem to get this functioning by entering this into the called menu list. Plus, I cannot get a splash screen to load from the hard drive the systems errors with rootnoverify and error 23 while parsing number. Which I suspect are all down to not detecting the hard drives. Any suggestion for how I might get a boot parameter in early enough to afferct the Linux boot process using your process?

    Joe Rice

    1. This article explains how to add the pci command and also says you should edit the BIOS and edit the SATA mode?

      Don't know if that helps.

      The drives are numbered like hd0 or sda1 etc. Look at the example menu.lst file above and it shows how to number the drives.

  2. If you look at this for example it will be in the "kernel line" I think. I do not think it is a separate entry.