[lug] boot CD options

D. Stimits stimits at idcomm.com
Thu Jun 21 00:37:20 MDT 2001


I'm still working on creating a rescue system for my XFS filesystem
setup, and the required boot image is larger than a regular floppy can
handle (it has to go over 2.3 MB, I'm still working on the same thing I
was posting about before). Since I don't have a cd burner on this
machine, and transferring my created image to another machine is going
to be a bit "painful", I want to find out some info ahead of time.

The "basic" howto for bootable cd says to create an exact bootable image
on a floppy (I'm going to fake it with a ramdisk), then copy it to a
file through dd, block size 18k:
dd if=/dev/fd0 of=boot.img bs=18k

Then it says to place the boot.img into the collection of files that are
going onto the cd rom, and tell mkisofs about this with -b and -c. The
man page for mkisofs in turn says that the image used in the -b option
must be of exact size of a floppy that is either 1.2, 1.44, or 2.88 MB.
The first 512 bytes will be assumed as a boot sector.

What causes the 2.88 MB limit? Is it just a limit of mkisofs, or is it
built in to iso9660 filesystems? I was hoping to do something slightly
more flexible...create a complete bootable system on CD, with a /boot
directory that has a fairly unconstrained kernel and a lot of modules in
/lib/modules. Is there some sort of spec for the artificial support of
CD booting whereby it isn't really just an IDE drive during boot (my
cdrom and most these days are IDE ATAPI)?

I could see the possibility of simply mounting my own (extra large)
ramdisk on a temporary mount point, and manually copying anything I need
into the ramdisk, including kernel images; then running lilo after doing
a chroot to the ramdisk, followed by dd of the ramdisk to a regular file
that has been formatted like an iso9660 filesystem. This image could
then be transferred to the machine with the cd burner. Or could it? I'm
not quite sure of what the real limits are for booting CD's, but I'd be
happier if I could use at least 3.5 MB for kernel plus initial ramdisk,
along with glibc and a lot of extra repair style tools.

D. Stimits, stimits at idcomm.com



More information about the LUG mailing list