|
www.lissyara.su
—> документация
—> man
—> qemu
qemu
Использование: qemu [options] [disk_image]
Описание:
QEMU - эмулятор системы PC, моделирующий следующие внешние устройства:
Узел i440FX моста PCI и мост PIIX3 PCI к ISA
Карту Cirrus CLGD 5446 PCI VGA, или поддельную карту VGA с расширением Bochs VESA (железный уровень, включающий все нестандартные режимы)
Мышь и клавитуру PS/2
Два интерфейса PCI IDE с поддержкой жёстких дисков и CD-ROM
Флоппи диск
Сетевой адаптер NE2000 PCI
Последовательные порты
Звуковую карту Creative SoundBlaster 16
Звуковую карту ENSONIQ AudioPCI ES1370
Adlib(OPL2) - микросхема совместимая с Yamaha YM3812
Контроллер PCI UHCI USB и виртуальный USB хаб
SMP поддерживает до 255 процессоров.
Отметтьте, что adlib доступен лишь когда QEMU сконфигурирован с -enable-adlib.
QEMU использует BIOS PC от проекта Bochs, и Plex86/Bochs LGPL VGA BIOS.
QEMU использует эмуляцию YM3812 от Tatsuyuki Satoh.
Опции:
disk_image - сырой образ жёсткого диска для нулевого жёсткого диска IDE.
Общие опции:
-M machine - Выбор эмулируемой машины ("-M ?" для списка (в текущей версии, не выводит - прим. lissyara))
-fda file
-fda file - Использовать файл как образ гибкого диска 0/1. Вы можете использовать привод гибких дисков на машине, указав как имя файла - /dev/fd0.
-hda file
-hdb file[/b
-hdc file[/b
-hdd file[/b - Использовать файл как образ жёсткого диска 0, 1, 2 или 3.
-cdrom file - Использовать файл как образ CD-ROM (вы не можете использовать -hdc и -cdrom одновременно). Вы можете использовать CD-ROM на машине, используя как имя файла /dev/cdrom.
-boot [a|c|d|n] - Загружаться с floppy (a), жёсткого диска (c), CD-ROM (d), или Etherboot (n). По умолчанию - загрузка с жёсткого диска.
-snapshot - Записывать во временные файлы, вместо образов жёстких дисков. В этом случае, используемый вами образ сырого жёсткого диска не записывается. Однако, вы можете вызвать принудительную запись, путём нажатия C-a s.
-no-fd-bootchk - Отключить проверку загрузочной записи гибких дисков в Bochs BIOS. Это может быть необходимо для загрузки со старых гибких дисков.
-m megs - Установить виртуальный размер RAM в megs мегабайт. По умолчанию — 128Mb.
-smp n - Моделировать SMP систему с n CPU. На целевом PC поддерживатся вплоть до 255 CPU.
-nographic - Обычно, QEMU использует SDL для показа вывода VGA. С этой опцией, вы можете полностью отключить графический вывод, таким образом, QEMU - просто приложение командной строки. Эмулируемый последовательный порт - перенаправляется в консоль. Поэтому, вы всё ещё можете использовать QEMU для отлаки ядра Linux с последовательной консолью. (Незаслуженно обижены остальные дистрибутивы горазо более правильных и прямых ОСей - FreeBSD, например - прим. lissyara)
-vnc display - Обычно, QEMU использует SDL для показа вывода VGA. С этой опцией, вы можете иметь слушающий QEMU на дисплее VNC display, и перенаправлять дисплей VGA через сессию VNC. Это очень полезно для включения устройств usb tablet, при использовании этой опции (опция -usbdevice tablet). Когда используется дисплей VNC, вы можете использовать опцию -k, для задания раскладки клавиатуры, если вы не используете en-us.
display может быть в форме interface:d, в случае чего, соединения будут разрешены лишь от interface на d. Опционально, interface может быть опущена. display, также, может быть в форме unix:path, где path - расположение сокета, для приёма подключений.
-k language - Использовать раскладку клавиатуры language (например, "fr" для French). Эта опция нужна лишь там, где не безопасно брать сырые коды клавиш PC (например, на Макинтошах, с некоторыми серверами X11, или с дисплеем VNC). Обычно, вам не нужно использовать её на хостах PC/Linux or PC/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".
-audio-help - Позволяет показать помощь подсистемы аудио: список драйверов, настраиваемые параметры.
-soundhw card1,card2,... or -soundhw all - Включение звука и выбор аудио оборудования. Используйте ? для вывода всего доступного аудио оборудования.
qemu -soundhw sb16,adlib hda
qemu -soundhw es1370 hda
qemu -soundhw all hda
qemu -soundhw ?
|
-localtime - Установка часов реального времени в локальное время (по умолчанию - время UTC). Эта опция необходима для установки корректного времени в MS-DOS или Windows.
-full-screen - Запуститься в полноэкранном режиме.
-pidfile file - Сохранить PID процесса QEMU в file. Это полезно, если вы запускаете QEMU из скрипта.
-daemonize - "Демонизировать" процесс QEMU после инициализации. QEMU не будет отключаться от стандартного IO пока он готов принимать соединения на любых его устройствах. Эта опция - полезна для запуска QEMU внешними программами, без необходимости преодолевать условия запуска. (не совсем понял фразу - прим. lissyara)
-win2k-hack - Используйте её при инсталляции Windows 2000 для избежания ошибки заполнения диска. После инсталляции Windows 2000, эта опция больше не нужна (она замедляет передачу по IDE).
-option-rom file - Загрузить содержимое файла как опциональную ROM. Эта опция полезна для загрузки вещщей, типа EtherBoot.
Опции USB:
-usb - Включить драйвер USB (по умолчанию).
-usbdevice devname - Добавить USB устройство devname.
Сетевые опции:
-net nic[,vlan=n][,macaddr=addr][,model=type] - Создать новую сетевую карту, и подключить её к VLAN`y n (по умолчанию, n = 0). На целевом PC, в настоящее время, NIC - NE2000. Опционально, может быть изменён MAC-адрес. Если опции -net не задано, содаётся одна сетевая карта. QEMU может эмулировать несколько различных моделей сетевых плат. Допустимые значения для type - "ne2k_pci", "ne2k_isa", "rtl8139", "smc91c111" и "lance". Не все устройства поддерживаются на всех целях.
-net user[,vlan=n][,hostname=name] - Использовать сетевой стек пользовательского режима, не требующий прав администратора для запуска. Для задания имени клиентского хоста, сообщаемого встроенному DHCP-серверу, может использоваться hostname=name.
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file] - Подключить сетевой интерфейс TAP, хоста, к VLAN`y n, и использовать, для его конфигурирования, скрипт file. По умолчанию, сетевой скрипт - /etc/qemu-ifup. Используйте script=no для откючения выполнения скрипта. Если name не задано, ОС предоставит его автоматически. Для обработки уже окрытого хостом TAP-интерфейса, может использоваться fd=h. Например:
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`a n к удалённому VLAN`y, в другой виртуальной машине GEMU, используя соединение через сокет TCP. Если задана listen, QEMU ожидает входящие соединения на port (host - опциональна). connect - используется для подключения к иному экземпляру QEMU, используя опцию listen. fd=h - определяет уже открытый сокет TCP.
Пример:
# Запуск первого экземпляра QEMU
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
-net socket,listen=:1234
# подключение VLAN 0 этого экземпляра, к VLAN 0
# первого экземпляра
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`a n, общего с другой виртуальной машиной QEMU, используя мультикастовый сокет UDP, эффективно делающего шину для каждой QEMU, с тем же самым мультикастовым адресом maddr и port. ПРИМЕЧАНИЕ:
1. Различные QEMU могут быть запущены на различных хостах, и иметь общую шину (предполагается корректная мультикастовая установка для этих хостов).
2. Мультикастовая поддержка - совместима с пользовательским режимом linux (аргумент ethN=mcast), смотрите http://user-mode-linux.sf.net.
3. Используйте fd=h, для задания уже открытых мультикастовых UDP сокетов.
Пример:
# запуск первого экземпляра QEMU
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
-net socket,mcast=230.0.0.1:1234
# запуск другого экземпляра QEMU на той же самой "шине"
qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
-net socket,mcast=230.0.0.1:1234
# запуск ещё одного иного экземпляра QEMU на той же самой "шине"
qemu linux.img -net nic,macaddr=52:54:00:12:34:58 \
-net socket,mcast=230.0.0.1:1234
| Пример (совместимость с пользовательским режимом linux`a)
# запуск экземпляра QEMU (отметтьте - адрес mcast выбран
# по умолчанию, пользовательским режимом linux`a)
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
-net socket,mcast=239.192.168.1:1102
# запуск пользовательского режима linux`a
/path/to/linux ubd0=/path/to/root_fs eth0=mcast
|
-net none - EУказывает,что сетевые устройства не должны конфигурироваться. Она используется для перезадания дефолтовой конфигурации (-net nic -net user), которая активируется, если не предоставлена опция -net.
-tftp prefix - Когда используется пользовательский режим сетевого стека, активирует встроенный TFTP-сервер, Все имена файлов, начинающиеся с prefix, могут быть скачаны с хоста на гостя, используя клиент TFTP. Клиент TFTP, на госте, должен быть сконфигурирован в бинарном режиме (используя команду "bin", TFTP клиента UNIX). IP адрес хоста на госте, обычно, - 10.0.2.2.
-smb dir - Когда используется пользовательский режим сетевого стека, активируется встроенный SMB сервер, таким образом, ОС`ы Windows могут иметь прозрачный доступ к файлам хоста в dir.
В гостевой ОС Windows, строка:
должна быть добавлена в файл C:\WINDOWS\LMHOSTS (для windows 9x/Me) или C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS (Windows NT/2000).
Тогда dir должна быть доступна в \\smbserver\qemu.
Отметтьте, что сервер SAMBA должен быть инсталлирован на главной машине, в /usr/sbin/smbd. QEMU был успешно протестирован с smbd версии 2.2.7a из the Red Hat 9 и версии 3.0.10-1.fc3 из Fedora Core 3.
-redir [tcp|udp]:host-port:[guest-host]:guest-port - Когда используется сетевой стек пользовательского режима, перенаправление входящего TCP или UDP оединения к порту хоста host-port на гостевой guest-host гостевого порта guest-port. Если не задан guest-host, его значение - 10.0.2.15 (дефолтовый адрес данный встроенным DHCP-сервером).
Например, для редиректа соединения X11 хоста от экрана 1 к гостевому экрану 0, используйте следующее:
# на хосте
qemu -redir tcp:6001::6000 [...]
# этот xterm хоста был бы открыт в гостевом сервере X11
xterm -display :1
| Редирект соединения telnet от
# на хосте
qemu -redir tcp:5555::23 [...]
telnet localhost 5555
| Тогда, когда вы используете на хосте "telnet localhost 5555", вы подключаетесь к гостевому серверу telnet.
Специфичное для загрузки linux: Rjulf используются эти опции, вы можете использовать данное linux ядро без инсталляции его в образе диска. Это может быть полезным для лёгкого тестирования различных ядер.
-kernel bzImage - Использовать bzImage как образ ядра.
-append cmdline Использовать cmdline как командную строку ядра.
-initrd file использовать file как начальный диск в памяти.
Отладочные/Экспертные опции:
-serial dev - Перенаправить вертуальный последовательный порт к хостовому символьному устройству dev. Дефолтовое устройство - "vc" в графическом режиме, и "stdio" в неграфическом режиме.
Эта опция может использоваться несколько раз, для симуляции вплоть до четырёх последовательных портов.
Используйте "-serial none", для отключения всех последовательных портов.
Доступные символьные устройства - таковы:
"vc" - виртуальная конмоль.
"pty" - [только linux] - псевдо TTY (новые PTY - выделяются автоматически).
"none" - нет выделенного устройства.
"null" - пустое устройство.
"/dev/XXX" - [только linux] - использовать tty хоста, т.е. /dev/ttyS0. Параметры последовательного порта хоста устанавливаются по параметрам эмулируемого.
"/dev/parportN" - [только linux, только параллельный порт] - использовать параллельный порт N хоста. В настоящее время, vj;tn использоваться лишь параллельный порт SPP.
"file:filename" - записывать вывод в файл. Символы не могут читаться.
"stdio" - [только UNIX] - стандартный ввод/вывод.
"pipe:filename" - именованная труба filename.
"COMn" - [только Windows] - использовать последовательный порт n хоста.
"udp:[remote_host]:remote_port[@[src_ip]:src_port]" - это реализайия сетевой консоли UDP. Когда remote_host или src_ip не определены, они, по умолчанию, - 0.0.0.0. Когда не используется заданный src_port, автоматически выбирается случайный порт.
Если вы лишь хотите простую консоль только для чтения, вы можете использовать "netcat" или "nc", пуётм запуска qemu c: "-serial udp::4555" и nc как: "nc -u -l -p 4555". В любой момент времени qemu что-то пишет в порт, таким образом это будет показано в сессии сетевой консоли.
Если вы планируете посылать символы назад через сетевую консоль, или вы хотите остановить и запустить qemu несколько раз, вы должны сделать, чтобы qemu использовал тот же исходный порт каждый раз, используя что-то вроде "-serial udp::4555@4556" для qemu. Иной подход - использовать пропатченную версию netcat, которая может слушать TCP порт и посылать и принимать символы по udp. Если у вас есть патченная версия netcat, которая активирует удалённое эхо telnet, и передачу единичного символа, тогда вы можете использовать следующие опции, для повышения перенаправления netcat к разрешённому порту telnet 5555, для доступа к порту qemu.
"Qemu Options:"
-serial udp::4555@4556
"netcat options:"
-u -P 4555 -L 0.0.0.0:4556 -t -p 5555 -I -T
"telnet options:"
localhost 5555
| "tcp:[host]:port[,server][,nowait][,nodelay]" - сетевая консоль TCP имеет два режима работы. Она может посылать последовательный ввод/вывод в определённое местоположение, или ожидать соединения от определённого места. По умолчанию, сетевая консоль TCP посылается к host на port. Если вы используете опцию QEMU server, заставляющую ожидать сокет клиентского приложения, соединения к порту до продолжения, кроме случая когда задана опция "nowait". Опция "nodelay" отключает алгоритм буферизации Nagle. Если опущен 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
"Пример не ожидания и прослушивания на ip 192.168.0.100 порт 4444"
-serial tcp:192.168.0.100:4444,server,nowait
| "telnet:host:port[,server][,nowait][,nodelay]" - Вместо сырого tcp сокета используется соединение по протоколу telnet. Опция работает также, как если вы задаёте "-serial tcp". Отличие - что порт выступает как сервер или клиент, используя опции переговоров telnet. Это, также, позволяет вам посылать последовательность MAGIC_SYSRQ, если вы используете поддержку посылки прерывающей последовательности telnet. Обычно, в UNIX клиенте telnet, вы делаете это при помощи Control-], и, затем, вводите "send break", сопровождаемое нажатием клавиши Enter.
"unix:path[,server][,nowait]" - доменный сокет UNIX использвуется место сокета tcp. Опция работает также как если вы задаёте "-serial tcp", за тем исключением, что для соединения используется доменный сокет UNIX path.
-parallel dev - перенаправить виртуальный параллельный порт к устройству хоста dev (то же самое устройство, что и последовательный порт). На хостах linux, /dev/parportN может быть использована для использования устройства подключенного на соответтсвующий параллельный порт хоста.
Эта опция может быть использована несколько раз для моделирования до трёх параллельных портов.
Используйте "-parallel none" для отключения всех паралллельных портов.
-monitor dev - перенаправить монитор к устройству хоста dev (то же самое устройство, что и последовательный порт). Устройство по умолчанию - "vc" в графическом режиме, и "stdio" в неграфическом.
-s - ожидать gdb соединения на порт 1234.
-p port - изменить порт соединения gdb. port может быть одим из десятичных номеров, для задания порта TCP, или устройством хоста (то же самое устройство, что и последовательный порт).
-S - не запускать CPU при запуске (вы можете ввести 'c' в мониторе).
-d - вывести лог в /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 - установить диреткорию для BIOS, VGA BIOS и раскладки клавиатуры.
-std-vga - моделировать стандартную карту VGA с расширением Bochs VBE (по умолчанию - Cirrus Logic GD5446 PCI VGA). Если ваша гостевая OC поддерживает расширение VESA 2.0 VBE (например, Windows XP), и вы хотите использовать режим высокого разрешения (>= 1280x1024x16), вы должны использовать эту опцию.
-no-acpi - отключить поддержку ACPI (Advanced Configuration and Power Interface). Используёте её, если ваша гостевая ОС жалуется на проблемы с ACPI (только для целевых машин PC).
-no-reboot - выход, вместо перезагрузки.
-loadvm file - запускаться с сохранённым состоянием ("loadvm" - в монитор).
-semihosting - включить полу-хостовый интерфейс "Angel" (только для целевых машин ARM). JОтметтьте.что это позволяет гостям прямой доступ к файловой системе хоста, таким образом, должен использоваться лишь для доверенных гостевых ОС.
В течение графической эмуляции, вы можете использовать следующие клавиши:
Ctrl-Alt-f - переключиться в полноэкранный режим.
Ctrl-Alt-n - переключиться на виртуальную консоль 'n'. Стандартный маппинг консолей таков:
1. Целевой системный дисплей.
2. Монитор.
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 b - послать прерывание (магическое sysrq - в linux).
Ctrl-a c - переключиться между консолью и монитором.
Ctrl-a Ctrl-a - послать Ctrl-a.
Следующие опции специфичные для эмуляйии PowerPC:
-g WxH[xDEPTH] - установить начальный графический режим VGA. По умолчанию - 800x600x15.
Следующие опции специфичны для эмуляции Sparc:
-g WxH - Установить начальный графический режим TCX. ПО умолчанию - 1024x768.
Автор: Fabrice Bellard
=============
translated by lissyara
|
|