Я студент и пытаюсь скомпилировать QEMU на MINGW32 в режиме эмуляции пользователя. В одном документе я прочитал, что в эмуляции пространства пользователя поддерживаются следующие ОС:1. Linux (именуемый qemu-linux-user) 2. Mac OS X/Darwin (именуемый qemu-darwin-user) 3. BSD (именуемый qemu-bsd-user)

Я хочу знать, поддерживается ли ОС Windows (через mingw или cygwin) в эмуляции пространства пользователя QEMU? Кто-нибудь пробовал его использовать?

1 ответ1

0

Насколько я знаю, эмуляция пользовательского режима QEMU работает только в том случае, если ОС хоста совпадает с тем, что вы пытаетесь эмулировать. Это основано на моем собственном опыте, когда я пытался заставить эмуляцию BSD и Дарвина работать на хосте Linux без какой-либо удачи.

Объяснение того, почему это немного сложно, но в основном сводится к тому, что эмуляция пользовательского режима QEMU по своей сути является транслятором машинного кода, который также правильно отображает номера системных вызовов и соответствующим образом преобразует структуры данных (битовая ширина и битовая ширина). порядок конвертации). MingW предоставляет UNIX-подобную среду в Windows, но не реализует ни одного полного ABI, который эмуляция пользовательского режима QEMU может преобразовать в.

Однако вам может повезти, если вы запустите его в среде WSL (по крайней мере, для эмуляции Linux), так как это обеспечивает (в основном) полное пользовательское пространство Linux ABI.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .