Para entender o porquê de eu ter esse setup veja Como bootar uma imagem ISO usando o Grub.

Aqui vou mostrar primeiro como usar um arquivo squashfs e depois uma ISO do Ubuntu.

Meu setup é um laptop Arch Linux usando UEFI e systemd-boot. Para ver como fazer o mesmo usando grub veja o outro post.

GRML Small

Baixe a ISO: grml.org.

Primeiro você precisa copiar alguns arquivos da ISO.

Monte a ISO e entre nela com cd:

$ mkdir /boot/grml
$ cp boot/grml64small/vmlinuz boot/grml64small/initrd.img live/grml64-small/grml64-small.squashfs /boot/grml

Crie o arquivo /boot/loader/entries/grml.conf:

title Grml Live Linux
linux /grml/vmlinuz
initrd /grml/initrd.img
options apm=power-off boot=live live-media-path=/grml/ nomce net.ifnames=0

GRML Full

Para a versão full o comando é similar, apenas substitua small por full:

$ cp boot/grml64full/vmlinuz boot/grml64full/initrd.img live/grml64-full/grml64-full.squashfs /boot/grml

O arquivo entry é similar, mas não idêntico. Certifique-se de atualizá-lo.

Ubuntu

Com Ubuntu é similar, ainda é necessário copiar um initrd.img, vmlinuz, mas também a ISO.

Para isso é necessário monta a ISO pelo menos uma vez para copiar casper/initrd e casper/vmlinuz.

Depois desse setup inicial atualizar é apenas copiar a imagem ISO para /boot novamente. (Opcionalmente copie os outros arquivos).

Primeiro copie a ISO para /boot.

Monte a ISO e cd para o diretório no qual ela está montada, então:

$ mkdir /boot/casper
$ cp casper/initrd casper/vmlinuz /boot/casper

Crie o arquivo /boot/loader/entries/ubuntu.conf:

title Ubuntu Linux
linux /casper/vmlinuz
initrd /casper/initrd
options boot=casper iso-scan/filename=/ubuntu-20.04-desktop-amd64.iso noeject noprompt

Lembre-se de atualizar a última linha com o nome correto da sua ISO.

Também lembre-se que a ISO está em /boot, mas os outros arquivos estão em /boot/casper.

Se quiser mais facilidade renomeie a ISO para ubuntu.iso desta forma você não precisa atualizar o arquivo entry toda vez que atualizar a ISO.

Para mais opções para o casper seja: https://manpages.ubuntu.com/manpages/xenial/man7/casper.7.html.