J'essaie de suivre ce guide pour configurer un serveur Ventrilo sur mon SheevaPlug, exécutant Debian armel. Cette page indique que je peux utiliser QEMU pour exécuter le binaire créé pour i386 sur mon système de bras.
La configuration de qemu indique que je dois installer qemu, qemu-user et qemu-libc-i386. J'ai trouvé les deux premiers dans apt-get , mais qemu-libc-i386 n'est pas un package. J'ai donc essayé d'exécuter qemu pour exécuter le serveur ventrilo comme ceci:
# qemu-i386 ./ventrilo_srv
/lib/ld-linux.so.2: No such file or directory
Il semble que ce ld-linux.so.2
soit la version i386 de ce que j'ai en armel ld-linux.so.3
.
Je sais donc comment faire pour une distribution différente de Linux, mais il semble que je devrais être en mesure de faire fonctionner cela dans Debian s'ils le pouvaient dans leur folle distribution. Existe-t-il un package que j'obtiendrai qui installera la libc-i386 afin que je puisse le faire fonctionner (similaire à ia32-libs pour un système x64?) J'ai également essayé de copier le so.2
depuis un autre système i386 et cela ne m'a pas permis nulle part.
Réponses:
Oui, vous pouvez exécuter des binaires x86 dans QEmu avec QEmu exécuté sur un processeur ARM. Ce sera très lent, car QEmu fait une émulation logicielle du processeur x86, et vous pouvez vous retrouver à court de RAM, mais cela peut fonctionner.
Le
qemu-user
paquet contient la machine virtuelle elle-même, c'est-à-dire un émulateur d'un processeur x86 et certains périphériques matériels et un noyau Linux fonctionnant sur ce programme. (Leqemu-system
package contient un émulateur du matériel sur lequel vous pouvez installer le système d'exploitation de votre choix.) Vous devez toujours remplir la machine virtuelle avec un environnement d'exécution, y compris/lib/ld-linux.so.2
(le chargeur dynamique, nécessaire pour exécuter tout exécutable lié dynamiquement) et un tas de bibliothèques. C'est ce queqemu-libc-i386
propose le package sur Optware. Il est quelque peu similaire à celui desia32-libs
systèmes amd64, mais c'est beaucoup plus simple car un processeur amd64 peut exécuter les binaires i386 en natif; ici, vous devez avoir les bibliothèques à l'intérieur de la machine virtuelle x86.Vous pouvez essayer de récupérer le
qemu-libc-i386
package d'Optware. Le format du package Optware est très proche de celui de Debian, vous pouvez donc convertir l'ipk en deb manuellement:Je ne garantis pas que cela fonctionnera. Vous devrez peut-être vous assurer que les versions de QEmu correspondent.
Si l'installation de l'ipk modifié ne fonctionne pas, essayez de reproduire son contenu sur votre système. Décompressez
data.tar.gz
quelque part (ou récupérez les mêmes fichiers d'un autre système x86), voyez ce que fait lepostinst
scriptcontrol.tar.gz
et fournissez les chemins d'accès appropriésqemu-i386
.la source