man:qemu

Материал из Xgu.ru

(Перенаправлено с Man:qemu)
Перейти к: навигация, поиск

man для версии 0.9.1
Исходная версия: man:orig:qemu

Содержание

[править] Имя

qemu-doc - документация пользователя QEMU

[править] Синтаксис

использование: qemu [options] [disk_image]

[править] Описание

В QEMU симулируется работа следующих периферийных устройств:

  • PCI-мост i440FX и мост PCI-ISA PIIX3
  • VGA-карта Cirrus CLGD 5446 PCI или dummy VGA-карта с расширениями VESA от Bochs (на аппаратном уровне, включая все нестандартные режимы)
  • Мышь и клавиатура PS/2
  • 2 IDE-интерфейса с поддержкой жёсткого диска и CD-ROM'а
  • Floppy-диск
  • Сетевые адаптеры PCI/ISA PCI
  • Последовательные порты
  • Звуковая карта Creative SoundBlaster 16
  • Звуковая карта ENSONIQ AudioPCI ES1370
  • Adlib(OPL2) — чип совместимый с Yamaha YM3812
  • Контроллер PCI UHCI USB и виртуальный USB-хаб.

Поддерживается многопроцессорность; до 255 процессоров.

Следует иметь в виду, что adlib доступен только в случае, когда QEMU был собран с ключом -enable-adlib

В QEMU используется PC BIOS из проекта Bochs и VGA BIOS из проекта Plex86/Bochs, распространяющаяся по LGPL.

В QEMU используется эмуляция YM3812 от Tatsuyuki Satoh.

[править] Опции

Параметр disk_image — это образ жёсткого диска для жёсткого диска 0 с интерфейсом IDE.

[править] Общие опции

-M machine
Выбрать эмулируемую машину ("-M ?" покажет список)
-fda file
-fdb file
Использовать образ для флоппи-диска 0/1. Можно использовать флоппи-дисковод хост-системы, если указать /dev/fd0 в качестве имени файла.
-hda file
-hdb file
-hdc file
-hdd file
Использовать file как образ жёсткого диска 0, 1, 2 или 3.
-cdrom file
Использовать файл как образ CD-ROM (нельзя использовать -hdc и -cdrom одновременно). Для того чтобы использовать CD-ROM хост-системы, нужно указать в качестве имени файл /dev/cdrom.
-drive option[,option[,option[,...]]]
Описать новый диск. Допустимые опции:
"file=file"
Опция определяет, какой образ использовать для какого диска.
"if=interface"
Опция указывает через интерфейс какого типа подключён диск. Доступные типы: ide, scsi, sd, mtd, floppy, pflash.
"bus=bus,unit=unit"
Опция указывает куда именно подключён диск, к какой шине (bus) и под каким номером (unit).
"index=index"
Опция указывает куда подключен диск при помощи номера в списке доступных коннекторов интерфейса заданного типа.
"media=media"
Опция определяет тип носителя: disk или cdrom.
"cyls=c,heads=h,secs=s[,trans=t]"
У этих опций такой же смысл, как при использовании с -hdachs.
"snapshot=snapshot"
snapshot включен ("on") или выключен ("off"), позволяет включить создание снапшотов для заданных дисков (см. -snapshot).
"cache=cache"
кэш включен или выключен ("on" или "off"), что указывает нужно ли использовать кэш хост-системы при доступе к данным.
"format=format"
Указать явным образ формат дисков и не использовать автоопределение. Может использоваться для того чтобы указать format=raw, чтобы не интерпретировать заголовок формата, когда в нём нет уверенности.

Вместо -cdrom можно использовать:

qemu -drive file=file,index=2,media=cdrom

Вместо -hda, -hdb, -hdc, -hdd можно использовать:
       qemu -drive file=file,index=0,media=disk
       qemu -drive file=file,index=1,media=disk
       qemu -drive file=file,index=2,media=disk
       qemu -drive file=file,index=3,media=disk
CDROM можно подключать как slave на ide0:
       qemu -drive file=file,if=ide,index=1,media=cdrom
Если аргумент "file=" не указывается, привод считается пустым:
       qemu -drive if=ide,index=1,media=cdrom
