Como resultado, o shell do GRUB suporta a expansão de curingas, mas somente se você carregar primeiro o módulo regexp do GRUB. Também é importante prestar atenção às aspas.
É ainda possível passar variáveis para menuentry
, especificando-as como argumentos (tratando menuentry como uma função). Eles são convertidos em uma chamada setparams
, configurando-os como $1, $2, $3
e assim por diante. O seguinte inicializa com sucesso uma imagem do Linux Mint sem codificar o nome do arquivo da imagem:
insmod regexp
for iso in /boot/iso/*.iso
do
menuentry $iso $iso {
echo "Booting from $2"
loopback loop $2
linux (loop)/casper/vmlinuz file=/cdrom/preseed/linuxmint.seed boot=casper iso-scan/filename=$2
initrd (loop)/casper/initrd.lz
}
done
Eu também descobri o projeto multibootusb , que <<> exatamente o que eu estava tentando alcançar, tornando meus esforços obsoletos.