x86バイナリをARMに簡単に変換することはできません。製造元からソースコードまたはARMバイナリを取得できず、本当にプリンターをPi2で使用したい場合、この場合はQemuアプローチが適切ですが、非常に遅くなります。 。Qemuは完全なシステムエミュレーションを実行しますが、シングルプロセスエミュレーションにも非常にうまく機能します。
私はあなたがあなたのPi2にある種のDebian派生物を持っていると仮定しています(これがRaspbianで動作するかどうかはわかりません)、そしてあなたが持っているバイナリはi386
(64ビットの場合はamd64
代わりに使用してください)。まずi386
、外部アーキテクチャとして追加します。
sudo dpkg --add-architecture i386
sudo apt-get update
次にldd
、バイナリで実行し、必要なライブラリを追加します。通常
sudo apt-get install libc6:i386
そして、:i386
サフィックスが追加された他のもの。インストールされているパッケージが削除されないことを確認してください。うまくいけば、必要なものはすべてマルチアーチ対応になります。(それ以外の場合、残りは機能しません。)
それが完了したら、qemu-user-static
まだインストールされていない場合は(binfmt-support
推奨事項とともに)インストールします。次にqemu-i386-static
、プログラムを実行するために使用できます。
qemu-i386-static /usr/lib/cups/filter/rasterorp3150
実際、binfmt-support
これは直接実行する必要があります(Toby Speightが指摘したように):
/usr/lib/cups/filter/rasterorp3150
(binfmt-support
Qemuを使用してこれを透過的に動作させます。)
を使用したくない場合はbinfmt-support
、移動しrasterorp3150
てください。
sudo mv /usr/lib/cups/filter/rasterorp3150 /usr/lib/cups/filter/rasterorp3150.x86
を含むスクリプトをインストールします
#!/bin/sh
exec qemu-i386-static /usr/lib/cups/filter/rasterorp3150.x86 "$@"
として/usr/lib/cups/filter/rasterorp3150
。
もし望むなら、これらすべてのためにchrootを設定することができます。see debootstrap
とその--foreign
オプション(chrootはQemuを自動的に使用するように設定できます)。