Ich kenne deine chakra.iso nicht.
Generell ist es aber so: Du brauchst im Bootloader einfach den Kernel und das Initramfs das gebootet werden soll. Dann bist du (im Bootloader) fertig.
Die eigentliche Magie findet dann im gebooteten Kernel/Initramfs selber statt. Das Initramfs macht den Isoloop-Squashfs-Mount, nicht der Bootloader.
Der Bootloader macht den Quatsch nur, um überhaupt an den Kernel und das Initramfs heranzukommen. Und wenn das auf der ISO irgendwie kompliziert versteckt und verpackt wäre... dann könntest du einfach die beiden Dateien selber rauskopieren und direkt im Grub laden, ganz ohne den Isosquash-Quatsch im Grub zu haben.
Was passiert denn, wenn du das Ding bootest? Wenn du auf einer Initramfs-Shell landest, dann hast du vielleicht die falschen Parameter gesetzt. Welche Parameter das sein müssen, ist bei jeder ISO anders (abhängig vom Initramfs und da kocht jeder sein eigenes Süppchen).
Kann auch sein daß du dich einfach nur verschrieben hast? isoloop=$isofile statt isoloop=$iso. Oder so.
Beispiel für eine Systemrescue-CD aus meiner grub.cfg
menuentry "SystemRescueCD 5.3.1 amd64" {
set isofile="systemrescuecd-x86-5.3.1.iso"
loopback loop (hd0,msdos3)/$isofile
linux (loop)/isolinux/rescue64 isoloop=$isofile
initrd (loop)/isolinux/initram.igz
}
Genausogut ginge aber auch (wenn ich die beiden Dateien rescue64 und initram.igz von Hand rauskopiert und umbenannt hätte - umbenannt damit man weiss wo es dazugehört):
menuentry "SystemRescueCD 5.3.1 amd64" {
linux /systemrescuecd-x86.5.3.1.iso-rescue64 rescue64 isoloop=systemrescuecd-x86-5.3.1.iso
initrd /systemrescuecd-x86.5.3.1.iso-initram.igz
}
Der Bootloader braucht keine Unterstützung für loop oder squashfs. Der Bootloader braucht einfach nur den Kernel. Und das Initramfs. Und muss die passenden Parameter mitgeben.
Das Initramfs selber braucht dann die ISO. Und das ganze klappt auch nicht mit allen ISOs sondern eben nur mit denen, deren Initramfs das irgendwie unterstützt, dann beim Booten eine ISO-Datei zu loopmounten. Die Magie passiert innnerhalb der ISO selbst, nicht im Bootloader.
Alternativ gibts dann noch die Variante - wo alle Dateien im Initramfs schon drin sind. Der Debian netinstaller macht das z.B. so. Da brauchst du dann nur Kernel und Initramfs - und gar keine ISO Datei mehr, die fällt unter den Tisch. Mit einer großen LiveDVD kann man das aber normal nicht bringen, bzw. das würde dann eben ziemlich viel RAM brauchen. (Der Debian netinstaller ist winzig klein)