Можно подсоединить SCSI-диск с ID 6 на шине #0:
       qemu -drive file=file,if=scsi,bus=0,unit=6
Вместо -fda, -fdb можно использовать:
       qemu -drive file=file,index=0,if=floppy
       qemu -drive file=file,index=1,if=floppy
По умолчанию используется интерфейс IDE, а индекс автоматически увеличивается:
       qemu -drive file=a -drive file=b"
интерпретируется как:
       qemu -hda a -hdb b
-boot [a|c|d|n]
Загружаться с floppy (a), жёсткого диска (c), CD-ROM (d) или Etherboot (n). По умолчанию загрузка выполняется с жёсткого диска.
-snapshot
Выполнять запись во временные файлы вместо фалов образа диска. В этом случае на используемый образ диска запись не выполняется. Запись можно выполнить принудительно нажатием C-a s.
-no-fd-bootchk
Отключает в Bochs BIOS проверку загрузочной записи для floppy-дисков. Может потребоваться для загрузки со старых floppy-дисков.
-m megs
Задаёт объём виртуальной памяти равным megs мегабайтов. По умолчанию 128 MiB.
-smp n
Симулирует многопроцессорную систему с n процессорами. Для PC поддерживается до 255 процессоров; для Sparc32 Linux ограничивает количество процессоров, которые можно использовать, четырьмя.
-audio-help
Показывает справку по аудио-подсистеме: список драйверов и настраиваемых параметров.
-soundhw card1[,card2,...] or -soundhw all
Включить поддержку выбранного звукового устройства. Для того чтобы посмотреть список всех доступных устройств, используйте ?
       qemu -soundhw sb16,adlib hda
       qemu -soundhw es1370 hda
       qemu -soundhw all hda
       qemu -soundhw ?
-localtime
Установить часы реального времени (real time clock) по локальному времени (по умолчанию устанавливается в UTC). Опция необходима для того, чтобы время шло правильно в системах MS-DOS и Windows.
-startdate date
Установить начальное значение для часов реального времени (real time clock). Допустимые форматы даты: "now" или "2006-06-17T16:01:21", или "2006-06-17". Значение по умолчанию: "now".
-pidfile file
Сохранить PID процесса QEMU в файле file. Полезно при запуске QEMU из скрипта.
-daemonize
Демонизировать процесс QEMU после инициализации. QEMU не будет отключаться от стандартных потоков, до тех пор пока не будет готов к соединениям через другие устройства. Опция полезна в случаях, когда QEMU запускается другими процессами, которые не хотят заниматься устранением гонок в ходе инициализации.
-win2k-hack
Используется при инсталляции Windows 2000, для того чтобы обойти баг с переполнением диска (disk full bug). После того как инсталляция завершена, эту опцию можно не использовать (при её использовании передача данных по IDE замедляется).
-option-rom file
Загружает содержимое файла как опциональный ROM. Опция может быть полезной для загрузки таких вещей как EtherBoot.
-name name
Задать имя гостевой системы. Имя будет отображаться в заголовке окна SDL. Имя также используется для VNC-сервера.

[править] Опции визуализации

-nographic
В нормальном режиме QEMU использует SDL для VGA-вывода. Используя эту опцию, можно вообще отключить графический вывод как таковой, так чтобы QEMU стало обычным консольным приложением. Эмулируемый последовательный порт перенаправляется на консоль. Следовательно, QEMU в этом режиме можно использовать для отладки ядра Linux через последовательную консоль.
-curses
В нормально режим QEMU использует SDL для визуализации. С этой опцией QEMU будет выводить VGA-вывод в текстовом режиме, используя интерфейс curses/ncurses. В графическом режиме ничего не выводится.
-no-frame
Не делать декоративное оформление вокруг SDL-окон. Использовать доступное пространство по максимуму. Это делает использование QEMU в выделенном окружении более удобным.
-full-screen
Запустить в полноэкранном режиме.
-vnc display[,option[,option[,...]]]
По умолчанию, QEMU использует SDL для VGA-вывода. Используя эту опцию, можно заставить QEMU работать как VNC-сервер для экрана display и перенаправлять на этот сервер VGA-экран. Особенно полезно в этом режиме включить USB-планшет (опция -usbdevice tablet). При использовании VNC-дисплея нужно использовать ключ -k, для того чтобы указать какая раскладка клавиатуры используется (при условии, что это не en-us). Допустимый синтаксис параметра display такой:
"interface
d"
Будут разрешены только TCP-соединения через интерфейс interface к экрану d. По соглашению используется TCP-порт с номером 5900+d. Интерфейс можно не указывать, тогда сервер привязывается ко всем интерфейсам.
"unix
path"
Разрешаются соединения через доменные гнёзда UNIX, где path указывает местоположение соответствующего файла, через который прослушиваются соединения.
"none"
VNC инициализируется, но не запускается. VNC-сервер можно будет запустить позже при помощи команды монитора change.

