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 http://ftp.belnet.be/packages/damnsmalllinux/current/bootusb-0.8-img
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" http://http.us.debian.org/debian/tools/rwwrtwin.zip (or in the /tools/ directory of a debian CD).
Creating your own custom boot disk for installation
See also :
- Necessary modules/components of the kernel:
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.
- The kernel source:
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
- Get the boot floppy images:
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 ftp://ftp.de.debian.org/debian/dists/testing/main/disks-i386/current/images-1.44/bf2.4
- Mount the rescue image:
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
config.gz debian.txt f10.txt f1.txt f2.txt f3.txt f4.txt f5.txt f6.txt f7.txt f8.txt f9.txt install.sh ldlinux.sys linux.bin rdev.sh readme.txt syslinux.cfg sys_map.gz type.txt
- Get the kernel configuration:
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
- Change the kernel version:
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
- Make the kernel:
Change to the directory where your kernel sourcecode is located (/usr/src/linux int most cases) and change the configuration with
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
It's a good idea to recalculate the dependencies with
before creating the new kernel.
Since you only change the kernel and don't replace all modules you shouldn't change too much.
- Copy the new files:
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 gzip System.map cp System.map.gz /mnt/sys_map.gz
- Unmount the filesystem:
Unmount hte filesystem with
and you have successfully created your own boot disk for your own needs.