Menjalankan binari Debian i386 pada lengan Debian via qemu

10

Saya mencoba mengikuti panduan ini untuk mengatur server Ventrilo di SheevaPlug saya, menjalankan lengan Debian. Halaman ini menyatakan bahwa saya dapat menggunakan QEMU untuk menjalankan biner yang dibuat untuk i386 pada sistem lengan saya.

Setup untuk qemu mengatakan bahwa saya perlu menginstal qemu, qemu-user, dan qemu-libc-i386. Saya menemukan dua yang pertama di apt-get , tetapi qemu-libc-i386 bukan paket. Jadi saya mencoba menjalankan qemu untuk menjalankan server ventrilo seperti ini:

# qemu-i386 ./ventrilo_srv
/lib/ld-linux.so.2: No such file or directory

Tampaknya itu ld-linux.so.2adalah versi i386 dari apa yang saya miliki di armel ld-linux.so.3.

Jadi saya tahu caranya adalah untuk distribusi Linux yang berbeda, tetapi sepertinya saya harus bisa menjalankan ini di Debian jika mereka bisa di distro gila mereka. Apakah ada paket yang bisa saya dapatkan yang akan menginstal libc-i386 sehingga saya bisa menjalankannya (mirip dengan ia32-libs untuk sistem x64?) Saya mencoba juga menyalin so.2dari sistem i386 lain dan itu tidak membuat saya dimana saja.

muncherelli
sumber
Mengenai masalah Anda, jika Anda tidak bergantung pada server VOIP ini , ada solusi Software VoIP-server Gratis , beberapa sudah dikemas untuk Debian / armel.
sr_
Benar- maksud saya, saya bisa menggunakan gumaman atau sesuatu, tetapi ini lebih merupakan "bisakah saya membuatnya bekerja dengan cara ini" daripada saya membutuhkan solusi untuk suatu masalah.
muncherelli

Jawaban:

4

Ya, Anda dapat menjalankan binari x86 di QEmu dengan QEmu berjalan pada prosesor ARM. Ini akan sangat lambat, karena QEmu melakukan emulasi perangkat lunak dari prosesor x86, dan Anda mungkin kekurangan RAM, tetapi bisa berfungsi.

The qemu-userpaket berisi mesin virtual itu sendiri, yaitu sebuah emulator dari prosesor x86 dan beberapa perangkat keras dan kernel Linux berjalan pada harwdare itu. ( qemu-systemPaket berisi emulator dari hanya perangkat keras tempat Anda dapat menginstal sistem operasi pilihan Anda.) Anda masih perlu mengisi mesin virtual dengan lingkungan runtime, termasuk /lib/ld-linux.so.2(loader dinamis, yang diperlukan untuk menjalankan setiap executable yang terhubung secara dinamis) dan banyak perpustakaan. Inilah yang disediakan qemu-libc-i386paket pada Optware. Ini agak mirip dengan ia32-libspada sistem amd64, tetapi itu jauh lebih sederhana karena prosesor amd64 dapat mengeksekusi binari i386 secara asli; di sini Anda perlu memiliki perpustakaan di dalam x86 VM.

Anda dapat mencoba mengambil qemu-libc-i386paket dari Optware. Format paket Optware sangat dekat dengan Debian, sehingga Anda dapat mengonversi ipk ke deb secara manual:

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 

Saya tidak menjamin ini akan berhasil. Anda mungkin perlu memastikan bahwa versi QEmu cocok.

Jika menginstal ipk yang dimodifikasi tidak berfungsi, cobalah mereproduksi kontennya di sistem Anda. Buka paket di data.tar.gzsuatu tempat (atau dapatkan file yang sama dari beberapa sistem x86 lainnya), lihat apa yang dilakukan postinstskrip control.tar.gz, dan berikan jalur yang benar qemu-i386.

Gilles 'SANGAT berhenti menjadi jahat'
sumber