После значения display могут указываться опциональные флаги, разделённые запятыми. Допустимые опции такие:

"password"
Требует обязательной парольной аутентификации для клиентских соединений.
Пароль устанавливается отдельно с помощью команды change в pcsys_monitor.
"tls"
Требует чтобы клиент при взаимодействии с VNC-сервером использовал TLS. В этом случае используются анонимные TLS-credentials, поэтому сеанс уязвим для man-in-the-middle-атак. Рекомендуется сочетать эту опцию с опциями x509 или x509verify.
"x509=/path/to/certificate/dir"
Может использоваться только в сочетании с опцией tls. Обозначает, что при установке TLS-сеанса необходимо использовать x509-credentials. Сервер отправит свой x509-сертификат клиенту. Рекомендуется чтобы на VNC-сервере был установлен пароль, который будет вводиться клиентом при подключении. Путь, который идёт за опцией, указывает откуда должны загружаться x509-сертификаты. Подробнее о том, как генерируются сертификаты описано в разделе "vnc_security".
"x509verify=/path/to/certificate/dir"
Может использоваться только в сочетании с опцией tls. Обозначает, что при установке TLS-сеанса необходимо использовать x509-credentials. Сервер отправит свой x509-сертификат клиенту и попросит чтобы клиент прислал свой сертификат. Сервер проверит подлинность сертификата по сертификату CA, и если проверка не пройдёт, откажет клиенту. Если к CA есть доверие, то этого механизма аутентификации достаточно. В качестве дополнительного уровня аутентификации можно использовать пароль. Путь, идущий за опцией, указывает откуда должны загружаться сертфикаты. Подробнее о том, как генерируются сертификаты описано в разделе "vnc_security".
-k language
Использовать раскладку клавиатуры language (например, "fr" для французской). Эта опция нужна только в тех случаях, когда не удаётся получить сырые коды клавиш (raw keycodes), например, на маке с некоторыми X-серверами или на VNC. Обычно в Linux и Windows этот ключ не используется.
Доступные раскладки:
    ar  de-ch  es  fo     fr-ca  hu  ja  mk     no  pt-br  sv
    da  en-gb  et  fr     fr-ch  is  lt  nl     pl  ru     th
    de  en-us  fi  fr-be  hr     it  lv  nl-be  pt  sl     tr
По умолчанию "en-us".

[править] Опции USB

-usb
Включить USB (скоро будет включено по умолчанию)
-usbdevice devname
Добавить USB-устройство devname.
mouse
Виртуальная мышь. Перекрывает эмуляции мыши PS/2.
tablet
Устройство позиционирования, имеющее абсолютные координаты (как тачскрин). Это означает, что qemu сможет показывать правильные координаты мыши без её захвата. Перекрывает эмуляцию мыши PS/2.
disk:file
Устройства хранения (Mass storage device), основанные на файле file
host:bus.addr
Пробросить внутрь устройство, имеющее в хост-системе идентификатор bus.addr (только для Linux).
host:vendor_id:product_id
Пробросить внутрь устройство, имеющее в хост-системе идентификатор vendor_id:product_id (только для Linux).
serial:[vendorid=vendor_id][,productid=product_id]:dev
serial-конвертер в символьное устройство хост-системы. О том какие устройства можно конвертировать см. в -serial.
braille
Устройство Брайля. Использует BrlAPI для вывода на настоящее или подложное устройство Брайля.

[править] Опции сети

