Making a kernel is far beyond the scope of this document. Basically, you need to download the kernel sources from www.kernel.org or some other site. Then untar and unzip the package that was downloaded, and move into the new directory. There are a number of ways to make the kernel. Please see the Kernel HOWTO for more detailed instructions. The easiest and best way to do it if you have a working implementation of X Windows is with the command:
make xconfig
This will bring up a nice graphical program that allows you to look at each of the options and choose which ones are right for you. The options that you need to pick are:
Now that you've configured all of the options, save your configuration and exit. Then at the shell, type the following commands.
make dep
make clean
make bzImage
This will take a few minutes, depending largely on the speed of your
system, once it finishes, you will have a file named 'bzImage' in
path/to/linux/arch/i386/boot/ This is your kernel.
superformat /dev/fd0 hd
where /dev/fd0 is your floppy drive device. Then write one of the images to the disk you just formatted. The easiest way to do this is with the dd command, such as
dd if=/path/to/rescue.bin of=/dev/fd0 bs=1024
This tells linux to use rescue.bin as the input file, the floppy drive
as the output file, and sets the block size.
Repeat these steps for all remaining images.
Now mount the floppy with the rescue.bin image and delete the old kernel, it should be named "linux". Now, copy the kernel that you made in step one onto the floppy, and change the name from 'bzImage' to 'linux'.
Now, you need to modify the rdev.sh script. Near the end of the script, there is a line that looks like:
rdev "$IMAGE" /dev/ram0
change it to read:
rdev "$IMAGE" /dev/sda1
This is because we want to point it to the zip drive. Also, occurences of '/mnt/linux' should be changed to wherever your floppy disk is mounted. In my case, I changed them to '/floppy/linux'. Finally, run the script with the command:
./rdev.sh
Next, there is a file on the same disk (rescue.bin) named
syslinux.cfg that you need to edit as well. Open it up with
your favorite text editor, and first few lines should look like this:
FONT font.psf
# see /usr/doc/syslinux/syslinux.doc.gz for file format description
DEFAULT linux
APPEND vga=normal noinitrd load_ramdisk=1 prompt_ramdisk=1
ramdisk_size=16384 root=/dev/fd0 disksize=1.44
The line starting "APPEND" needs to be changed to include SCSI emulation, so add the
string hdd=ide-scsi. to make it look like this:
APPEND hdd=ide-scsi vga=normal noinitrd load_ramdisk=1 prompt_ramdisk=1 ramdisk_size=16384 root=/dev/fd0 disksize=1.44
Now go ahead and save the file and unmount the floppy, it's done.
The next step is to make the regular boot floppy. First we need to put an ext2 filesystem on it. To do this, place a blank floppy in the drive, and type:
mke2fs -t /dev/fd0
Now mount the floppy, and copy the necessary files onto it.
cp /boot/boot.b /floppy
cp /boot/map /floppy
cp /usr/src/linux/arch/i386/boot/bzImage /floppy
Where 'bzImage' is the kernel that we made earlier. If you want to follow convention, most people change the name from bzImage to 'vmlinuz'. Now if you want to, you can put lilo on the floppy, which allows you to have more than one kernel to boot from. This would be nice if you have more than one type of computer system that you want to use the Zip disk in. To put lilo on the floppy, first create a lilo.conf file with you favorite editor. It should look something like this.
boot=/dev/fd0
map=/floppy/map
install=/floppy/boot.b
prompt
compact
timeout=100
image=/floppy/vmlinuz
label=linux
root=/dev/sda1
append="hdd=ide-scsi"
read-only
Now, we need to install lilo onto the floppy. To do this, use the command:
/sbin/lilo -C /floppy/lilo.conf
Great, now we are ready to go through the Debian installer.