Live CD/USB personnalisé Ubuntu, UEFI et secure boot
Bonjour,
j'avais réalisé, il y a un ou deux ans, la construction d'un live CD/USB personnalisé de sauvegarde-dépannage sur la base d'une Ubuntu 16.04 minimale. Ce live était en mesure de booter aussi bien en Legacy qu'en UEFI avec secure boot.
Désireux d'automatiser sa construction pour le mettre régulièrement à jour, je me heurte depuis deux semaines à des difficultés pour lesquelles je ne trouve pas de réponse.
La construction de ce même live échoue aujourd'hui à booter en UEFI. Pour tenter de comprendre à quel niveau se trouvait le problème, je me suis amusé à tester la décompression et reconstruction d'iso officielles Ubuntu avec xorriso, sans rien modifier du contenu. Voici mes constats:
- La décompression d'une iso 16.04 et reconstruction sous une xubuntu 18.04 conduit à un échec en UEFI
- La décompression d'une iso 16.04 et reconstruction sous une xubuntu 16.04 conduit au même échec.
- Si l'on utilise les fichiers de boot d'une 18.04 pour construire une 16.04 au sein d'une machine 18.04, le menu grub démarre mais :
- le système démarre en UEFI sans secure boot
- on a un échec lors du lancement de la distribution en secure boot avec un message d'erreur de signature invalide pour vmlinuz
Quelqu'un a-t-il des explications là-dessus, et la solution pour reconstruire un live 16.04 compatible UEFI et secure boot ?
Précisions:
pour le fichier isohdpfs.bin, j'ai tenté les différentes possibilités:
- utiliser celui fourni par l'installation du paquet isolinux
- le construire à partir de la mbr de l'iso par
Code:
sudo dd if=/chemin/image.iso bs=512 count=1 of=isohdpfx.bin
Pour la construction de l'iso, j'utilise la commande suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| xorriso -as mkisofs \
-isohybrid-mbr /chemin/isohdpfx.bin \
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e boot/grub/efi.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-o ~/mon-live.iso \
/chemin/dossier/fichiers-boot-iso |