-net nic[,vlan=n][,macaddr=addr][,model=type]
Создать новую сетевую карту и подсоединить её к VLAN n (n = 0 по умолчанию). По умолчанию на PC в качестве сетевой карты используется ne2k_pci. MAC-адрес сетевой карты можно поменять при помощи macaddr. Если опция -net не задана, создаётся одна карта. Qemu может эмулировать несколько различных моделей сетевых карт. Допустимые значения для type: "i82551", "i82557b", "i82559er", "ne2k_pci", "ne2k_isa", "pcnet", "rtl8139", "smc91c111", "lance" и "mcf_fec". Не все устройства поддерживаются на всех платформах. Просмотреть список поддерживаемых устройств можно при помощи -net nic,model=?.
-net user[,vlan=n][,hostname=name]
Использовать пользовательский (user mode) сетевой стек, которому для работы не требуются привилегии администратора. Можно использовать опцию hostname=name, которая укажет встроенному DHCP-серверу, какое имя отправить клиенту.
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
Подключить TAP-интерфейс хост-системы к заданному VLAN n и настроить его с помощью сетевого скрипта. По умолчанию используется сетевой скрипт /etc/qemu-ifup. Чтобы отключить исполнение скрипта, нужно указать script=no. Если имя не задано, оно автоматически задаётся при помощи операционной системы. Для того чтобы подключиться к уже открытому интерфейсу, используется fd=h, который указывает его дескриптор (handle).
Пример:
       qemu linux.img -net nic -net tap
Более сложный пример (две сетевые карты, каждая подключена к TAP-устройству)
       qemu linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
                  -net nic,vlan=1 -net tap,vlan=1,ifname=tap1
-net socket[,vlan=n][,fd=h][,listen=[host]:port][,connect=host:port]
Соединяет VLAN n с VLAN другой виртуальной машины QEMU. Если задана опция listen, QEMU будет ждать входящего соединения на порту port (поле host опционально). Опция connect указывает, что нужно подсоединиться к другому QEMU, который использует опцию listen. Опция fd=h задаёт уже открытый TCP-сокет.
Пример:
       # launch a first QEMU instance
       qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
                       -net socket,listen=:1234
       # connect the VLAN 0 of this instance to the VLAN 0
       # of the first instance
       qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
                       -net socket,connect=127.0.0.1:1234
-net socket[,vlan=n][,fd=h][,mcast=maddr:port]
Создаёт VLAN n, разделяемый с другими QEMU через сокет многоадресной рассылки. Получается общая шина для всех QEMU, которые используют один и тот же адрес и maddr и порт port.
ЗАМЕЧАНИЯ:
1. Можно запустить несколько QEMU на разных хостах, и сделать чтобы все они использовали общую шину (только для этого нужно выполнить настройку многоадресной рассылки, multicast, для этих хостов).
2. Поддержка mcast совместима с User Mode Linux (аргумент ethN=mcast), подробнее: http://user-mode-linux.sf.net
3. Для того чтобы указать уже открытый multicast-сокет UDP используется fd=h
Пример:
       # launch one QEMU instance
       qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
                       -net socket,mcast=230.0.0.1:1234
       # launch another QEMU instance on same "bus"
       qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
                       -net socket,mcast=230.0.0.1:1234
       # launch yet another QEMU instance on same "bus"
       qemu linux.img -net nic,macaddr=52:54:00:12:34:58 \
                       -net socket,mcast=230.0.0.1:1234
Пример (совместим с User Mode Linux):
       # launch QEMU instance (note mcast address selected
       # is UML's default)
       qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
                   -net socket,mcast=239.192.168.1:1102
       # launch UML
       /path/to/linux ubd0=/path/to/root_fs eth0=mcast
-net none
Указывает, что сетевые устройства конфигурироваться не должны. Используется чтобы перекрыть настройки по умолчанию (-net nic -net user), активирующиеся, если опцию -net не указывать вообще.
-tftp dir
При использовании пользовательского сетевого стека (user mode network stack), активировать встроенный TFTP-сервер. Файлы в каталоге dir/ будут представлены в корне сервера. TFTP-клиент в гостевой системе должен быть настроен на бинарный режим (используется команда "bin" TFTP-клиента Unix). IP-адрес гостевой системы, как и обычно, 10.0.2.2.
-bootp file
При использовании пользовательского сетевого стека (user mode network stack), передавать файл как имя файла для BOOTP. В сочетании с -tftp, опция может использоваться для сетевой загрузки гостевой системы из локального каталога.
Пример (с использованием pxelinux):
       qemu -hda linux.img -boot n -tftp /path/to/tftp/files -bootp /pxelinux.0
