The point of squashfs is to compress files. Once it is loaded, it behaves like any other filesystem, AFAIK.
You can do what you want. It just takes work. At one time, I had a boot menu that worked exactly like you are describing. It booted about 6 different distros including one that connected via rdesktop to a Windows server in the office at work.
The thing is that different distros package their files differently. So, if you want one standard way of writing the menu options for the boot menu, you need to get real familiar with how to "un-roll" the isos (I'm assuming you're downloading iso files from each distro) and organise the files using which ever method you choose of delivering them to the boot loaded kernel.
Also, each distro will have a kernel set up differently. They may leave things out, add things in, generally do it any old way they want. So, your kernel boot options (the APPEND command line) may require different options.
So, prepare to get very familiar with setting up initrd files as well.
I would say, "work on one distro at a time". Get that distro to boot off PXE, understand the parameters it needs and then try to merge it into your boot menu.
I do remember getting Linux Mint, CrunchBang, Clonezilla, Slax and Thinstation to boot of my PXE menu.
There is also the Fog Project which is a way of managing machines based on PXE (as far as I recall). You might want to look at that. They basically create boot images and deliver them on demand over PXE. Really advanced stuff. Far ahead of "roll your own' solutions. Those guys have thought deeply about maximizing the use of PXE/gPXE to manage PCs/servers.
https://github.com/FOGProject/fogproject
https://fogproject.org/
My basic technique was to set up a folder for each distro, mount the iso on the folder, duplicate the isolinux command line in a pxelinux cfg file, get it working off DHCP/PXE with NFS/HTTP/ whatever and add that to my boot menu.
I would use a VirtualBox VM as the boot PC to test the options. Slowly, slowly, I'd get the thing to work, then add another option to my boot menu.
But definitely check out the Fog Project. Worth a look even if you don't use it.
As for why people use either NFS or HTTP/S, NFS is easier to set up, IMO but HTTP/S provides the possibility of booting from a server over the internet, on a different subnet, etc, and having the image coming across the wire in a secure fashion. I'm not sure but I think TFTP does not work across different subnets. Could be wrong on that point.
I did do one installation one memorable afternoon, which booted Slackware off a hard drive on one PC in a lab and delivered a bootable image to all the other PCs in the lab from that one machine. The bootable image then connected via rdesktop to a Windows server in the capital. Then, I cloned that hard drive onto 3 more coz the client had 4 similar labs in different parts of the country.
Slackware, BTW, comes with detailed instructions on setting up PXE on the install DVD and also
http://slackware.uk/slackware/slackw...README_PXE.TXT. Pretty detailed explanation of everything you need to know to get PXE working in a general sense.
Knoppix, in the amazingly efficient way that Germans seem to produce software, comes with a PXE server already set up and ready to go off the live boot CD. You can unroll their options as well for more insight.
Another useful distro you might want to look at is Thinstation. This has REALLY evolved over the years. Nowadays, you can download an environment that basically "compiles" your own distro, either stripped down to the bare basics or as fully loaded as you want. Thinstation allows you to tailor the boot image to the characteristics of the hardware you are booting from, eg specific NICs, video card, video resolution, modules to be loaded into the initrd, services to be set up and run from the PXE image, etc. Lots of fun and sometimes time consuming to get right. But, it's all an education, right?
It might also be worth your while to read up on this website
http://www.syslinux.org/wiki/index.p...slinux_Project
Syslinux, and its brothers, basically cover the entire range of options available for booting Linux (and other OSes). You'd end up here eventually anyhow. They've got screenshots
http://www.syslinux.org/wiki/index.p...le=Screenshots of menus, etc. All the detail you want.
I've also found it useful to look at multiboot USB solutions.