Я пытаюсь следовать этому руководству, чтобы настроить сервер Ventrilo на моем SheevaPlug, на котором запущен Debian armel. На этой странице указано, что я могу использовать QEMU для запуска двоичного файла, созданного для i386, в моей системе arm.
Настройка qemu говорит, что мне нужно установить qemu, qemu-user и qemu-libc-i386. Первые два я нашел в apt-get , но qemu-libc-i386 - это не пакет. Поэтому я попытался запустить qemu для запуска сервера Ventrilo следующим образом:
# qemu-i386 ./ventrilo_srv
/lib/ld-linux.so.2: No such file or directory
Кажется, ld-linux.so.2
это версия i386 того, что у меня есть в armel as ld-linux.so.3
.
Так что я знаю, как это сделать для другого дистрибутива Linux, но, похоже, я смогу запустить его в Debian, если они смогут в своем сумасшедшем дистрибутиве. Есть ли пакет, который я могу получить, чтобы установить libc-i386, чтобы я мог запустить его (аналогично ia32-libs для системы x64?) Я попытался также скопировать so.2
из другой системы i386, но это не помогло мне где угодно.
Ответы:
Да, вы можете запускать двоичные файлы x86 в QEmu, когда QEmu работает на процессоре ARM. Это будет очень медленно, потому что QEmu выполняет программную эмуляцию процессора x86, и вам может не хватить оперативной памяти, но она может работать.
qemu-user
Пакет содержит саму виртуальную машину, т.е. эмулятора процессора x86 и некоторых аппаратных устройств и ядро Linux работает на этом harwdare. (qemu-system
Пакет содержит эмулятор только того оборудования, на котором вы можете установить операционную систему по вашему выбору.) Вам все еще нужно заполнить виртуальную машину средой выполнения, в том числе/lib/ld-linux.so.2
(динамический загрузчик, необходимый для запуска любого динамически связанного исполняемого файла) и куча библиотек. Это то, что предоставляетqemu-libc-i386
пакет на Optware. Это немного похожеia32-libs
на системы amd64, но это намного проще, потому что процессор amd64 может выполнять двоичные файлы i386 изначально; здесь вам нужно иметь библиотеки внутри виртуальной машины x86.Вы можете попробовать получить
qemu-libc-i386
пакет из Optware. Формат пакета Optware очень похож на формат Debian, поэтому вы можете конвертировать ipk в deb вручную:Я не гарантирую, что это будет работать. Возможно, вам потребуется убедиться, что версии QEmu совпадают.
Если установка модифицированного ipk не работает, попробуйте воспроизвести его содержимое в вашей системе. Распакуйте
data.tar.gz
куда-нибудь (или получите те же файлы из другой системы x86), посмотрите, что делаетpostinst
скриптcontrol.tar.gz
, и укажите правильные путиqemu-i386
.источник