-smb dir
При использовании пользовательского сетевого стека (user mode network stack), активировать встроенный SMB-сервер, так чтобы Windows внутри гостевой системы могла прозрачно обращаться к файлам хост-системы.
В гостевой Windows-системе строку
       10.0.2.4 smbserver
нужно добавить в файл 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 и с smbd версии 3.0.10-1.fc3 из Fedora Core 3.
-redir [tcp|udp]:host-port:[guest-host]:guest-port
При использовании пользовательского сетевого стека (user mode network stack), перенаправлять входящие на хост и порт host-port обращения TCP и UDP на гостевые хост guest-host и порт guest-port. Если guest-host не задан, его значение принимается равным 10.0.2.15 (адресу, который по умолчанию выдаётся встроенным DHCP-сервером).
Например, для того чтобы перенаправить соединение X11 с экрана 1 на гостевой экран 0, нужно использовать такие опции:
       # on the host
       qemu -redir tcp:6001::6000 [...]
       # this host xterm should open in the guest X11 server
       xterm -display :1
Для того чтобы перенаправить telnet-соединения с порта 5555 хоста на telnet-порт на гостевой системе, используйте опции:
       # on the host
       qemu -redir tcp:5555::23 [...]
       telnet localhost 5555
Теперь, когда на хост-системе вы даёте "telnet localhost 5555", вы попадаете на telnet-сервер гостевой системы.
Для Linux: При указании этой опции можно использовать заданное ядро Linux без его инсталляции на диск. Это удобно для тестирования разных ядер Linux.
-kernel bzImage
Использовать bzImage в качестве ядра.
-append cmdline
Использовать cmdline как командную строку ядра
-initrd file
Использовать file как initrd (начальный виртуальный диск).

[править] Отладочные опции (для экспертов)

