QEMU

Материал из Русский WINE
Перейти к: навигация, поиск

QEMU - это свободный эмулятор платформы x86 для Linux и Windows. Образ виртуальной машины QEMU с предустановленной ReactOS, можно загрузить здесь.

Если вы ищете более производительный эмулятор, то попробуйте VirtualBox или VMware.

Установка ReactOS в QEMU

  • Создайте образ виртуального жесткого диска, на который будет установлена ReactOS, введя с клавиатуры:
 qemu-img create ReactOS.img 1000M

1000M обозначает 1000 мегабайт - этого должно быть достаточно. Это значение должно быть больше, если вы планируете устанавливать приложения, которые будете тестировать в ReactOS.

  • В *nix наберите:
 sudo umount /dev/shm sudo mount -t tmpfs -o size=144m none /dev/shm
  • Наберите:
 qemu -L . -m 256 -cdrom ReactOS.iso -hda ReactOS.img -boot d -localtime -serial file:ReactOS.log

-m 256 обозначает 256Мб ОЗУ

-boot d указывает QEMU начать загрузку с CD-ROM. Без -boot d будет произведена загрузка с жёсткого диска (Reactos.img).

ReactOS.iso это образ установочного CD, который можно скачать по адресу http://www.reactos.org/download

-serial file:ReactOS.log указывает QEMU сохранять данные, передаваемые через последовательный порт из виртуальной машины (ReactOS) в файл ReactOS.log.

При переустановке ReactOS, произведите только шаги 2 (если это необходимо) и 3.

Если вы хотите скопировать какие-либо файлы в ReactOS, то создайте образ компакт-диска и смонтируйте его в QEMU.

Вы можете запустить QEMU следующим образом:

 qemu -L . -m 256 -cdrom Applications.iso -hda ReactOS.img -localtime -serial file:ReactOS.log

Настройка звука

Используя эмуляцию AC97 (QEMU 0.10.1 или новее)

  • Установите эмуляцию AC97 (-soundhw ac97)
  • Установите драйвера, используя Менеджер приложений (Необходимо будет дважды перезагрузиться)

Известные проблемы

  • При смене аудиопотока с высокой частотой дискретизации аудиопотоком с низкой частотой дискретизации происходит сбой звука

Используя эмуляцию ES1370MP

  • Установите эмуляцию ES1370 (-soundhw es1370)
  • Скачайте и установите драйвера отсюда
  • Создайте файл с именем import.reg со следующим содержимым
``` REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\Settings] "WaveVol_Left"=dword:00040000 "WaveVol_Right"=dword:00040000 "WaveLineSM"=dword:00000000 "WaveWaveInSM_Left"=dword:01010101 "WaveWaveInSM_Right"=dword:00000000 "CDVol_Left"=dword:fffffff6 "CDVol_Right"=dword:fffffff6 "CDLineSM"=dword:00000000 "CDWaveInSM_Left"=dword:00000000 "CDWaveInSM_Right"=dword:00000000 "LineInVol_Left"=dword:fffffff6 "LineInVol_Right"=dword:fffffff6 "LineLineSM"=dword:01000001 "LineWaveInSM_Left"=dword:00000000 "LineWaveInSM_Right"=dword:00000000 "MicBoost"=dword:00000001 "MicVol"=dword:fffffff6 "MicLineMute"=dword:00000001 "MicWaveInSM_Left"=dword:00000000 "MicWaveInSM_Right"=dword:00000000 "AuxVol_Left"=dword:fffffff6 "AuxVol_Right"=dword:fffffff6 "AuxLineSM"=dword:00000000 "AuxWaveInSM_Left"=dword:00000000 "AuxWaveInSM_Right"=dword:00000000 "PhoneVol"=dword:fffffff6 "PhoneMute"=dword:00000000 "PhoneWaveInSM_Left"=dword:00000000 "PhoneWaveInSM_Right"=dword:00000000 "LineOutVol_Left"=dword:fff9f203 "LineOutVol_Right"=dword:fff9f203 "LineOutMute"=dword:00000000 ```
  • Импортируйте эти настройки открыв этот файл через редактор реестра.
  • Перезагрузитесь

Если в QEMU 0.10.x звук отсутствует, то вам необходимо установить QEMU_AUDIO_DRV=fmod (доступные варианты: dsound; fmod; sdl; none ; wav (сохранение в файл) - для получения дополнительных сведений, обратитесь к документации QEMU.

Известные проблемы

После запуска первого аудиопотока необходимо выйти из QEMU и войти вновь (похоже, что это ошибка QEMU).

Настройка сети

Сеть будет работать сама при использовании в QEMU ключей '-net nic' и '-net user'.

Использование ReactOS LiveCD на QEMU

  1. Перейдите в ранее созданную директорию при помощи команды 'cd'.
  2. Введите следующую команду:
qemu -L <Путь к папке QEMU>\bios -cdrom <имя файла>.iso -m 64

Получение отладочных сообщений

По умолчанию, отладочные сообщения ReactOS отправляются в последовательный порт (COM1).

Для получения этих данных, вам потребуется QEMU версии 0.6.1 или более поздней, позволяющие задать параметр -serial.

Допустимыми аргументами для -serial являются: имена файлов, именованные каналы, COM-порты и другое.

Примеры:

-serial file:"C:\roslog.txt" -serial pipe:"\\pipe1\" -serial COM4

Перенаправление в файл

Если вы используете виртуальную машину QEMU и хотите, чтобы данные, передоваемые через последовательный порт, перенаправлялись в файл, добавьте следующий параметр в командную строку QEMU:

-serial file:FILENAME

Замените FILENAME именем файла, в который будут выводиться отладочные сообщения.

Перенаправление в консоль

Описанный выше метод перенаправляет вывод в файл. Если вы хотите переадресовать его в консоль, то существует два различных метода. Они зависят от операционной системы, в которой вы запускаете QEMU.

  • В Windows, добавьте следующий параметр в командную строку QEMU:
-serial file:CON
  • В Unix-системе, добавьте следующий параметр в командную строку QEMU:
-serial stdio

Соединение с последовательным портом при использовании com0com

Установите драйвер com0com как описано в руководстве по Com0com.

Добавьте следующий параметр в командную строку QEMU

 -serial COM4

Пишите "COM4" только заглавными буквами, иначе QEMU не сможет использовать последовательный порт!

Откройте клиент терминала и подключитесь ко второму виртуальному порту. Если этого порта в списке нет, то попробуйте COM4.

Еще одним вариантом является использование Среды тестирования ReactOS вместо настройки вручную.

KQEMU

Если вам кажется, что QEMU работает слишком медленно, попробуйте воспользоваться модулем KQEMU.

Учтите, однако, что KQEMU работает только с QEMU до версии 0.11 и более не развивается.

ReactOS
Search.png
Доклады
О ReactOSARWINSSЧастовстречаемые заблуждения о ReactOS
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидео про ReactOSReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOS
Другое КоординаторыТипы ядерFreeWin95"Пасхальные яйца" в ReactOS
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Использование ПО в ReactOS Samba
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналОбщие папкиСторонние компоненты
Обзоры ОболочкаNTVDMWOWCommunity Edition