Boot from floppy

Booting From Floppy

One of the great attractions to Linux is the small size of the kernel, the core code necessary to run the operating system. On most systems, even in a default install configuration, the kernel is less than 1.44 MB – small enough to copy to a floppy. The ability to copy this core code to a floppy means that, even in many catastrophic failure scenarios, you’ll always have the ability to get to your Linux system. If your BIOS is set up to allow booting from a floppy, you’ll be able to do so with Linux.

This boot floppy also differs greatly from a Windows rescue disk. On the Windows side, the rescue disk merely provides a set of tools that allow you to access the operating system from a hard drive or CD-ROM. The Windows kernel does not, in fact, reside on the floppy. In Linux, every piece of code necessary to run the basic OS can be copied to a boot floppy.

A Linux boot floppy is, in my book, one of four or five essential backup tools. Even though my boot loader of choice has always been Lilo, I keep a boot floppy for my Linux OS in its own special place in my work area, where it’s immediately accessible in a pinch.

If you’ve recompiled the kernel or lost the original boot floppy created during install, it’s a good idea to create another. Creating another floppy after a kernel recompile is necessary in order to use the new kernel from floppy.

This is a relatively painless process in Linux. First, use a brand new formatted floppy. As this floppy can be in DOS format with no ill effects, you should be able to use a new disk straight out of the box. Next, check the path you’ve assigned your existing kernel in Lilo:

    view /etc/lilo

You’re looking for the “image” line in Lilo. It should look something like this:

    image = /boot/vmlinuz

Now, with the floppy in the drive, issue the following command:

    dd if=/boot/vmlinuz of=/dev/fd0 bs=8192

This command instructs your Linux system to copy [dd] the input file [if] /boot/vmlinuz to the output file [of] /dev/fd0 [the first floppy device] using a block size [bs] of 8192 bytes. Provided your BIOS is set up to boot from floppy, you should be able to test this new boot floppy by leaving the floppy in the drive and rebooting.

By keeping a current boot floppy close by, you’ll always have access to your Linux system.