30 июня 2013 г.

Основы работы с Qemu и Stronghold Kingdoms на Linux

До недавнего времени для запуска других операционных систем использовала VirtualBox. Он действительно очень простой в освоении, и все действия в нём доступны из удобного графического интерфейса. В общем, можно ничего совсем не понимать, но запускать программу и пользоваться, кликая мышкой по кнопочкам. Однако кое-что он просто не умеет: в частности категорически не идут некоторые игры, а также различные визуальные эффекты либо не работают совсем либо тормозят всё до невозможности.

На самом деле всё и началось с желания запустить одну игру, которая при всей своей вроде бы небольшой сложности (графика далеко не уровня Crysis, да и вообще есть подозрение, что при желании разработчиков можно было заставить игру если не работать просто в браузере, то хотя бы нативно запускаться в линуксе, ну и совсем уж в лёгкую под wine), так вот эта игра не работала ни под wine, ни в VirtualBox. Поиски в интернете дают понять, что успеха в этом, похоже, никто не достиг. А речь о Stronghold Kingdoms, возможно, кого-то заинтересует такой способ решения задачи.

Связываться с Qemu как-то было страшновато, но на деле всё оказалось просто. Нет, я не разобралась во всём досконально и не решу любую проблему виртуализации. Но для того, чтобы просто создать и запустить виртуальный образ какой-нибудь системы, достаточно знать просто несколько команд. А кое-какие моменты можно затем уточнить методом проб и ошибок.

Итак, программа свободная, поэтому в стандартных репах она должна быть. Искать пакет со словом qemu. В OpenSuse, ArchLinux и Ubuntu основной пакет так и называется, нужные зависимости подтянутся сами.

Образ виртуального диска создаётся вручную:

qemu-img create -f qcow2 virtualdisk.qcow2 5G

В конце указывается размер и если предполагается установить Windows, лучше его сразу сделать побольше, так как 5 Гигабайт соверменной винде маловато будет. Имя файла, понятное дело, может быть любым.

Размер, кстати, можно потом поменять:

qemu-img resize virtualdisk.qcow2 +10G

Затем запускаем образ установочного диска:

qemu-system-x86_64 -cdrom image.iso -boot d virtualdisk.qcow2

Для 32-битных систем команда меняется на qemu-i386.

На этом-то в целом и всё, поскольку запускается в итоге виртуальная система самой очевидной командой:

qemu-system-x86_64 virtualdisk.qcom2

а для 32-битных систем так вообще командой qemu. Но есть нюансы.

Например, я использую команду, которая полностью выглядит таким образом:

qemu-system-x86_64 -m 1024 -vga cirrus -smp 2 -enable-kvm -machine pc,accel=kvm -usbdevice tablet virtualdisk.qcow2

но не всегда нужен именно этот набор опций. Все они есть в мане и при различных проблемах имеет смысл лезть в него и пробовать что-то поменять. В данном же случае используются следующие условия:
  • -m 1024 — оперативная память 1000 Мегабайт (тут нужно смотреть, чтобы памяти не стало мало основной системе, по умолчанию 128 Мб, так что в большинстве случаев придётся указать)
  • -vga cirrus — тип графической карты, есть ещё варианты std, vmware, qxl, нужно пробовать, у меня лучше пошло именно так
  • -smp 2 — двухядерный процессор
  • -enable-kvm — включение полной поддержки аппаратной виртуализации KVM (виртуальная система быстрее шевелится, но вообще я не вникала и для меня это как карго-культ)
  • -machine pc,accel=kvm — ещё один карго-культ, может быть, и не нужно, но возможно помогает работать лучше
  • -usbdevice tablet — позволяет безпрепятственно переводить курсор мыши между окном виртуальной машины и основной системой (в обратном случае, виртуальная машина при клике в её окне захватывает курсор и чтобы вывести его оттуда нужно воспользоваться сочетанием клавиш Ctrl+Alt)

Конечно, есть опции и для звука, и ещё много чего, но опять же выудить что-то конкретное уже будет несложно, а в целом работает.

6 комментариев:

  1. Qemu также позволяет "пробрасывать" устройства в гостевую систему, но для этого нужно чтобы процессор поддерживал технологию VT-d, а материнская плата технологию VT-x

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить
  3. Ура! Блог ожил!!! Не зря в закладках держал :) Сори за офтоп)

    ОтветитьУдалить
  4. И от меня поздравления =)

    интересный пост, при наличии потребности в вм сразу сюда, а то этот вб что то никогда мне не нравился, хороший повод попробывать кему.

    ОтветитьУдалить
  5. и да, если не очень трудно, сделай поиск по сайту через google хотя бы, а то чтоб узнать есть ли тут инфа по треям пришлось все страницы пролистать и хорошо бы для юзабилити сделать вывод всех постов или заголовков.

    подумай о читателях блога (который хоть и для себя у тебя) мы у тебя все таки есть =)

    ОтветитьУдалить