-serial dev
Перенаправить виртуальный последовательный порт на символьное устройство в хост-системе dev. По умолчанию используется "vc" в графическом режиме и "stdio" в не графическом.
Опцию можно указывать несколько раз. Можно симулировать до 4 последовательных портов.
Для того чтобы отключить все порты, используется "-serial none".
Доступные символьные устройства:
vc[:WxH]
Виртуальная консоль. Опционально, ширина и высота могут задаваться в символах:
vc:800x600
Ширину и высоту можно также задавать в символах:
vc:80Cx24C
pty
[Только для Linux] Псевдотерминал (автоматически выделяется новый PTY)
none
Устройство не выделяется.
null
пустое (void) устройство
/dev/XXX
[Только для Linux] Использовать tty хост-системы, например, /dev/ttyS0. Параметры последовательного порта хост-системы устанавливаются в соответствии с параметрами эмулируемого порта.
/dev/parportN
[Только для Linux, только для параллельного порта] Использовать параллельный порт N хост-системы. Можно использовать возможности SPP и EPP параллельных портов.
file:filename
Записывать вывод в filename. Чтение невозможно.
stdio
[только для Unix] стандартный ввод/вывод.
pipe:filename
использовать канал (pipe) filename.
COMn
[Только для Windows] Использовать последовательный порт n хоста
udp:[remote_host]:remote_port[@[src_ip]:src_port]
Сетевая консоль UDP (UDP Net Console). Если не указать remote_host или src_ip, принимается значение 0.0.0.0. Если не задать src_port, выбирается случайный порт.
Если вам нужна простая readonly-консоль, можно использовать netcat или nc, нужно запустить qemu с ключами -serial udp::4555 и nc с ключами nc -u -l -p 4555. Как только QEMU выводит что-то на этот порт, оно появляется в сеансе netconsole.
              Если вы хотите отправлять символы обратно через netconsole или хотите много раз
              запускать и останавливать qemu, надо сделать чтобы он использовать 
              один и тот же порт-источник при каждом вызове. Для этого указать опцию
              "-serial udp::4555@4556" to qemu. Второй способ такой: использовать
              пропатченную версию netcat, которая может прослушивать TCP-порт
              и отправлять и получать данные по UDP. 
              Если у вас есть такая версия netcat
              (which activates telnet remote echo and single char
              transfer),
              можете использовать его, для того чтобы можно было telnet'ом
              на порт 5555 получить доступ к порту QEMU. 
              "Опции QEMU:"
                  -serial udp::4555@4556
              "Опции netcat:"
                  -u -P 4555 -L 0.0.0.0:4556 -t -p 5555 -I -T
              "Опции telnet:"
                  localhost 5555
          "tcp:[host]:port[,server][,nowait][,nodelay]"
              У сетевой консоли TCP (TCP Net Console) есть два режима работы.
              Она может отправлять ввод/вывод в определённую точку,
              а может ждать подключения из определённой точки.
              По умолчанию сетевая консоль отправляет на определённый порт хоста.  
              Если указана опция server, QEMU будет ожидать клиентского подключения,
              и только когда оно произойдёт, продолжит работать,
              за исключение случая, когда указана опция "nowait".  Опция "nodelay"
              отключает алгоритм Нагеля.
              Если host не задан, подразумевается 0.0.0.0.
              Допускается не более одного TCP-соединения 
              одновременно.  К соответствующему символьному устройству устройству можно подключаться 
              через telnet. 
              "Пример, как отправить TCP-консоль на 192.168.0.2 порт 4444"
                  -serial tcp:192.168.0.2:4444
              "Пример, как слушать соединение на порту 4444"
                  -serial tcp::4444,server
              "Пример, как запустить сервер в режиме nowait на 192.168.0.100 порт 4444"
                  -serial tcp:192.168.0.100:4444,server,nowait
          "telnet:host:port[,server][,nowait][,nodelay]"
              Использовать протокол Telnet вместо простых TCP-сокетов.  
              Опция работает также как в случае, когда указана опция -serial tcp.
              The difference is that the port acts like a telnet server or
              client using telnet option negotiation.  This will also allow
              you to send the MAGIC_SYSRQ sequence if you use a telnet that
              supports sending the break sequence.  Typically in unix telnet
              you do it with Control-] and then type "send break" followed by
              pressing the enter key.
unix:path[,server][,nowait]
Использовать доменное гнездо Unix вместо TCP-сокета. Опция работает также как -serial tcp, за исключением того, что для соединения используется сокет path.
"mon:dev_string"
При помощи этой опции monitor можно вывести на другой последовательный порт. Доступ к монитору осуществляется при нажатии комбинации клавиш Ctrl-a, а потом c. Подробнее о доступе к монитору смотрите в разделе pcsys_keys в описании ключа -nographic. В качестве строки dev_string должно быть указано одно из последовательных устройств, описанных выше. Пример, как можно переключить монитор на telnet-сервер, слушающий на порту 4444:
              "-serial mon:telnet::4444,server,nowait"
