It looks like finally, our disk image standards are going to enter the 21th century :)
Although TOSP has made from the start the choice of using GRUB as a bootloader on x86_64, it began by using it in the crudest possible way. Early builds used a very raw install of GRUB on a floppy image, created using dd, which didn’t even have a filesystem to begin with, and required specifying the raw location and length of bootstrap and kernel binaries in the image at each boot, on the GRUB prompt. This made testing very tedious.
Then I learned about the wondrous mtools, which allowed me to automatically generate FAT-formatted disk images of the OS by starting from a “blank” floppy image that had nothing but an install of GRUB on it. Said GRUB image is a vital component of the bootable image generation process, because the Windows development tools which I used at the time and still want to support, based on Cygwin, didn’t include a GRUB 1 package, but only GRUB 2. For reasons which I may explain later if someone asks for it, I think that GRUB 2 is not a very useful OS development tool yet, and that one is better served by GRUB 1 “Legacy” for those purposes.
Today, while I’m discussing my RPC design and waiting for it to mature, aside from continuing to test memory management, I’ve decided to work on something else in parallel : a switch to “El Torito” bootable CD images. This would mean that I could test my OS on real, modern hardware that doesn’t have any floppy drive anymore. Apparently, CD images may also be “burned” to USB pen drives, for use as a live bootable medium on computers which do not have a CD drive, though I have yet to investigate if it is simply a matter of DDing the image or if said image must be specifically tweaked for this process to work. Anyway, if mkisofs or genisoimage are available and work under Cygwin, this definitely looks like a very good step forward for the OS-periment project, and I hope I’ll succeed at it. More info on this later, as it becomes available.
EDIT – Here, it’s done. Easier than I thought, really :) I now generate ISO CD images, which could also potentially be used with USB pen drive. I’ve asked the question, am waiting for an answer. But my god, I had forgotten how crappily Windows 7 performs as soon as it’s under load… I thought Linux was already pretty bad in that area, but here we’re talking about extreme *keyboard* latency when an application is using the hard drive. The wow starts now…