フォローしようとしています。このガイドDebian armel を実行する SheevaPlug に Ventrilo サーバーを設定します。このページでは、QEMUを使用してArmシステムでi386用に作成されたバイナリを実行できることを説明します。
qemu設定qemu、qemu-user、およびqemu-libc-i386をインストールする必要があるとします。最初の2つを見つけました。適切、しかしqemu-libc-i386パッケージではありません。だから私は次のようにVentriloサーバーを実行するためにqemuを実行してみました。
# qemu-i386 ./ventrilo_srv
/lib/ld-linux.so.2: No such file or directory
ld-linux.so.2
これはarmelのi386バージョンのようですld-linux.so.3
。
だから私は他のLinuxディストリビューションでこれを行う方法を知っていますが、彼らがクレイジーディストリビューションで実行できるなら、Debianでも実行できるはずです。インストールできるパッケージを入手できます。libc-i386これにより、実行することができます(例:ia32ライブラリx64システムの場合? ) また、他のi386システムからコピーしようとしましたが、so.2
何の効果もありませんでした。
答え1
はい、QEmuでx86バイナリを実行できます。QEmuはARMプロセッサで実行されます。 QEmuはx86プロセッサのソフトウェアエミュレーションを実行するため、非常に遅く、RAMが不足する可能性がありますが、動作します。
このqemu-user
パッケージには、仮想マシン自体、x86プロセッサ、および一部のハードウェアデバイスのエミュレータ、およびそのハードウェアで実行されるLinuxカーネルが含まれています。 (qemu-system
パッケージには、選択したオペレーティングシステムをインストールできるハードウェアエミュレータが含まれています。)まだ/lib/ld-linux.so.2
(動的にリンクされた実行可能ファイルを実行するために必要なダイナミックローダ)と、複数のランタイム環境で仮想マシンを入力する必要があります。図書館。これがqemu-libc-i386
Optwareのパッケージが提供するものです。 amd64 システムとやや似ていますia32-libs
が、amd64 プロセッサが基本的に i386 バイナリを実行できるため、はるかに簡単です。ここでは、x86 VMにライブラリが必要です。
捕まえようとすることもできますqemu-libc-i386
Optwareのソフトウェアパッケージ。 Optwareパッケージ形式はDebianによく似ているため、ipkをdebに手動で変換できます。
mkdir tmp
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/qemu-libc-i386_2.3.6-1_arm.ipk
tar xzf qemu-libc-i386_2.3.6-1_arm.ipk
ar rc qemu-libc-i386_2.3.6-1_arm.deb debian-binary control.tar.gz data.tar.gz
私はこれが動作することを保証しません。 QEmuのバージョンが一致することを確認する必要があるかもしれません。
修正されたipkインストールが機能しない場合は、その内容をシステムにコピーしてみてください。どこかに解凍しdata.tar.gz
(または他のx86システムから同じファイルをインポートし)、スクリプトが何をしているのかpostinst
をcontrol.tar.gz
確認してくださいqemu-i386
。
答え2
私のPC i386をコピーしてARMデバイスの問題を解決しました。ld-linux.so.2次のように:
scp /lib/ld-linux.so.2 [email protected]:/lib
次に、必要な共有ライブラリをすべてコピーします。私の場合は、コピーする前にデバイス内の新しいフォルダにすべてクリーンアップしました。
mkdir /lib/i386-linux-gnu
scp /usr/lib/i386-linux-gnu/libstdc++.so.6 [device]:/lib/i386-linux-gnu
scp /usr/lib/i386-linux-gnu/libgcc_s.so.1 [device]:/lib/i386-linux-gnu
scp /usr/lib/i386-linux-gnu/libc.so.6 [device]:/lib/i386-linux-gnu
scp /usr/lib/i386-linux-gnu/libm.so.6 [device]:/lib/i386-linux-gnu