man:qemu
Материал из Xgu.ru
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)