Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
utilisateurs:amj:brouillons:qemu-user [Le 21/10/2014, 02:27] – ajout du paragraphe sur proot amjutilisateurs:amj:brouillons:qemu-user [Le 11/09/2022, 13:14] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art
Ligne 15: Ligne 15:
  
 <code> <arch>-gcc helloworld.c </code> <code> <arch>-gcc helloworld.c </code>
-<note tip>attention le nom de gcc n'est pas toujours identique faites <code>ls /usr/bin/*gcc</code>  pour le retrouver</note> +<note tip>attention le nom de gcc n'est pas toujours identique faites <code>ls /usr/bin/*gcc</code>  pour le retrouver facilement</note> 
 <code>./a.out <code>./a.out
 bash: ./a.out : fichier binaire impossible à lancer </code> bash: ./a.out : fichier binaire impossible à lancer </code>
  
-L'exécutable a.out étant pour une architecture différente de l'hôte il ne peut pas être éxécuté+L'exécutable a.out étant pour une architecture différente de l'hôte il ne peut pas être exécuté
  
 [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt>qemu-user-static]]** et **[[apt>binfmt-support]]** [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt>qemu-user-static]]** et **[[apt>binfmt-support]]**
Ligne 29: Ligne 29:
 Cette librairie n'est pas installée (en tout cas pas si vous avez utilisé un compilateur externe à celui fourni dans les dépôts d'ubuntu) car nous ne nous trouvons pas sur un système de type arm. Cette librairie n'est pas installée (en tout cas pas si vous avez utilisé un compilateur externe à celui fourni dans les dépôts d'ubuntu) car nous ne nous trouvons pas sur un système de type arm.
 Trois solution s'offrent à vous Trois solution s'offrent à vous
-  -  Installer les librairies arm sur votre ordinateur. (ce que nous n'expliquerons pas ici)+  -  Installer les librairies arm sur votre ordinateur. (ce qui ne sera pas expliqué ici)
   -  Compiler le programme en static c'est à dire insérer les librairies dans l'exécutable et ainsi ne plus avoir de dépendances à ces librairies.   -  Compiler le programme en static c'est à dire insérer les librairies dans l'exécutable et ainsi ne plus avoir de dépendances à ces librairies.
   -  Utiliser un linux (un système non lancé au démarrage mais présent sur une partition) de la même architecture que celle de l'exécutable et grâce à la commande chroot le "lancer" sous votre système hôte malgré la différence entre l'architecture hôte et celle de ce système.   -  Utiliser un linux (un système non lancé au démarrage mais présent sur une partition) de la même architecture que celle de l'exécutable et grâce à la commande chroot le "lancer" sous votre système hôte malgré la différence entre l'architecture hôte et celle de ce système.
Ligne 60: Ligne 60:
 pour sortir du chroot tapez exit pour sortir du chroot tapez exit
  
-Lancer un programme "étranger" depuis un chroot +Lancer un programme "étranger" depuis un chroot
 <code><arch>-gcc helloworld.c -o helloworld  <code><arch>-gcc helloworld.c -o helloworld 
 cp helloworld /<emplacement du chroot>/usr/bin/helloworld cp helloworld /<emplacement du chroot>/usr/bin/helloworld
Ligne 75: Ligne 75:
  
 (pas de sudo) (pas de sudo)
-<code>proot -q /usr/bin/qemu-<arch> -/<racines des librairies etc...>/ /usr/bin/helloworld</code>+<code>proot -q /usr/bin/qemu-<arch> -/<racines des librairies etc...>/ /usr/bin/helloworld</code>
  
 ===== Source ===== ===== Source =====