How to make a bootable floppy with GRUB

How make a bootable floppy to available partitions linux and windows

This guide is written to start an old notebook with two partitions: Linux and Windows 98. We will use the distribution DSL (Damn Small Linux) because it is one of the lightest distributions in the world. DSL can run on old notebook with 16MB of RAM.
Ok let's go, download an ISO image of DSL, such as 4.0syslinux, and burn it on CD. Run the CD and install DSL on partition, if you have some trouble or you don't know how make partitions on HDD (Hard Disk Drive) i suggest to you read my guide "good hack".

Start DSL and type in console:

$ sudo -s

Now insert a formattated floppy in FAT and type:

# mount /dev/fd0 /mnt/auto/floppy
# mkdir /mnt/auto/floppy/grub

Copy the GRUB files and the startup menu:

# cp /boot/grub/stage* /mnt/auto/floppy/grub
# cp /boot/grub/menu.lst /mnt/auto/floppy/grub


Umount the floppy disk with the following command:

# umount /mnt/auto/floppy


Install stage1 in the MBR (Master Boot Record) sector of floppy disk:

# grub


After you have run grub, write these commands in order, ignoring the messages:

> root (fd0)
> setup (fd0)
> quit


Now we will modify the GRUB configuration by editing the file menu.lst, you can use the editor of Linux or Notepad on a Windows machine.
For editing the file on Linux write in terminal:

# sudo -s
# mount /dev/fd0 /mnt/auto/floppy


Open Emelfm and open the folder "/mnt/auto/floppy/grub" and open the file menu.lst
The file menu.lst should looks like this:

# This sets the default entry to boot.
# Remember that GRUB counts from 0, so 1 is the second entry.
default 0
# This sets the length of time in seconds that grub will wait for the user to select an OS
# before it boots the default on. I reccommend at least 15 seconds.
timeout 15
#Enter the entry for DSL here. Something like this.

title DSL
kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm nodma noscsi frugal
title DSL fb800x600
kernel /boot/linux24 root=/dev/hda5 quiet vga=788 noacpi noapm nodma noscsi frugal

title DSL fb1024x768
kernel /boot/linux24 root=/dev/hda5 quiet vga=791 noacpi noapm nodma noscsi frugal

title DSL fb1280x1024
#kernel /boot/linux24 root=/dev/hda5 quiet vga=794 noacpi noapm nodma noscsi frugal

title DSL with toram, mydsl, restore, hostname, and passwords
kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda5 restore=hda5 host=DSL1 secure

title DSL with XFree86
kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda5/xfree restore=hda6 host=DSL1 secure

title DSL with mydsl,
restore, persistentancy, hostname, and passwords

kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda3 restore=hda3 home=hda3 opt=hda3 host=DSL1 secure

title DSL Runlevel 2
kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi nodma frugal 2 base norestore

#title DSL Check filesystem(s)
kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi nodma frugal 2 base norestore legacy checkfs


We will modify the file in this way:
- we type the character '#' on the beginning of the line with "defaul 0"
- under "title dsl" we have to add the command "root (hd0,X)" where X is the number who we find substracting the number of hdaY y-1=x Y is the value that Linux uses to identify the partition where is installed, but GRUB subtracting 1 to this value, for example a partition as hda7 for GRUB will be (hd0,6).
- we can comment out the line of other starting commands of DSL typing the character "#" at the beginning of each line
- for running Windows 98 we must add this instructions:

title Windows 98
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
rootnoverify (hd0,2)
chainloader +1
makeactive


Your menu.lst should looks like this:

# This sets the default entry to boot.
# Remember that GRUB counts from 0, so 1 is the second entry.
#default 0
# This sets the length of time in seconds that grub will wait for the user to select an OS
# before it boots the default on.
I reccommend at least 15 seconds.
timeout 15
#Enter the entry for DSL here. Something like this.

title DSL
root (hd0,4)

kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm nodma noscsi frugal

#title DSL fb800x600
#kernel /boot/linux24 root=/dev/hda5 quiet vga=788 noacpi noapm nodma noscsi frugal

#title DSL fb1024x768
#kernel /boot/linux24 root=/dev/hda5 quiet vga=791 noacpi noapm nodma noscsi frugal

#title DSL fb1280x1024
#kernel /boot/linux24 root=/dev/hda5 quiet vga=794 noacpi noapm nodma noscsi frugal

#title DSL with toram, mydsl, restore, hostname, and passwords
#kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda5 restore=hda5 host=DSL1 secure

#title DSL with XFree86
#kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda5/xfree restore=hda6 host=DSL1 secure

#title DSL with mydsl, restore, persistentancy, hostname, and passwords
#kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda3 restore=hda3 home=hda3 opt=hda3 host=DSL1 secure

#title DSL Runlevel 2
#kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi nodma frugal 2 base norestore

#title DSL Check filesystem(s)
#kernel /boot/linux24 root=/dev/hda5 quiet vga=normal noacpi noapm noscsi nodma frugal 2 base norestore legacy checkfs

title Windows 98
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
rootnoverify (hd0,2)
chainloader +1
makeactive

title Partition 2(floppy)
hide (hd0,0)
unhide (hd0,1)
hide (hd0,2)
chainloader (fd0) +1

title Partition 3(floppy)
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
chainloader (fd0) +1


Save the file, if you are working on Linux waiting one minute for the sync. Reboot the pc with the floppy and enjoy your DSL Linux. If you have some trouble to make the floppy you can use the floppy image that i have created.

[Download]This file zip contain:
-bootlinux.img (file for booting a cd-rom of linux on old pc which don't have the boot of cd-rom)
-floppy image.exe (program to write the img file)
-grub091dsl.img (the floppy image i have created)
-recoveryPM8_disk_1.img
-recoveryPM8_disk_2.img (emergency disk of partition magic, useful to create partition on DOS)
-win95bootfloppy.img (bootable floppy of Windows 95 with optical support for cd-rom, mscdex.exe)