views:

84

answers:

1

I'm interested in writing a boot loader for USB sticks that looks for a directory of ISOs and gives you the option to boot one of them as if it were a bootable CD. This is basically so I have a menu driven program that allows me to install one of several different distributions off of a USB stick.

Where would I go to figure out how to make this work? Do I need to install some kind of BIOS hack to allow remapping of CD blocks to blocks in the filesystem? How would that work once the boot from the CD had enough marbles to start trying to access the device directly?

+1  A: 

are you looking to learn how bootloading works? if so, you could check out the grub docs here: http://www.gnu.org/software/grub/

otherwise, if you're trying to create a usb bootloader that can load a variety of operating systems, this tutorial looks like it covers it quite nicely: http://www.freesoftwaremagazine.com/articles/grub_intro/

I don't think it will dynamically build a loader of operating systems as they are available by reading the contents of a directory.

Oren Mazor
I will look at these more. They at least look to be somewhat informative. I'm not trying to get a multitude of OSes to boot exactly. I want a multitude of OS installs to boot. I could just boot the live CDs instead, but I hate live CDs for installs since they frequently lack some of the features of the full install.
Omnifarious
what are you trying to do? programmatically install OSs on several machines at once?
Oren Mazor
@Oren Mazor: I install various versions of Linux on various machines. Some of them need x86_64, some need i686, and some need Ubuntu, and some need Fedora. I want to be able to load all these ISOs onto my 16G USB stick and pick which one I want.
Omnifarious
@Oren Mazor: Also, memdisk ( http://syslinux.zytor.com/wiki/index.php/MEMDISK ) does what I want, more or less, and the documentation basically says this is impossible for operating systems like Linux without having a special device driver, which is what I feared.
Omnifarious