No puede convertir fácilmente un binario x86 a ARM. Si no puede obtener el código fuente, o un binario ARM del fabricante, y realmente desea utilizar la impresora con su Pi2, entonces el enfoque de Qemu es el correcto en este caso, aunque probablemente sea muy lento . Qemu realiza la emulación completa del sistema, pero también funciona muy bien para la emulación de un solo proceso.
Supongo que tiene algún tipo de derivado de Debian en su Pi2 (aunque no estoy seguro de que esto funcione con Raspbian), y que el binario que tiene es para i386(si es de 64 bits, use amd64en su lugar). Comience agregando i386como arquitectura extranjera:
sudo dpkg --add-architecture i386
sudo apt-get update
Luego, ejecute ldden el binario y agregue las bibliotecas necesarias; típicamente
sudo apt-get install libc6:i386
y cualquier otra cosa con el :i386sufijo agregado. Asegúrese de que esto no elimine ningún paquete instalado; Esperemos que todo lo que necesita esté habilitado para multiarch. (De lo contrario, el resto no funcionará).
Una vez que haya hecho eso, instálelo qemu-user-staticsi aún no está instalado (junto con su binfmt-supportrecomendación); entonces puedes usar qemu-i386-staticpara ejecutar tu programa:
qemu-i386-static /usr/lib/cups/filter/rasterorp3150
De hecho, gracias a binfmt-supportél debería ejecutarse directamente (como lo señaló Toby Speight ):
/usr/lib/cups/filter/rasterorp3150
( binfmt-supportutilizará Qemu para que esto funcione de manera transparente).
Si no quieres usar binfmt-support, rasterorp3150aléjate:
sudo mv /usr/lib/cups/filter/rasterorp3150 /usr/lib/cups/filter/rasterorp3150.x86
e instalar un script que contenga
#!/bin/sh
exec qemu-i386-static /usr/lib/cups/filter/rasterorp3150.x86 "$@"
como /usr/lib/cups/filter/rasterorp3150.
Si prefieres puedes configurar un chroot para todo esto; see debootstrapy su --foreignopción (el chroot se puede configurar para usar Qemu automáticamente).