QEMU Эмуляция пользовательского режима

352
anurag.student

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

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

0

1 ответ на вопрос

0
Austin Hemmelgarn

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

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

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

Хорошо. Я попробую с WSL-окружением. Посмотрим, работает ли это. Спасибо anurag.student 5 лет назад 0
Я попытался скомпилировать Qemu в среде WSL, и он был успешно собран. Теперь я могу выполнить qemu в WSL. Большое спасибо Остин за вашу помощь. anurag.student 5 лет назад 0
Но моя задача - запустить qemu непосредственно в Windows без использования WSL. Можно ли запустить исполняемый файл qemu, сгенерированный в WSL, непосредственно в Windows (в командной строке или в командной оболочке)? Или есть ли другой способ сделать это ..? anurag.student 5 лет назад 0
Я не совсем уверен. Я слышал, что есть способы настройки WSL, позволяющие вызывать исполняемые файлы Windows непосредственно из командной строки оболочки в среде WSL, поэтому я предполагаю, что обратное также возможно, я просто не знаю как. Austin Hemmelgarn 5 лет назад 0
хорошо, я проверю. anurag.student 5 лет назад 0