Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Dernière révision Les deux révisions suivantes | ||
utilisateurs:amj:brouillons:qemu-user [Le 21/10/2014, 02:27] amj ajout du paragraphe sur proot |
utilisateurs:amj:brouillons:qemu-user [Le 21/10/2014, 02:36] amj relecture |
||
---|---|---|---|
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 75: | Ligne 75: | ||
(pas de sudo) | (pas de sudo) | ||
- | <code>proot -q /usr/bin/qemu-<arch> -R /<racines des librairies etc...>/ /usr/bin/helloworld</code> | + | <code>proot -q /usr/bin/qemu-<arch> -r /<racines des librairies etc...>/ /usr/bin/helloworld</code> |
===== Source ===== | ===== Source ===== |