All of these common tools rely on using disk images (either floppy or hard disk). A disk image is nothing more than a file whose content reflects the layout of a disk and that the tool will use as if it was a physical device. E.g. A floppy image typically is 1.44MB large and its 512 first bytes consist of the 'floppy's boot sector. The different sub-pages should tell you how to create such images from real disks and use them under the most common operating systems.
These programs can help you with the management of disk images
|Linux||Windows||BSD||Mac OS X||File Systems Supported|
|File Disk||No||Yes||No||No||Anything supported by Windows|
|hdiutil||No||No||No||Yes||HFS HFS+ HFS+J HFSX FAT UFS|
|ImDisk||No||Yes||No||No||Anything supported by Windows|
|Loopback Device||Yes||No||Yes||Yes||Anything supported by the kernel|
|MagicISO||No||Yes||No||No||ISO 9660, Rock Ridge, HFS/HFS+, Joilet, UDF, XBOX DVD FS|
|Virtual Floppy Disk||No||Yes||No||No||Anything supported by Windows|
|Win Image||No||Yes||No||No||FAT ISO 9660|
If you want to write/burn an image to media you can use one of the following tools:
|Linux||Windows||BSD||Mac OS X||Notes|
|dd||Yes||Yes (Using Cygwin)||Yes||Yes|
|Rawwrite||No||Yes||No||No||Floppy images only|
Floppy disk images
You can use 'dd' to create a blank floppy image.
dd if=/dev/zero of=floppy.flp bs=512 count=2880
As of version 0.95, GNU GRUB comes with support for no-emulation El-Torito CD boot. Creating a CD image is much easier than working with floppy images and trying to stuff GRUB in them (and you get 650 meg more space too). Putting GRUB on a CD is now a simple matter of making a skeleton directory tree for the CD filesystem layout, copying the "stage2_eltorito" file in there, and running mkisofs with a specialized command line. See the GRUB 0.95 info node Installation > Making a GRUB bootable CD-ROM for details. Much more humane than those floppy games.
There is also a tutorial about creating a no-emulation El-Torito CD with GRUB.
Handling of Partition Tables in images.
At the time of writing, only Apple's hdiutil can handle the mounting of partitions inside of an image cleanly. Linux users can use a hack to skip over the MBR sector. In general, you can solve the partitioning information problem by using a separate image for one partition, then insert it into a larger image with partitioning data at the right place. This works because offsets are generally relative to the start of the partition.
Images with preinstalled GRUB
If you are looking for a ready-made floppy image with GRUB already installed, such has been set up by MartinBaute, and is available from the following mirrors:
- RDOS project at http://www.rdos.net/rdos/floppy.img and http://www.rdos.net/rdos/grub.iso (GRUB 0.97)
- LibOSDK project at http://download.berlios.de/libosdk/fd.img.bz2 (GRUB 0.96)
- Clicker project at http://sourceforge.net/projects/clicker/files/miscellaneous/GRUB%20bootdisk%20(by%20Solar)/solar_grub_disk.zip/download (GRUB 0.95)
- Ubuntu "grub-rescue-pc" package at http://packages.ubuntu.com/trusty/i386/grub-rescue-pc/download (GRUB2 2.00)
The images have GRUB stage1 / stage2 and an empty config file set up, so all you have to do is adding your binaries and editing the config file (see the GRUB manual for details).
The CD/DVD image on rdos.net has an embedded bootable floppy image and the required files in the root directory.
The Ubuntu "grub-rescue-pc" package is GRUB2, and has floppy, CDROM, and USB images.