Installer grub et xorriso sur Ubuntu sous Windows

1

Je dois utiliser grub-mkrescue pour générer des ISO. Mon environnement de travail principal est sur une machine Windows 10. J'utilise déjà le système Linux pour diverses tâches.

J'ai réussi à installer grub sans problèmes, mais j'ai besoin de xorriso pour pouvoir utiliser grub-mkrescue. Quand sudo apt-get install xorrisoj'obtiens l'erreur suivante:

Lecture des listes de packages ... Terminé Création d'une arborescence de dépendances Lecture d'informations d'état ... Terminé Le package xorriso n'est pas disponible, mais est référencé par un autre package. Cela peut signifier que le paquet est manquant, obsolète ou disponible uniquement à partir d'une autre source.

E: Le package 'xorriso' n'a pas de candidat pour l'installation

Est-ce pris en charge?

utilisateur3804799
la source

Réponses:

0

Construisez sa version liée de manière statique à partir des sources.

Téléchargez https://www.gnu.org/software/xorriso/xorriso-1.4.6.tar.gz dans un répertoire dans lequel vous souhaitez créer xorriso.

tar xzf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
touch xorriso/*.info
./configure && make

Je suppose que vous avez besoin des paquets build-essentialet tar.

Cette commande touch xorriso/*.infoévite le recours à un programme makeinfo depuis un package texinfoqui pourrait survenir dans de rares cas en raison d’une séquence malencontreuse de fichiers dans xorriso-1.4.6.tar.gz. (Pour les symptômes d'échec, voir le commentaire de user3804799 daté du 12 octobre à 18h56. Cela ne peut pas se produire sur de vraies Debian ou Ubuntu, car taraucune option ne -mrestaure l'horodatage à partir de l'archive tar.)

Le succès devrait donner un binaire géré par

xorriso/xorriso -version

devrait dire quelque chose comme

GNU xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project.
...
There is NO WARRANTY, to the extent permitted by law.

Si c'est le cas, vous pouvez utiliser le chemin d'accès complet au binaire exécutable comme argument d' grub-mkrescueoption --xorriso.

grub-mkrescue -o grub.iso --xorriso=/...path.../xorriso-1.4.6/xorriso/xorriso prepared_directory

Il est supposé que vous pouvez déplacer le binaire exécutable vers n’importe quel autre emplacement de stockage, si cela vous convient mieux.



Bien que le problème de la construction de GNU xorriso dans le sous-système Win10-Ubuntu n’ait pas été diagnostiqué, j’ai ajouté les instructions suivantes pour créer un fichier binaire sur Ubuntu réel sans dépendances du noyau Linux, ce qui a probablement gardé xorriso hors du référentiel Win10-Ubuntu.

Si xorriso/xorrisoa déjà été construit dans l' xorriso-1.4.6arborescence, supprimez d'abord tous les résultats de la compilation:

make clean

Appliquez une configuration qui ne fait pas référence à des fonctionnalités spécifiques à Linux et compilez:

export CFLAGS="-DLibburn_use_sg_dummY"
./configure --disable-libacl --disable-xattr --disable-zlib --disable-libreadline
make

Le fichier résultant xorriso/xorrisodoit ensuite être copié dans le sous-système Win10-Ubuntu. Essayez de /...path.../xorriso -versionsavoir s'il est prêt à commencer (c'est-à-dire s'il trouve les bibliothèques nécessaires).

xorriso construit et fonctionne sous Win10-Ubuntu avec "l'adaptateur GNU / Linux SG_IO sg-linux". Mais ioctl (SG_IO) ou l'accès aux lecteurs optiques ne semble pas implémenté. Aucun lecteur n'est détecté.
Il semble donc préférable de procéder par -DLibburn_use_sg_dummYcompilation avec "X / Open adapter sg-dummy", qui ne dépend pas des spécificités de Linux et n'essaie pas du tout de faire fonctionner des lecteurs optiques.

Thomas Schmitt
la source
Merci. Je connaissais --xorriso, mais je n’avais jamais pensé à le construire moi-même. J'ai des problèmes de compilation: "Makefile: 2907: la recette pour la cible" xorriso / xorrecord.info "a échoué. Make [1]: *** [xorriso / xorrecord.info] Erreur 127: make [1]: Quitter le répertoire" / mnt / c / Work / xorriso / xorriso-1.4.6 'Makefile: 824: la recette pour la cible' tous 'a échoué: make: *** [all] Error 2 "et un avertissement concernant l'absence de makeinfo dans mon système et son utilisation seulement si j'ai modifié un fichier .texi (ce que je n'ai pas fait).
user3804799
Les fichiers .info sont supposés être à jour dans le fichier tar.gz. Discutons-en par mail et publions plus tard le résultat ici. Veuillez envoyer la sortie complète du message ./configure && make à [email protected]. Je proposerai alors plus d'enquêtes ou d'expériences. (Ce contenu pour Ubuntu-on-Win-10 semble être assez récent.)
Thomas Schmitt
La raison de l'échec de la construction initiale a été trouvée. Par malchance, les fichiers .texi ont été extraits de l'archive une seconde plus tard que les fichiers .info. Donc "make" a essayé de générer .info à partir de .texi mais il lui manquait le programme "makeinfo" du paquet "texinfo".
Thomas Schmitt