Originally Posted by SnowSurfAir
edit: wait, does that mean that I have to change the root option to be (hd0,0)?
It looks like the root option (for grub) is already (hd0,0), as it should be. That's fine. That tells grub where to find /vmlinuz26and /kernel26.img. Clearly, those two files are in the proper place on (hd0,0), since the first boot option works.
However, I'm guessing that squashfs support is not built into kernel26.img. Certainly, squashfs support is available in the "main" OS. However, that's only available AFTER booting into the "main" OS. Grub doesn't know how to mount squashfs and even if it did it wouldn't directly help the initial ramdisk boot up.
Basically, here's the boot sequence:
1) Minimal GRUB loads from main boot record, looks for "big" GRUB on (hd0,0). It loads up "big" GRUB (stage 1.5).
2) "big" GRUB loads up with the menu and stuff. It loads up the kernel and initial ram file system.
3) Initrd.img. This is a lightweight linux OS running entirely in RAM from a tmpfs ramdisk. It gets hardware up and running, binds them up into the "main" OS, and then hands everything over to the "main" OS.
4) The "main" OS takes over with its "init" script. Among other things, it will now look at /etc/fstab and mount file systems other than root and the device file systems already brought up by initrd.img.
The point where it's breaking down, I suspect, is within the inital ramdisk bootup. I think that the kernel26.img you've built does NOT have squashfs built into it.
I'm not familiar with rebuilding the initrd.img in Arch, but I expect that's where you'll need to go to fix this.