EUREKA !!!
J'ai trouvé une manière ( bizarre ?... ) de démarrer sans perte de place ni intervention humaine pendant l'exécution de l' initramfs.
Dans le script /usr/sbin/iso-scan , lorsque le fichier iso a été trouvé sur la partition testée dans la boucle, l'instruction suivante est exécutée avant de sortir du script :
losetup -f "/run/initramfs/isoscan/$isofile"
Un "man losetup" nous apprend que le périphérique de boucle pointant vers le fichier cité est alors le premier périphérique boucle non utilisé.
J'ai alors émis une conjecture : s'il s'agit de la première instruction losetup exécutée depuis le démarrage du système, alors le périphérique de boucle affecté
a de fortes chances d'être /dev/loop0 . Si elle est fausse, on pourra toujours essayer de se rabattre sur /dev/loop1 , puis sur /dev/loop2 , etc...
Pour le récupérer, la recette est alors simple. Il suffit, dans la ligne "linux" de grub.cfg , d'insérer :
root=live:/dev/loop0 . Ceci donne, par exemple :
linux (loop)/isolinux/vmlinuz ro iso-scan/filename=$isofile root=live:/dev/loop0 rd.live.image
On peut ajouter d'autres paramètres, comme
quiet ou
rd.live.ram=1 .
C'est tombé en marche dès le premier essai, et les essais suivants ( histoire de vérifier que je n'avais pas eu seulement un coup de chance ) ont tous
été concluants.
Je me suis rendu compte que, pendant que j'essayais de démarrer la version 31, la version 32 était sortie. Je l'ai téléchargée et l'ai ajoutée à ma clé USB
en lui appliquant la même recette. L'essai a également été concluant.