"braille"
Устройство Брайля. Для вывода Брайля будет использоваться BrlAPI.
-parallel dev
Перенаправить вииртуальный параллельный порт на устройство хост-системы dev (те же устройства, что и для последовательного порта). На Linux можно использовать /dev/parportN, который указывает на устройство, подключенное к соответствующему параллельному порту.
Опцию можно задавать до трёх раз, для того чтобы эмулировать до трёх параллельных портов.
Для того чтобы выключить параллельные порты используется "-parallel none".
-monitor dev
Перенаправить монитор на устройство dev в хост-системе (те же устройства, что и при выборе последовательного порта). По умолчанию используется "vc" в графическом режиме и "stdio" в не графическом.
-echr numeric_ascii_value
Указать какой escape-символ будет переключать на монитор, когда монитор и последовательная консоль используют работают совместно. По умолчанию при использовании опции -nographic используется значение 0x01. 0x01 эквивалентно нажатию "Control-a". Можно выбрать любые другие символы из управляющих символов ascii, где числа от 1 до 26 отображаются на клавиши от Control-a до Control-z. Например, можно использовать любой из нижеприведённых вариантов для того чтобы повесить escape-символ на ctrl-t.
"-echr 0x14"
"-echr 20"
-s  
Ожидать соединения gdb на порту 1234.
-p port
Изменить порт соединения с gdb. Параметр port может быть или десятичным числом, указывающим TCP-порт, или файлом-устройством в хост-системе (те же устройства, что и для последовательного порта).
-S  
Не запускать CPU сразу (для запуска нужно нажать "c" в мониторе).
-d  
Выводить журнал (log) в /tmp/qemu.log
-hdachs c,h,s,[,t]
Задать физическую геометрию для жёсткого диска 0 (1 <= c <= 16383, 1 <= h <= 16, 1 <= s <= 63) и, опционально, режим трансляции BIOS (t=none, lba или auto). Обычно QEMU может сам предположить значение этих параметров. Опция используется для образов старых дисков MS-DOS.
-L path
Использовать заданный каталог path для BIOS, VGA BIOS и keymaps.
-std-vga
Эмулировать стандартный VGA-адаптер с расширениями Bochs VBE (по умолчанию Cirrus Logic GD5446 PCI VGA). Если гостевая операционная система поддерживает VBE-расширения VESA 2.0 (например, Windows XP), и вы хотите использовать большие разрешения (>= 1280x1024x16), нужно включить эту опцию.
-no-acpi
Отключить поддержку ACPI (Advanced Configuration and Power Interface). Нужно использовать только если у гостевых систем проблемы с ACPI (только при эмуляции PC).
-no-reboot
Завершиться вместо перезагрузки.
-loadvm file
Начать с сохранённого ранее состояния ("loadvm" в мониторе)
-semihosting
Включить эмуляцию semihosting syscall (только для ARM и M68K).
На ARM это реализует интерфейс "Angel". На M68K через libgloss реализуется "ColdFire GDB".
Обратите внимание, что это позволяет гостевым системам напрямую обращаться к файловой системе хоста, поэтому такой метод можно использовать только с операционными системами, которым вы доверяете.

В ходе графической эмуляции можно использовать такие комбинации клавиш:

Ctrl-Alt-f
Переключиться в полноэкранный режим
Ctrl-Alt-n
Переключиться на виртуальную консоль n. Стандартная привязка консолей такая:
1 Дисплей эмулируемой системы
2 Монитор QEMU
3 Последовательный порт
Ctrl-Alt
Включить/выключить захват мыши и клавиатуры.

В виртуальных консолях, для того чтобы просмотреть более ранние записи, нужно использовать Ctrl-Up, Ctrl-Down, Ctrl-PageUp и Ctrl-PageDown.

В ходе эмуляции, если используется опция -nographic, список терминальных команд можно получить при помощи Ctrl-a h:

Ctrl-a h
Показать эту справку
Ctrl-a x
Завершить эмулятор
Ctrl-a s
Сохранить данные диска в файл (если -snapshot)
Ctrl-a t
включить/выключить временные пометки при записи в консоли (console timestamps)
Ctrl-a b
Отправить break (magic sysrq в Linux)
Ctrl-a c
Переключиться между монитором и консолью
Ctrl-a Ctrl-a
Отправить Ctrl-a

Эти опции специфичны для эмуляции PowerPC:

-g WxH[xDEPTH]
Установить начальный VGA-режиме. По умолчанию 800x600x15.
Эти опции относятся только к эмуляции Sparc32:
-g WxHx[xDEPTH]
Установить начальный графический режим TCX. По умолчанию 1024x768x8, сейчас единственно возможный другой режим 1024x768x24.
-prom-env string
Установить в NVRAM переменные OpenBIOS, например:
                  qemu-system-sparc -prom-env 'auto-boot?=false' \
                   -prom-env 'boot-device=sd(0,2,0):d' -prom-env 'boot-args=linux single'
-M [SS-5|SS-10|SS-20|SS-600MP|SS-2|SS-1000|SS-2000]
Установить тип эмулируемой машины. По умолчанию SS-5.

[править] См.также

В документации по QEMU в формате HTML можно найти более полную и детальную информацию.

[править] Автор

Фабрис Беллар (Fabrice Bellard)

Источник — «http://xgu.ru/wiki/man:qemu»