2015-08-05 5 views
1

genisoimage et UEFI

Lorsque j'utilise la commande de suivi sur mon Kubuntu tout est OK

genisoimage -quiet -V "my-amd64" -J -R -r -l -cache-inodes -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 -o my-amd64.iso my-amd64/ 

isohybrid --uefi my-amd64.iso 

Mais quand je lance cette commande sur Debian Jessie je reçois suivre erreur:

genisoimage: option '-e' is ambiguous; possibilities: '--eltorito-boot' '--exchange' '--ethershare' '--exclude-list' '--exclude' '--eltorito-catalog' '--eltorito-alt-boot' 
Usage: genisoimage [options] -o file directory ... 

Il semble que genisoimage sur Kubuntu (15.04) et Debian Jessie n'a pas les mêmes options. Sur Debian genisomage ne supporte pas UEFI.

Version à la fois le système est le même: genisoimage 1.1.11

Mais je dois créer une image ISO sur Debian Jessie. Une solution de contournement pour cela?

+0

J'ai trouvé la solution 'stupide'. Prenez un code source avec diff d'ubuntu et construisez sur la machine de Debian Jessie. Maintenant fonctionne, mais existe peut-être une autre solution? – Kolesar

Répondre

2

Apparemment, il y avait un changement incompatible dans Mondo ou genisoimage. The problem was reported, but the provided wrapper-workaround got a bit mangled by the wiki. L'utilisation d'un wrapper résout le problème pour tout ce qui dépend de cette syntaxe.

Voici ce que je l'ai fait:

Préparer l'emballage:

mv /usr/bin/genisoimage /usr/bin/genisoimage.dist 
YourFavoriteTextEditor /usr/bin/genisoimage 

Copiez/collez l'emballage:

#!/bin/bash 

options=() # the buffer array for the parameters 

while [[ $1 ]] 
do 
    case "$1" in 
    -e) 
    options+=("--eltorito-boot") 
    shift 
    ;; 
    *) 
    options+=("$1") 
    shift 
    ;; 
    esac 
done 

echo Calling genisoimage.dist "${options[@]}" 
eval exec /usr/bin/genisoimage.dist "${options[@]}" 

Marque exécutable emballage:

chmod 755 /usr/bin/genisoimage 

Vivez heureux pour toujours. :-)