Anda tidak dapat dengan mudah mengkonversi biner x86 ke ARM. Jika Anda tidak bisa mendapatkan kode sumber, atau binari ARM dari pabrikan, dan Anda benar-benar ingin menggunakan printer dengan Pi2 Anda, maka pendekatan Qemu adalah yang benar dalam kasus ini, meskipun kemungkinan akan sangat lambat . Qemu melakukan emulasi sistem penuh tetapi juga bekerja dengan sangat baik untuk emulasi proses tunggal.
Saya berasumsi Anda memiliki semacam turunan Debian pada Pi2 Anda (saya tidak yakin ini akan bekerja dengan Raspbian), dan bahwa biner yang Anda miliki adalah untuk i386
(jika 64-bit, gunakan amd64
saja). Mulai dengan menambahkan i386
sebagai arsitektur asing:
sudo dpkg --add-architecture i386
sudo apt-get update
Kemudian jalankan ldd
pada biner dan tambahkan perpustakaan yang dibutuhkan; khas
sudo apt-get install libc6:i386
dan apa pun dengan :i386
akhiran yang ditambahkan. Pastikan ini tidak menghapus paket yang diinstal; semoga semua yang Anda butuhkan adalah multi-enabled-enabled. (Kalau tidak, sisanya tidak akan bekerja.)
Setelah Anda selesai melakukannya, instal qemu-user-static
jika belum diinstal (beserta binfmt-support
rekomendasinya); maka Anda dapat menggunakan qemu-i386-static
untuk menjalankan program Anda:
qemu-i386-static /usr/lib/cups/filter/rasterorp3150
Sebenarnya berkat binfmt-support
itu harus dijalankan langsung (seperti yang ditunjukkan oleh Toby Speight ):
/usr/lib/cups/filter/rasterorp3150
( binfmt-support
akan menggunakan Qemu untuk menjadikan pekerjaan ini transparan.)
Jika Anda tidak ingin menggunakan binfmt-support
, pindah rasterorp3150
:
sudo mv /usr/lib/cups/filter/rasterorp3150 /usr/lib/cups/filter/rasterorp3150.x86
dan instal skrip yang berisi
#!/bin/sh
exec qemu-i386-static /usr/lib/cups/filter/rasterorp3150.x86 "$@"
sebagai /usr/lib/cups/filter/rasterorp3150
.
Jika mau, Anda dapat mengatur chroot untuk semua ini; lihat debootstrap
dan --foreign
opsinya (chroot dapat diatur untuk menggunakan Qemu secara otomatis).