It is simple then to make a bootable CD. First create a file, say
boot.img which is an exact image of the boot floppy
currently in use. There is at least one HOWTO on making bootable
floppies. If you have a bootable floppy handy, you can make a boot image
with the command
dd if=/dev/fd0 of=boot.img bs=10k count=144
assuming the floppy is in the A: drive.
Place this image somewhere in the hierarchy which will be the source for
the iso9660 filesystem. It is a good idea to put all boot related files
in their own directory (boot/
under the root of the iso9660 fs, for example), but this is not
necessary.
One caveat - Your boot floppy MUST
load any initial ramdisk via LILO, not the kernel ramdisk driver! This is
because once the linux kernel starts up, the BIOS emulation of the CD as
a floppy disk is circumvented and will fail miserably. LILO will load the
initial ramdisk using BIOS disk calls, so the emulation works as
designed.
The El Torito specification requires a boot catalog to be created as well. This is a
2048 byte file which is of no interest except it is required. My patches
to mkisofs will cause it to automatically create the boot catalog. You
must specify where the boot catalog will go in the iso9660 filesystem.
Usually it is a good idea to put it the same place as the boot image, and
a name like boot.catalog seems appropriate.
So we have our boot image in the file boot.image,
and we are going to put it in the directory boot/ under the root of the iso9660
filesystem. We will have the boot catalog go in the same directory with
the name boot.catalog. The command to create the
iso9660 fs in the file bootcd.iso is then
mkisofs -b boot/boot.img -c boot/boot.catalog -o bootcd.iso
The -b option specifies the boot image to be used
(note the path is relative to the root of the iso9660 disc), and the
-c option is for the boot catalog file.
Now burn the CD and its ready to boot!
|