J'ai trouvé une nouvelle solution à mon problème. Elle est économique en place, car on n'a plus besoin d'avoir le fichier squashfs présent deux fois. Par contre, elle nécessite
de "soulever le capot" pour faire une petite manipulation.
L'entrée correspondante du fichier grub.cfg est la suivante :
menuentry "Fedora-Xfce-Live-x86_64-31-1.9.iso" {
set isodir=/run/initramfs/isoscan
set isofile=Fedora-Xfce-Live-x86_64-31-1.9.iso
loopback loop "/$isofile"
linux (loop)/isolinux/vmlinuz ro iso-scan/filename=$isofile root=live:$isodir/$isofile rd.live.image rd.shell rd.break=initqueue rd.vconsole.keymap=fr
initrd (loop)/isolinux/initrd.img
}
Les trois derniers paramètres de la ligne linux servent à s'arrêter au bon moment en se trouvant dans un shell avec un clavier AZERTY, ce qui est plutôt agréable.
Entrer alors les commandes suivantes :
cd /usr/lib/dracut/hooks/initqueue/settled
mv iso-scan.sh aso-scan.sh
exit
Le problème vient du fait que les deux derniers scripts du directory sont exécutés dans l'ordre alphabétique. Or, pour que ça puisse marcher, il est indispensable
qu'ils soient exécutés dans l'ordre inverse. La solution simple, bête et méchante que j'ai trouvée consiste à en renommer un pour qu'il soit correctement
exécuté avant l'autre. L'instruction exit sort du shell et redonne le contrôle au reste du processus de démarrage.
Cette solution n'est pas parfaite, mais elle a le mérite d'être beaucoup plus économique que la précédente. Je ne désespère pas encore de trouver mieux.
Je l'aurai, un jour, je l'aurai !!!