document updated 16 years ago, on Oct 29, 2008
This is the eltorito.sys method. The main benefit is that it doesn't need device-specific drivers. It should Just Work for any modern computer.
- You have to use no-emulation mode, not floppy-emulation or hdd-emulation.
- General outline of using it:
- Use one of the following bootloaders as the eltorito booter (i.e. the thing you pass as -b to mkisofs):
- Create a DOS boot floppy image (yes, this seems very similar to floppy-emulation mode. However, it has the upside that we don't need device-specific drivers.) Configure the files inside:
- Get the bootloader to load the floppy image into RAM and present it to the system as a "virtual floppy" that you boot from:
- You need to make an el-torito bootable CD somehow. Most things like Nero/Roxio/etc are set up to do floppy-emulation boot CDs only. So, it's best to use mkisofs (example call) to generate an .ISO first. Win32 binaries are here.
QEMU testing (GRUB4DOS)
The following script rebuilds all the files, and starts it up in QEMU. This allows a very rapid develop+test cycle.
==== menu.lst ====
map --mem (cd)/bootflpy.ima (fd0)
map --floppies=1
map --hook
rootnoverify (fd0)
chainloader (fd0)/io.sys
==== test.bat ====
: Directory structure:
: boot_floppy\io.sys
: root\bootflpy.ima
: root\grldr
: root\menu.lst
: ghost_noemu.iso
: Build the boot floppy. These files are found in Bart's BFD package.
bart_bfd\bfi -t=144 -f=root\bootflpy.ima boot_floppy\
bart_bfd\mkbt -x bart_bfd\bootsect.bin root\bootflpy.ima
: Build the ISO. Requires cygwin.dll. This can be found in Bart's BFD package as well, or at http://smithii.com/cdrtools
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -iso-level 3 -c boot.catalog -o ghost_noemu.iso root\
: Test the ISO.
"c:\program files\qemu\qemu.exe" -L "c:\program files\qemu\" -boot d -cdrom ghost_noemu.iso