Vous ne pouvez pas facilement convertir un binaire x86 en ARM. Si vous ne pouvez pas obtenir le code source ou un binaire ARM du fabricant et que vous voulez vraiment utiliser l'imprimante avec votre Pi2, l'approche Qemu est la bonne dans ce cas, bien qu'elle soit probablement très lente. . Qemu fait une émulation complète du système, mais il fonctionne également très bien pour l'émulation de processus unique.
Je suppose que vous avez une sorte de dérivé Debian sur votre Pi2 (je ne suis pas sûr que cela fonctionnera avec Raspbian), et que le binaire que vous avez est destiné i386
(s'il est 64 bits, utilisez-le à la amd64
place). Commencez par ajouter i386
une architecture étrangère:
sudo dpkg --add-architecture i386
sudo apt-get update
Exécutez ensuite ldd
sur le binaire et ajoutez toutes les bibliothèques requises; typiquement
sudo apt-get install libc6:i386
et toute autre chose avec le :i386
suffixe ajouté. Assurez-vous que cela ne supprime aucun package installé; nous espérons que tout ce dont vous avez besoin est compatible multiarchitecture. (Sinon, le reste ne fonctionnera pas.)
Une fois que vous avez fait cela, installez-le qemu-user-static
s'il n'est pas déjà installé (avec sa binfmt-support
recommandation); alors vous pouvez utiliser qemu-i386-static
pour exécuter votre programme:
qemu-i386-static /usr/lib/cups/filter/rasterorp3150
En fait, grâce à binfmt-support
cela, il devrait fonctionner directement (comme l'a souligné Toby Speight ):
/usr/lib/cups/filter/rasterorp3150
( binfmt-support
utilisera Qemu pour rendre ce travail transparent.)
Si vous ne voulez pas utiliser binfmt-support
, rasterorp3150
éloignez-vous:
sudo mv /usr/lib/cups/filter/rasterorp3150 /usr/lib/cups/filter/rasterorp3150.x86
et installez un script contenant
#!/bin/sh
exec qemu-i386-static /usr/lib/cups/filter/rasterorp3150.x86 "$@"
comme /usr/lib/cups/filter/rasterorp3150
.
Si vous préférez, vous pouvez configurer un chroot pour tout cela; voir debootstrap
et son --foreign
option (le chroot peut être configuré pour utiliser Qemu automatiquement).