Making a GRUB bootable CD-ROM
GRUB supports the no emulation mode in the El Torito specification1. 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 uses a special Stage 2 called stage2_eltorito. The only GRUB files you need to have in your bootable CD-ROM are this stage2_eltorito and optionally a config file menu.lst. You don't need to use stage1 or stage2, because El Torito is quite different from the standard boot process.
Here is an example of procedures to make a bootable CD-ROM image. First, make a top directory for the bootable image, say, iso:
$ mkdir iso
Make a directory for GRUB:
$ mkdir -p iso/boot/grub
Copy the file stage2_eltorito:
$ cp /usr/share/grub/i386-pc/stage2_eltorito iso/boot/grub
If desired, make the config file menu.lst under iso/boot/grub (see Configuration), and copy any files and directories for the disc to the directory iso/.
Finally, make a ISO9660 image file like this:
$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \
-boot-load-size 4 -boot-info-table -o grub.iso iso
This produces a file named grub.iso, which then can be burned into a CD (or a DVD). mkisofs has already set up the disc to boot from the boot/grub/stage2_eltorito file, so there is no need to setup GRUB on the disc. (Note that the -boot-load-size 4 bit is required for compatibility with the BIOS on many older machines.)
You can use the device (cd) to access a CD-ROM in your config file. This is not required; GRUB automatically sets the root device to (cd) when booted from a CD-ROM. It is only necessary to refer to (cd) if you want to access other drives as well.
以上是用于grub版本grub-0.97及之前的版本,grub-0.97之后的版本为grub2,不适合以上代码
posted on 2006-11-17 12:39
Flutist 阅读(260)
评论(0) 编辑 收藏 引用 所属分类:
学习文章