I read Bootable CD-ROM format Specification and other documents
provided by Phoenix, and realized what is needed to support CD-ROM and
other media in GRUB.

  For bootable CD-ROM support, two kinds of implementation are
possible:

1. Support only hard disk emulation. In this case, GRUB doesn't need
   to know if a boot disk is CD-ROM or other, because CD-ROM acts as
   if it were the first hard disk. If the hard disk image is ext2fs or
   other GRUB-supported filesystem, then we don't have to modify GRUB
   at all.

2. Support all emulations. In this case, GRUB must check if a boot
   disk is an emulated image, if so, terminate the emulation, get the
   actual drive, and set the boot drive to it. In addition, we need to
   support ISO-9660 filesystem and 0x800 bytes per sector drives.

Clearly, the second way is preferable, as we need to support ISO-9660
fs and 0x800 bytes per sector drives anyway if the user wants to use a
CD-ROM for a computer that does not support bootable CD-ROM.

  For other media such as MO, GRUB must support drives whose sector
size is not 0x200 bytes. Currently, GRUB assumes that the size of a
sector is always 0x200 bytes for any drive, as well as many other
softwares. It is natural to fix this bad assumption.


Thanks,
OKUJI
----------------------------------------------------------------------
OKUJI Yoshinori  <[EMAIL PROTECTED]>           ^o-o^
http://duff.kuicr.kyoto-u.ac.jp/~okuji (in English)     m /

Reply via email to