I think I've been through just about every post on this site about this and can't find anyone who will shed light on all those mysterious arguments that get passed to the linux kernel by grub! What I want to do - and now PURELY for educational purposes, since I see it's all fine and easy to boot from an .iso image - is copy the files from an .iso file onto a partition on a USB stick and boot from those files using the grub command line (or a custom grub menu).
My setup is this:
/sdb - 16gb USB stick /sdb1 - 1gb FAT32 "General" /sdb2 - 12gb ext4 "Archive" (files to share between linux distros) /sdb5 - 1.5gb ext4 "UbuntuLive" /sdb6 - 1.5gb ext4 "FedoraLive" /sdb7 - 1gb ext4 "PuppyLive"
I installed grub using
sudo grub-install --force --no-floppy --root-directory=/media/General /dev/sdb - no problems there. Then I mounted each "Live" partition in Ubuntu and extracted the files from each respective .iso file into its partition, so now each partition mirrors an .iso file. I rebooted, and I've found that I can boot into Puppy linux by just typing the following at the grub command line that comes up:
set root=(hd0,msdos7) linux /vmlinuz initrd initrd.gz boot
However, when I try the same with Ubuntu or Fedora (without any arguments), I get various degrees of kernel panics. When I try appending the arguments that an actual install uses in its grub.cfg, I get different errors (and usually a busybox shell for ubuntu or a recovery shell for fedora). When I try appending the arguments that each distro uses in its .iso's grub.cfg, I get still other errors. I just can't figure out which arguments do what: which ones I need, which ones should be modified and how, etc.
So the meat of the question: Is there any kind of documentation that would explain why you pass arguments to the kernel at boot and which arguments do what? This would theoretically allow me to copy any LiveCD files from any distro onto a partition and boot it if I'm good enough, right?