Well, I’ve been trying to boot Fedora from ISO, but haven’t exactly been successful. On the bug, you can see a possible fix, but it’s a bit complicated and requires messing with the image from an existing install. Instead, I figured out a way to do it that uses the extracted files. It’s pretty simple. First, mount the ISO and extract three files: the LiveOS image: squashfs.img and possibly osmin.
So, I’m still trying to figure out the Fedora boot, but in the meantime, I tried to figure out how to boot from a few recovery systems. First off, let’s try Parted Magic. This one is pretty simple since they provide a “USB” version. If you extract that, you’ll find a boot and a pmagic folder. Copy the pmagic folder to the USB drive. In boot/grub/grub.lst, you’ll find a whole bunch of boot options.
Last time I managed to boot Ubuntu and Linux Mint from ISO pretty easily. Unfortunately, Fedora does not work so simply. There is no iso-scan parameter that can be used for it. Fedora uses Dracut to create its initramfs infrastructure. From that page, I found the rdshell parameter that could be added to the kernel command line to get into a shell before switching to the real root and init. Once there, I was able to mount the USB drive, then the ISO, and finally the actual live image.
Last time I prepared the USB drive to boot from ISO. That’s great, but it’s no good if there are no ISOs to boot into. First off, I set up Ubuntu in GRUB. Fortunately, this was pretty easy to do. Ubuntu supports booting from ISO using the iso-scan kernel parameter. Since Linux Mint is derived from Ubuntu, it also supports this parameter. The following lines in the GRUB2 config will enable booting from a Ubuntu/Linux Mint ISO.
Recently, I got a 1TB USB drive. I was planning on using this just for backups, but quite frankly, it’s so big there’s no need to limit it to just that. So I decided I’d put a few live CD images on it somehow to get a sort of universal test drive. I set aside about 30G which is way overkill, but in GiB, it meant the remaining was a round 900 (darn GB vs GiB thing).