GRUB supports the no emulation mode.This means that you can use the whole CD-ROM from GRUB and you don't have to make a floppy or hard disk image file, which can cause compatibility problems.For booting from a CD-ROM, GRUB need to have stage2_eltorito and optionally a config file.
Here is an example of procedures to make a bootable CD-ROM image. First, make a top directory for the bootable image.
Make a directory for GRUB:
Now copy the file stage2_eltorito:
$ mkdir -p iso/boot/grub
If desired, make the config file menu.lst under iso/boot/grub.
$ cp /usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub
Finally, make a ISO9660 image file like this:
# Sample boot menu configuration file
# By default, boot the first entry.
# The first entry as counting starts with number zero, not one.
# Boot automatically after 30 secs.
# GRUB will boot automatically in 30 seconds, unless interrupted with a keypress.
$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \ -boot-load-size 4 -boot-info-table -o grub.iso