Translation(s): none

Creating a standard boot floppy

See also: BootUsb.


Under Linux you should use the dd command shown below which is run from a terminal.

dd if=filename.img of=/dev/fd0 bs=1024 conv=sync ; sync

(i.e. the filename can be bootusb-0.8.img).

You can download the boot image from


Under other operating systems you will need a utility.

For DOS/Windows you can use any of the rawrite family. If you do a google search on rawrite it will give you many links. Below is a link to the main ntrawrite development group. Please note there is broken documentation with regard to rawrite which needs to be corrected. rawrite (the old DOS program) uses an 8.3 filename convention and thus it will not find some of the files you need to copy out to the floppy unless you rename them. rawrite issues a broken error message in this situation which is easy to fix - however there are a HUGE number of copies of this program on the net so be forewarned this will not be corrected soon. Just rename the files and rawrite will work just fine. You can rename the files back after you have copied them. The rawrite utility only copies the contents of the file and does not care what the actual name is.

"rawrite2" (or in the /tools/ directory of a debian CD).

Creating your own custom boot disk for installation

See also :

The kernel you are working with must be able to mount loop-back devices and must also have the option to mount vfat filesystems. If you decide to compile this into the kernel or as modules doesn't matter.

Get the source of the kernel. You can also fetch it with

 apt-get install kernel-source-x.y.z

where x.y.z is the desired kernel version. In this example it is 2.4.18 so you have to type

 apt-get install kernel-source-2.4.18

Download the boot floppy images (disksize=1.?44MB, kernel=2.4.x) from a debian mirror, e.g. get all the files with the extension .bin from

Now it's time to mount the rescue image. This is done with the command

 mount -t vfat -o loop rescue.bin /mnt

Take a look into /mnt with ls -l /mnt


Copy the file /mnt/config.gz to the kernel-source tree (normaly /usr/src/linux) and unzip it.

 cp /mnt/config.gz /usr/src/linux/.
 gzip -d config.gz
 cp config.gz .config

Since the kernel-source has the name "2.4.18" and the name of the modules from the installation disks is "2.4.18-bf" you have th modify the version of the kernel source. Open the file /usr/src/linux/include/linux/version.h with your favorite editor and modify the line which starts with #define UTS_RELEASE

Change to the directory where your kernel sourcecode is located (/usr/src/linux int most cases) and change the configuration with

 make menuconfig


 make xconfig

if you like the graphical version better (?[XFree86]).

Since the diskspace of your boot-disk is limited, remove unneeded elements from your kernel and select the ones which are neccessary for your hardware.

After finishing your configuration leave menuconfig/xconfig with exit (don't forget to save this configuraion) and start the compilation with

 make bzImage

It's a good idea to recalculate the dependencies with

 make dep

before creating the new kernel.

Since you only change the kernel and don't replace all modules you shouldn't change too much.

Now copy the new kernel into the mountpount as linux.bin.

 cp arch/i386/bzImage /mnt/linux.bin

If this fails due to insufficient diskspace you have to recompile your kernel with less options so it gets smaller. Copy the kernel configuration and the system map in compressed format to the mountpoint.

 gzip .config
 cp .config.gz /mnt/config.gz
 cp /mnt/sys_map.gz

Unmount hte filesystem with

 umount /mnt

and you have successfully created your own boot disk for your own needs.