Well I think the way I boot my ISOs is very clean and simple. The following works only on Live CDs such as System Rescue CD, Puppy Linux, Parted Magic etc. I will demonstrate how easy is to boot these ISOs without doing a thing in your menu title! All you do is simply map the ISO and off you go. You don't have to pass any kernel parameters and initrd parameters what so ever.
All you have to do is set up your directory structure in your ISO to match the one of the original ISO and you don't even have to do this! All you have to do is copy the compressed file system image from the original ISO on to the same location in your own ISO. Here is a System Rescue CD example.
When you open up the System Rescue CD ISO, you will see a file called "sysrcd.dat
on the root location "/" of the ISO which is 192MB. Copy/extract this file from the ISO to the root of your ISO. Then for your menu all you do is something like this:
title System Rescue CD 1.3.0
find --set-root /isoimg/sysrescd130.iso
map /isoimg/sysrescd130.iso (0xff) || map --mem /isoimg/sysrescd130.iso (0xff)
The most common problem with booting Live Linux ISO is when they try to mount the compressed file system (a block device or something, not sure), it fails to find it because it is within an ISO but what we did above is trick the system or in other words we helped it find it by copying the compressed file system (with all the programs in it) of the System Rescue CD to the same location as where it would normally be because this is where the distro will look for it. This way we don't have to extract the whole ISO and do manual configs etc.
Here is another example with Parted Magic. Open its ISO and you will see there will be a folder called "pmagic". Within this folder, the Parted Magic compressed file system resides within the pmodules
folder. Its name is pmagic-4.5.sqfs
. Copy the entire pmagic
folder from the root of the original ISO to the root of your ISO so now your ISO will have a folder called pmagic
and a file called sysrcd.dat
title Parted Magic
find --set-root /isoimg/pmagic.iso
map /isoimg/pmagic.iso (0xff) || map --mem /isoimg/pmagic.iso (0xff)
and voila your ISO is ready to build
It just works!
At the moment I boot 9 Linux Live distributions this way! Avira, Kaspersky, Bit Defender, Parted Magic, Puppy, System Rescue, NTFS Offline password recovery (I didn't extract anything with this one) etc + on the same disk I have W7PE installed (thanks jaclaz) but with Windows I had to extract everything to the root of the CD of course + I also boot a lot of floppy disk images with DOS USB support etc so I have a realy cool boot disk on USB flash drive and CD
I only had one problem with one distro and this was related to the volume label, it was hard coded in the distro so the only way to make it work was to give your ISO the same volume label but later the author added an option to pass a custom volume label so I used UltroISO to modify this distro's config file and add this parameter. Again to keep things with no strings attached, see my post http://www.boot-land...9145#entry79239
to see how you can recreate an ISO by using ImgBurn.