как пользоваться qemu в линукс
Linuxoid
OpenSource forever
Работа с QEMU в Ubuntu
QEMU относится к программам, эмулирующим аппаратную среду. Ее основные функции аналогичны VMWare, VirtualBox, Bochs или Virtual PC. Хотя некоторые возможности отличаются. Например, поддерживается два вида эмуляции:
— Full system emulation – создается полноценная виртуальная машина, имеющая «свой» процессор и различную периферию;
— User mode emulation – режим, поддерживаемый только в Linux, позволяет запускать на родном процессоре программы, откомпилированные под другую платформу.
Во втором варианте QEMU берет на себя всю заботу по переводу инструкций процессора и конвертацию системных вызовов. В этом режиме возможна эмуляция не только x86, но и процессоров других архитектур: ARM, SPARC, PowerPC, MIPS и m68k.
Работает QEMU на Linux, FreeBSD, Mac OS X, FreeDOS и Windows (www.h7.dion.ne.jp/
qemu-win). В качестве основной платформы можно использовать компьютеры на базе x86, x86_64 и PowerPC. Хотя ограничено поддерживаются и некоторые другие (DEC Alpha, SPARC32, ARM, S390).
На сайте проекта QEMU предлагаются исходные тексты, бинарная сборка для Linux и ссылки на пакеты для RHEL/Fedora и Slackware, плюс порты Windows, OpenSolaris, Mac OS X и готовые образы систем. Для примера установим QEMU в Ubuntu, хотя все сказанное будет актуально для Debian и в некоторой мере для других дистрибутивов. Проверяем, что доступно в репозитарии:
$ sudo apt-get update
$ sudo apt-cache search qemu
Пакеты QEMU в репозитарии Ubuntu
Если подключен репозитарий Universe, в ответ получаем список приложений, в котором присутствует как сам эмулятор, так и некоторые утилиты для работы с ним. Смотрим, что за версию предлагают:
Она соответствует последней доступной на сайте. Ставим:
$ sudo apt-get install qemu kqemu-common kqemu-source
Также QEMU появится при установке пакета kvm. Список зависимостей можно просмотреть командой:
$ sudo apt-cache depends qemu
Теперь собираем модуль kqemu QEMU Accelerator Module, позволяющий выполнять часть кода напрямую на реальном процессоре, минуя виртуальный, ускоряя таким образом работу гостевой системы. Запуск виртуальной ОС без этого модуля замедляется примерно в 5 раз.
Запустить LiveCD дистрибутив очень просто. Для этого достаточно вставить диск в привод и ввести команду:
Дистрибутив PuppyRus в QEMU
Если при запуске эмулятора будет выдаваться сообщение о неактивности модуля kqemu:
«Could not open /dev/kqemu — QEMU acceleration layer not activated: Permission denied», потребуется изменение прав на файл устройства /dev/kqemu (по умолчанию 660):
$ sudo chmod 666 /dev/kqemu
Кстати, ранее требовалось создавать этот файл вручную при помощи команды:
$ sudo mknod /dev/kqemu c 250 0
Теперь в этом нет необходимости. В некоторых системах при запуске эмулятор может потребовать перестроить параметры таймера высокого разрешения «Could not configure /dev/rtc to have a 1024 Hz timer…«, тогда выполняем команду:
В Ubuntu 8.04 по умолчанию его значение равно 64, но QEMU никогда не жаловался. Идем дальше.
Для установки гостевой ОС сначала нужно создать виртуальный диск:
$ qemu-img create test-disk 4G
Хотя можно это сделать и при помощи dd:
$ dd of=test-disk bs=1024 seek=4194304 count=0
Правда, есть отличие: утилита dd позволяет создать только raw образ, который представляет собой файл, заполненный нулями. Утилита qemu-img поддерживает несколько форматов, указать на которые можно при помощи параметра ‘–f‘. По умолчанию создаются qcow файлы (qemu Copy On Write), этот формат поддерживает шифрование (AES, 128 бит) и компрессию, но возможны еще raw, cow (User Mode Linux), vmdk (VMWare) или cloop (сжатый loop, обычно используемый на LiveCD).
Многие предпочитают использовать именно raw. Формат raw не поддерживает сжатие, но если образ находится на разделе с файловой системой, поддерживающей дыры (holes), например ext2/3, то сжатие будет обеспечено драйвером ФС. И у этого способа есть еще один несомненный плюс – возможность монтирования в дерево ФС и работы как с обычным дисковым разделом. Использовав параметр info, можно получить информацию о готовом образе.
Утилита qemu-img поддерживает параметр convert, позволяющий преобразовывать образы из одного формата в другой:
$ qemu-img convert –f cow cowimage.cow image.raw
Теперь запустим виртуальную машину уже с жестким диском:
Эмулятор поддерживает до 4 виртуальных жестких дисков, которые обозначаются аналогично линуксовым от hda до hdd, и 2 флоппи диска – fda и fdb. Но использовать ‘-hdc’ и ‘-cdrom’ одновременно нельзя. Если используется только один образ диска, параметр hda можно опустить:
$ qemu test-disk
Параметр ‘-boot’ так же, как и в реальной машине, позволяет указать приоритет загрузки. Доступно 4 варианта:
— boot a – загрузка с виртуального флоппи;
— boot c – загрузка с жесткого диска (по умолчанию);
— boot d – загрузка с CD-ROM;
— boot n – сетевая (Etherboot) загрузка.
Параметр ‘–localtime‘ позволяет указать на использование локального времени в виртуальной машине.
Теперь устанавливаем операционную систему на жесткий диск обычным образом и после перезагрузки используем уже:
В зависимости от установок родительской ОС, в процессе запуска может возникнуть сообщение о том, что эмулятор не может получить доменное имя. Самым простым выходом будет добавить опцию ‘-dummy-net‘, активирующую поддельный сетевой стек, но при этом гостевой системой не будут приниматься и отправляться пакеты:
Консоль управления QEMU
change cdrom /dev/cdrom
1 комментарий
Как пользоваться qemu
Преимущество виртуализации в том, что она позволяет запустить несколько разных операционных систем на одном компьютере одновременно и при этом неважно какой они будут архитектуры. Среди домашних пользователей достаточно часто используются такие программы для эмуляции компьютера, как Virtualbox и VMware, это мощные программы с графическим интерфейсом и множеством возможностей, которые очень просто настроить.
Что такое qemu?
Qemu использует аппаратную виртуализацию, поэтому может выполнять гостевые операционные системы почти так же быстро, как и на основном железе. Может использоваться гипервизор XEN или модуль ядра KVM в Linux. Qemu может работать в двух режимах работы:
Эмулировать можно такие архитектуры: x86 (32 и 64 бит), PowerPC (32 и 64 бит), ARM, MIPS (32 бит), Sprac (32 и 64 бит), Alpha, ColdFire(m68k), CRISv2 и MicroBlaze. Этот список уже более внушительный чем у Virtualbox.
Установка qemu
Перед тем как мы сможем использовать программу, необходимо ее установить. Если вы используете дистрибутив Linux, например, Ubuntu, то сможете найти программу в официальных репозиториях. Для Ubuntu команда будет выглядеть вот так:
sudo apt install qemu-kvm qemu
Для Fedora и других систем RedHat можно установить группу Virtualization:
sudo dnf install @virtualization
В ArchLinux используйте Pacman:
Для Windows или MacOS вам нужно скачать исполняемый файл из официального сайта. Программа управляется только через терминал, так что вы главном меню системы ничего не появиться после установки. А теперь перейдем к тому как настроить qemu.
Как пользоваться qemu?
Теперь, когда программа установлена и готова к использованию попытаемся разобраться как ее запустить и применять. Но сначала нужно разобраться какие команды и для чего используются. Эмулятор qemu создает много команд, но их можно разделить на группы:
Сначала разберемся с эмуляцией полной системы, поскольку для решения этой задачи виртуальная машина qemu используется чаще всего, а уже потом перейдем к режиму пользователя.
1. Использование qemu-system
Чтобы вы понимали что и откуда берется для начала рассмотрим опции утилиты qemu-system. Синтаксис команды такой:
$ qemu-system параметры
Куда сложнее здесь синтаксис каждого из параметров:
-имя_параметра имя_опции = значение : значение2
Мы рассмотрим только основные параметры, и их опции, которые нам понадобятся:
Мы рассмотрели опции для qemu-system-x86-64, для других архитектур, они могут немного отличаться. А теперь разберем несколько простых примеров как использовать qemu, как создать машину qemu и настроить ее.
Сначала нужно создать жесткий диск для установки. Вы можете использовать реальные жесткие диски, но работать с образами намного удобнее. Можно просто создать пустой файл, заполненный нулями, а затем форматировать его в нужную файловую систему во время установки, но также можно создать файл формата qcow2, этот формат используется по умолчанию в qemu. Воспользуемся командой qemu-img:
Здесь мы подключаем наш жесткий диск как hda, затем указываем что нужно загружаться с cdrom и подключаем образ системы ubuntu к нему. Последний параметр указывает сколько оперативной памяти будет выделено для машины.
Дальше откроется окно, похожее на VritualBox и начнется установка системы. После того как установка будет завершена, вы сможете запускать машину командой:
Создавать виртуальную машину с другой архитектурой не очень сложно, достаточно изменить команду. Например, сделаем виртуальную машину ppc:
По умолчанию в гостевой системе не будет звука, но вы можете подключить туда звуковую карту:
2. Использование эмуляции окружения
Теперь рассмотрим использование qemu для эмуляции архитектуры в окружении пользователя. Команда qemu-user или qemu-архитектура позволяет выполнять программы, собранные для другой архитектуры прямо в вашей системе. Это очень часто используется для отладки программ, собранных для arm на компьютере или других подобных задач. Команде достаточно передать команду и ее параметры:
Точно так же вы можете выполнить arm программу или программу для любой из поддерживаемых архитектур.
Выводы
В этой статье мы очень кратко рассмотрели как пользоваться qemu, основные настройки этой утилиты и опции. На самом деле там намного больше опций и возможностей. Одна только возможность эмулировать такое огромное количество архитектур чего стоит. Если для вас эмулятор qemu слишком сложен через терминал, то можно использовать графический интерфейс, например, virt-manager. А вы используете qemu? Или предпочитаете другие виртуальные машины? Почему? Напишите в комментариях!
Как пользоваться qemu в линукс
Как Linux-энтузиаст, я тестирую немало приложений и дистрибутивов практически ежедневно. Наряду с известным многим Oracle Virtualbox, есть еще немало интересных продуктов в сфере виртуализации, таких как Vmware, openVZ, KVM, Proxmox и т.д.. Сегодня мы будем говорить про QEMU.
Re: Установка и настройка QEMU в Linux Mint (Ubuntu) 1. Введение
Когда используется как машинный эмулятор, QEMU сможет запускать ОС и программы созданные для какой либо платформы(например на ARM платах) на вашем ПК. Используя динамическую трансляцию, это происходит с хорошей производительностью.
Использая режим виртуализатора, QEMU получает схожую с нативной производительность путем испольнения кода напрямую на ЦПУ хост-ситемы. QEMU поддерживат виртуализацию с помощью гипервизора Xen или используя KVM модули ядра Linux. Для KVM, QEMU может виртуализировать такие платформы как x86, PowerPC и S390 в качестве гостевых.
В QEMU есть два режима работы:
Полная эмуляция системы: в этом режиме, QEMU эмулирует гостевую систему полностью (для примера PC), включая процессор и разнообразные периферийные устройства. Этот режим может использоваться для запуска других операционных систем или дебага системного кода.
Пользовательский режим эмуляции (только для Linux хостов): В этом режиме, QEMU Может запускать Linux-процессы собранные для одного CPU, на другом. Для примра это может быть облегченная кросс-компиляция.
QEMU Отлично работает с следующими аппаратными платформами:
Документация пользователя эмулятора процессора QEMU
Содержание
1. Введение
1.1 Возможности
QEMU имеет два режима работы:
QEMU может работать на системе-хозяине без драйвера, обеспечивая при этом удовлетворительную производительность.
При эмуляции целой системы поддерживается следующее оборудование:
При эмуляции пользователя поддерживаются процессоры x86, PowerPC, ARM и Sparc32/64.
2. Установка
Если вы хотите самостоятельно скомпилировать QEMU, обратитесь к compilation.
2.1 Linux
2.2 Windows
Экспериментальный бинарный инсталлятор можно загрузить с http://www.free.oszoo.org/download.php.
2.3 Mac OS X
Экспериментальный бинарный инсталлятор можно загрузить с http://www.freeoszoo.org/download.php.
3. Запуск QEMU в качестве эмулятора системы типа PC
3.1 Введение
Как эмулятор системы QEMU эмулирует следующее периферийное оборудование:
QEMU использует PC BIOS проекта Bochs и Plex86/Bochs LGPL VGA BIOS.
3.2 Быстрый запуск
Загрузите и распакуйте образ linux (`linux.img'), а затем наберите:
Должен загрузиться Linux, предоставив вам строку приглашения.
3.3 Запуск
`-hda файл’ `-hdb файл’ `-hdc файл’ `-hdd файл’
Загрузка с дискеты (a), жёсткого диска (c) или CD-ROM (d). По умолчанию выполняется загрузка с жёсткого диска.
Запись во временный файл, а не в файл образа жёсткого диска. В этом случае образ «сырого» диска остаётся нетронутым. Однако вы можете принудительно включить запись, нажав клавиши C-a s (See Образы дисков.).
Устанавливает объём виртуальной памяти в megs мегабайт. По умолчанию он составляет 128 МБ.
Обычно QEMU использует SDL для вывода VGA-данных. Используя эту опцию, вы можете вообще отключить графический вывод, сделав, таким образом, QEMU простым консольным приложением. Эмулируемый последовательный порт перенаправляется в консоль. Зато вы так вы можете использовать QEMU для отладки ядра Linux, имея в своём распоряжении последовательную консоль.
Использование раскладки клавиатуры для данного языка (например ru для русского). Эта опция нужна только в тех случаях, когда трудно получить «сырые» коды клавиш (напр., на Mac’ах или в некоторых серверах X11). Вам не нужно использовать её на машинах PC/Linux или PC/Windows.
Доступны следующие раскладки:
По умолчанию эмуляция SB16 отключена, поскольку она может вызвать некоторые проблемы у Windows. Вы можете включить её вручную с помощью этой опции.
Настраивает часы реального времени согласно локальному времени (по умолчанию в UTC). Эта опция нужна для обеспечения правильного времени в MS-DOS или Windows.
Запуск в полноэкранном режиме.
Используйте эту опцию при установке Windows 2000, чтобы предотвратить ошибку переполнения диска. После установки Windows 2000, вам больше не нужно использовать эту опцию (она замедляет передачу данных по IDE).
Задаёт скрипт инициализации сети TUN/TAP [default=/etc/qemu-ifup]. Этот скрипт запускается для настройки сетевого интерфейса системы-хозяина (обычно tun0), соответствующего виртуальной сетевой карте NE2000.
Задаёт mac-адрес первого интерфейса (в hex-формате типа aa:bb:cc:dd:ee:ff). Mac-адрес увеличивается для каждого нового сетевого интерфейса.
Подразумевает, что fd общается с сетевым интерфейсом tap/tun системы-хозяина и использует его. Примеры использования опции смотрите на сайте http://bellard.org/qemu/tetrinet.html.
Использование сетевого стека в режиме пользователя. Используется по умолчанию, если не найден скрипт инициализации сети tun/tap.
При использовании сетевого стека в режиме пользователя активирует встроенный сервер SMB, чтобы Windows-системы могли иметь прозрачный доступ к файлам системы-хозяина, находящимся в указанном `каталоге'.
В гостевой ОС Windows нужно добавить строку:
в файл `C:\WINDOWS\LMHOSTS' (для Windows 9x/Me) или `C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS' (Windows NT/2000).
Тогда доступ к `каталогу' можно получить через `\\smbserver\qemu'.
Учтите, что на системе-хозяине должен быть установлен сервер SAMBA как `/usr/sbin/smbd'. QEMU был успешно протестирован с smbd версии 2.2.7a из Red Hat 9 и версии 3.0.10-1.fc3 из Fedora Core 3.
Например, чтобы перенаправить подключение X11 хозяина с экрана 1 на экран 0 гостя, используйте следующие команды:
Чтобы перенаправить telnet-подключение к порту 5555 хозяина на telnet’овский порт гостя, используйте следующие команды:
Использование фиктивного сетевого стека: сетевыми картами не будет получено ни одного пакета.
Загрузка Linux. С помощью этих опций вы можете использовать заданное ядро Linux, не устанавливая его на образ диска. Это может быть полезным для раннего тестирования различных ядер.
Использование bzImage в качестве образа ядра.
Использование cmdline в качестве командной строки ядра.
Использование файл в качестве исходного ram-диска.
Перенаправление виртуального последовательного порта в устройство dev системы-хозяина. Доступные устройства:
[только для Linux] Pseudo TTY (новый PTY выделяется автоматически)
[только для Unix] стандартный ввод/вывод
Эту опцию можно использовать многократно для эмуляции до четырёх последовательных портов.
Ожидание подключения gdb к порту 1234 (See Использование GDB.).
Изменение порта подключения gdb.
Не запускать процессор при запуске (вы должны ввести ‘c’ в мониторе).
Выводить журнал событий в /tmp/qemu.log.
Принудительно использовать физическую геометрию жёсткого диска 0 (1 c h s t =none, lba или auto). Обычно QEMU может сам определить все эти параметры. Эта опция полезна для образов дисков старого MS-DOS.
Эмуляция системы только с ISA (по умолчанию эмулируется система с PCI).
Эмуляция стандартной VGA-карты с VBE-расширениями Bochs (по умолчанию эмулируется PCI VGA Cirrus Logic GD5446)
Запуск из сохранённого ранее состояния ( loadvm в мониторе)
3.4 Клавиши
Во время графической эмуляции вы можете использовать следующие клавиши:
Переключение в полноэкранный режим.
Переключение в виртуальную. консоль ‘n’. Стандартными консолями могут быть:
дисплей системы назначения
Переключение захвата клавиатуры и мыши.
Вывод этой справки.
Выход из эмулятора.
Отправка break (magic sysrq в Linux).
Переключение между консолью и монитором.
Отправка комбинации клавиш Ctrl-a.
3.5 Монитор QEMU
Монитор QEMU используется для выполнения сложных команд в эмуляторе QEMU. Вы можете использовать его для:
3.5.1 Команды
Доступны следующие команды:
показывает различную информацию о состоянии системы:
показывает состояние сети
показывает блочные устройства
показывает регистры процессора
показывает историю набранных команд
Выход из эмулятора.
`eject [-f] устройство’
`change устройство файла’
Смена съёмного носителя.
Включение журналирования указанных объектов в файл `/tmp/qemu.log'.
Запуск сеанса gdbserver (по умолчанию порт=1234).
это число объектов для дампа.
может быть x (шестнадцатиричный), d (десятичный со знаком), u (десятичный без знака), o (восьмеричный), c (символьный) или i (инструкции asm).
может быть b (8 бит), h (16 бит), w (32 бит) или g (64 бит). На платформе x86 размеры h или w могут быть указаны с форматом i для выбора размера инструкций для 16- или 32-битного кода соответственно.
Эта команда полезна для отправки нажатий клавиш, которые ваш графический интерфейс перехватывает на низком уровне, наподобие ctrl-alt-f1 в X Window.
3.5.2 Целочисленные выражения
Монитор понимает целочисленные выражения, которые можно использовать вместо любых целочисленных аргументов. Вы можете использовать названия регистров для получения значений определённых регистров процессора, вставляя перед ними знак $.
3.6 Образы дисков
QEMU, начиная с версии 0.6.1, поддерживает несколько форматов образов дисков, включая образы растущего объёма (их размер увеличивается по мере записи непустых секторов), а также сжатые и зашифрованные образы дисков.
3.6.1 Быстрое создание образа диска
Вы можете создать образ диска с помощью команды:
Дополнительную информацию See Запуск qemu-img.
3.6.2 Режим snapshot
3.6.3 Запуск qemu-img
Поддерживаются следующие команды:
`create [-e] [-b базовый_образ ] [-f формат ] файл [ размер ]’ `commit [-f формат ] файл ‘ `convert [-c] [-e] [-f формат ] файл [-O выходной_формат ] выходой_файл ‘ `info [-f формат ] файл ‘
имя файла с образом диска
образ диска, доступный только для чтения, который используется в качестве базы для образа т.н. copy-on-write; в этом образе сохраняются только изменённые данные.
это формат образа диска. В большинстве случаев он определяется автоматически. Поддерживаются следующие форматы:
Формат User Mode Linux Copy On Write. Используется в QEMU для образов с увеличивающимся объёмом. Поддерживается только для совместимости с предыдущими версиями. Не работает в win32.
Формат, совместимый с VMware 3 и 4.
Формат Linux Compressed Loop. Полезен только для повторного использования сжатых образов CD-ROM, использующихся, например, на LiveCD с Knoppix.
размер образа диска в килобайтах. Возможно использование необязательных окончаний: M (мегабайт) и G (гигабайт).
имя файла создаваемого образа диска.
формат создаваемого диска.
означает, что создаваемый образ должен быть сжат (только для формата qcow).
означает, что создаваемый образ должен быть зашифрован (только для формата qcow).
`create [-e] [-b базовый_образ ] [-f формат ] файл [ размер ]’
`commit [-f формат ] файл ‘
`convert [-c] [-e] [-f формат ] файл [-O выходной_формат ] выходной_файл ‘
При шифровании используется довольно безопасный алгоритм AES (со 128-битными ключами). Для обеспечения максимальной защиты используйте длинные пароли (порядка 16 символов).
Преобразование образов также полезно для уменьшения их размеров при использовании формата увеличивающегося размера, такого как qcow или cow : при этом выявляются пустые секторы и в полученном образе они отсутвуют.
`info [-f формат ] файл ‘
3.7 Эмуляция сети
QEMU может эмулировать до 6-и сетевых карт (NE2000-типа). Каждая из карт может быть подключена к определённому сетевому интерфейсу системы-хозяина.
3.7.1 Использование сетевого интерфейса tun/tap
Это стандартный способ эмуляции сети. QEMU добавляет в систему-хозяина виртуальное сетевое устройство (под названием tun0 ), а затем вы можете настроить его так, как если бы это была настоящая ethernet-карта.
В direct_linux_boot есть пример использования такой сети в дистрибутиве Linux.
3.7.2 Использование сетевого стека в режиме пользователя
ВМ QEMU ведёт себя так, как если бы она находилась за файерволом, блокирующим все входящие подключения. Вы можете использовать клиент DHCP для автоматической настройки сети в ВМ QEMU.
Чтобы проверить работу сети в режиме пользователя, пропингуйте адрес 10.0.2.2 и проверьте, получили ли вы адрес из диапазона 10.0.2.x от виртуального DHCP-сервера QEMU.
Обратите внимание, что ping не работает по отношению к Интернет-адресам, поскольку для этого требуются привилегии root’а. Это означает, что вы можете пропинговать только локальный маршрутизатор (10.0.2.2).
При использовании встроенного сервера TFTP, маршрутизатор также выступает в роли TFTP-сервера.
3.8 Непосредственная загрузка Linux
В этом разделе рассказано о том, как запустить ядро Linux внутри QEMU без необходимости создания целого загрузочного диска. Это очень полезно для быстрого тестирования ядра Linux. Также разъяснена настройка сети в QEMU.
Если сеть включена, между ядром системы-хозяина и эмулируемым ядром устанавливается виртуальное сетевое соединение. Из ядра хозяина эмулируемое ядро доступно по IP-адресу 172.20.0.2, а ядро хозяина доступно в эмулируемом по IP-адресу 172.20.0.1.
Затем разрешите X11-подключения к своему ПК из эмулируемого Linux’а:
Теперь вы можете запустить `xterm' или `xlogo', чтобы убедится в том, что перед вами действительно виртуальная система Linux!
3.9 Использование GDB
QEMU поддерживает упрощённую работу с gdb. Таким образом вы можете нажать ‘Ctrl-C’ во время работы виртуальной машины и просмотреть её состояние.
Чтобы можно было использовать gdb, запустите qemu с опцией ‘-s’. При этом он будет ожидать подключения gdb:
Затем запустите gdb, передав ему в качестве параметра исполняемый файл ‘vmlinux’:
В gdb подключитесь к QEMU:
Затем вы можете использовать gdb обычным образом. Например, введите ‘c’, чтобы запустить ядро:
Вот несколько полезных подсказок по использованию gdb при работе с системным кодом:
3.10 Дополнительная информация по эмулируемой ОС
3.10.1 Linux
При использовании в гостевой системе ядра Linux версии 2.6 вам следует добавить параметр clock=pit в командную строку ядра, потому что ядра Linux серии 2.6 по умолчанию выполняют очень ограниченную проверку часов реального времени, которую QEMU не может в точности сэмулировать.
3.10.2.4 Завершение работы Windows 2000
Windows 2000 не может автоматически завершить свою работу в QEMU в отличие от Windows 98. Это связано с тем, что Windows 2000 по умолчанию не использует драйвер автоматического управления питанием (APM), предоставляемого BIOS’ом.
Чтобы исправить это, выполните следующее (спасибо Струану Барлетту (Struan Bartlett)): откройте Control Panel => Add/Remove Hardware & Next => Add/Troubleshoot a device => Add a new device & Next => No, select the hardware from a list & Next => NT Apm/Legacy Support & Next => Next (снова) несколько раз. Теперь драйвер установлен и Windows 2000 может корректно сообщать QEMU о завершении своей работы в нужный момент.
3.10.2.5 Использование общих каталогов для Unix и Windows
3.10.2.6 Проблемы с безопасностью в Windows XP
Некоторые сборки Windows XP нормально устанавливаются, однако во время загрузки выдают сообщение об ошибке безопасности:
Единственным способом обойти эту проблемы является загрузка с безопасном режиме с отключенной поддержкой сети.
В следующих релизах QEMU эта проблема скорее всего будет устранена.
3.10.3 MS-DOS и FreeDOS
3.10.3.1 Снижение загрузки процессора
DOS некорректно использует инструкцию CPU HLT. В результате процессор системы-хозяина продолжает использоваться даже при простое. Для устранения этой проблемы вы можете установить специальную утилиту http://www.vmware.com/software/dosidle210.zip.
4. Запуск QEMU в качестве эмулятора системы типа PowerPC
Используйте исполняемый файл `qemu-system-ppc', чтобы эмулировать целую систему типа PREP или PowerMac PowerPC.
QEMU эмулирует следующее периферийное оборудование PowerMac:
QEMU эмулирует следующее периферийное оборудование PREP:
В QEMU используется Open Hack’Ware Open Firmware Compatible BIOS, доступный на сайте http://site.voila.fr/jmayer/OpenHackWare/index.htm.
Вы можете прочитать главу об эмуляции системы типа PC, чтобы получить большее представление об использовании QEMU.
Следующие опции касаются только эмуляции PowerPC:
Эмуляция системы PREP (по умолчанию это PowerMAC)
Исходный графический режим VGA. По умолчанию используется 800x600x15.
Дополнительная информация доступна по адресу http://jocelyn.mayer.free.fr/qemu-ppc/.
5. Запуск QEMU в качестве эмулятора системы типа Sparc32
Используйте исполняемый файл `qemu-system-sparc', чтобы эмулировать JavaStation (архитектура sun4m). Достигнута почти полная эмуляция.
QEMU эмулирует следующее периферийное оборудование sun4m:
В этой архитектуре количество оборудования является фиксированным.
Образец ядра Linux серии 2.6 и образ ram-диска доступны на веб-сайте QEMU. Обратите внимание, что в настоящий момент не работают ядра Linux серии 2.4, NetBSD и OpenBSD.
Следующие опции касаются только эмуляции Sparc:
Исходный графический режим TCX. По умолчанию используется 1024×768.
6. Запуск QEMU в качестве эмулятора системы типа Sparc64
Используйте исполняемый файл `qemu-system-sparc64', чтобы эмулировать vfibye Sun4u. Пока что эмулятор ни для чего другого не подходит.
QEMU эмулирует следующее периферийное оборудование sun4u:
7. Запуск QEMU в качестве эмулятора системы типа MIPS
Используйте исполняемый файл `qemu-system-mips', чтобы эмулировать машину MIPS. Эмулятор начинает запускать ядро Linux.
8. Запуск QEMU в качестве эмулятора пользовательского пространства
8.1 Быстрый запуск
Чтобы запустить процесс Linux, QEMU нужен сам исполняемый файл процесса и все используемые им динамические библиотеки (x86).
Затем вы можете запустить исполняемый файл `ls', скомпилированный под x86:
8.2 Запуск Wine
8.3 Опции командной строки
Префикс интерпретатора x86 elf (по умолчанию используется /usr/local/qemu-i386)
Размер стека x86 в байтах (по умолчанию 524288)
Включить журналирование (logfile=/tmp/qemu.log)
Работает так, как если бы размер страницы системы-хозяина составлял указанное значение.
9. Компиляция из исходного кода
9.1 Linux/Unix
9.1.1 Компиляция
Сначала распакуйте архив с исходными текстами:
Затем настройте QEMU и соберите его (обычно никакие опции не нужны):
Затем выполните под root’ом:
чтобы установить QEMU в `/usr/local'.
9.1.2 Версии проверенных утилит
Чтобы успешно скомпилировать QEMU, очень важно, чтобы у вас были правильные версии утилит. Самым важным является gcc. Я не могу гарантировать работу QEMU, если вы не используете проверенную версию gcc. Взгляните на содержимое файлов ‘configure’ и ‘Makefile’, если вы хотите заставить работать другую версию gcc.
9.2 Windows
9.3 Кросс-компиляция в Linux для Windows
Замечание: в настоящий момент похоже, что Wine не может запустить QEMU для Win32.
9.4 Mac OS X
Патчи Mac OS X не полностью интегрированы в QEMU, поэтому всю необходимую информацию следует искать в архиве почтовой рассылки QEMU.
About This Document
This document was generated by Acid Jack on March, 19 2006 using texi2html 1.76.
The buttons in the navigation panels have the following meaning:
where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:
This document was generated by Acid Jack on March, 19 2006 using texi2html 1.76.
Плюс небольшая правка готового HTML-кода до удобоваримого состояния 🙂