Мы — долго запрягаем, быстро ездим, и сильно тормозим.
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, строка:
    10.0.2.4 smbserver
    

    должна быть добавлена в файл 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





  •  

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0423 секунд
    Из них PHP: 35%; SQL: 65%; Число SQL-запросов: 48 шт.
    Исходный размер: 52230; Сжатая: 12911