Qemoo — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Установка с исо на реальный диск)
 
(не показано 11 промежуточных версий 2 участников)
Строка 4: Строка 4:
 
* Qemoo избавит вас от необходимости заучивать километровые команды для запуска элементарной виртуалки с iso.
 
* Qemoo избавит вас от необходимости заучивать километровые команды для запуска элементарной виртуалки с iso.
 
* Qemoo имеет всего несколько параметров и конфигурационный файл позволяющий добавить или изменить любые параметры эмулятора qemu.
 
* Qemoo имеет всего несколько параметров и конфигурационный файл позволяющий добавить или изменить любые параметры эмулятора qemu.
* Qemoo может помочь вам, даже когда его возможностей по конфигурации qemu недостаточно, добавив ключ -S вы можете сгенерировать cmdline для qemu и уже на основе этой заготовки делать свой.
+
* Qemoo может помочь вам, даже когда его возможностей по конфигурации qemu недостаточно, добавив ключ -S вы можете сгенерировать cmdline для qemu и уже на основе этой заготовки делать свой набор параметров.
  
===== Просто передайте то, что нужно запустить =====
+
==== Просто передайте то, что нужно запустить ====
 
      
 
      
 
     qemoo Rosa.iso
 
     qemoo Rosa.iso
Строка 28: Строка 28:
 
     qemoo _qemoo1_ROS.qcow2 (имена образов генерируются, но можно и задать)
 
     qemoo _qemoo1_ROS.qcow2 (имена образов генерируются, но можно и задать)
  
 +
===== Установка с исо на реальный диск =====
  
===== Установка с исо на диск =====
+
Ключ -a позволяет подключать к виртуальной машине дополнительные устройства или образы
 
+
Ключ -a позволяет подключать виртуальной машине дополнительные устройства
+
 
+
qemoo Rosa.iso -a /dev/sdb
+
  
 +
    qemoo Rosa.iso -a /dev/sdb
  
 
===== Параметры для qemu =====
 
===== Параметры для qemu =====
Строка 40: Строка 38:
 
Можно добавлять свои параметры для qemu в конце строки после --
 
Можно добавлять свои параметры для qemu в конце строки после --
  
qemoo -e -S Rosa.iso -- -smp 4
+
    qemoo -e -S Rosa.iso -- -smp 4
  
 +
===== Хитромудрая загрузка =====
 +
 +
Можно грузить с iso так, как загрузка шла бы если исо по-байтово копировать на флешку.
  
Можно грузить с iso так, как загрузка шла бы если раскатать исо на флешку.
+
    qemoo -l Rosa.iso
 
+
    qemoo -l -e Rosa.iso
qemoo -l Rosa.iso
+
qemoo -l -e Rosa.iso
+
  
 
Можно пробросить при загрузке usb устройство целиком, например для 4G модемов с sd картой куда установлена ОС или барий на токене
 
Можно пробросить при загрузке usb устройство целиком, например для 4G модемов с sd картой куда установлена ОС или барий на токене
  
qemoo -L /dev/sdb
+
    qemoo -L /dev/sdb
  
===== Конфигурационные файлы =====
+
==== Проброс каталога между хостом и гостем ====  
  
В порядке уменьшения приоритета:
+
При каждой загрузке в гостевую ОС пробрасывается папка ( по умолчанию ./ ), как подключить ее в гостевой ОС линукс будет написано в консоль при старте
  
    /etc/qemoo.cfg
+
=== Сеть ===
    ./qemoo.cfg
+
    имя_загружаемого_образа.conf
+
    (_qemoo1_MOS.qcow2 - образ
+
    _qemoo1_MOS.qcow2.conf - его личный конфиг)
+
  
===== Проброс каталога между хостом и гостем =====
+
Для удобства взаимодействия по сети с виртуальными машинами Virt-Manager'а, виртуальные машины, запущенные с помщью qemoo, получают сетевой адрес из той же подсети, если она существует. Обычно это подсеть 192.168.122.0/24 на интерфейсе virbr0. Если этого интерфейса нет, вероятно не установлена и/или не запущена служба libvirtd. В этом случае для каждой виртуальной машины будет подниматься своя виртуальная подсеть, в которой она будет находиться за NAT, что не всегда подходит.
 +
Также сетевой мост можно создать и настроить самостоятельно, назвав его qemoobr0. При его наличии virbr0 игнорируется.
  
При каждой загрузке в гостевую ОС пробрасывается папка ( по умолчанию ./ ), как подключить ее в гостевой ОС линукс будет написано в консоль при старте  
+
=== Демон ===
 +
 
 +
Можно запустить виртуальную машину с выводом видео по протоколу SPICE, то есть машина будет запущена демоном, а для подключения к ее экрану вам понадобится сторонее приложение (virt-viewer, remmina).
 +
 
 +
Запустите с ключом -d. Qemoo вернет номер порта для подключения.
 +
 
 +
    qemoo -d Rosa.iso
 +
 
 +
=== systemd ===
 +
                                       
 +
Пакет qemoo содержит юниты для создания виртуальных машин управляемых systemd.
 +
Можно использовать для запуска виртуальных машин при старте ОС хоста.
 +
 
 +
При запуске qemoo в режиме установки (ключ -i) рядом с новым qcow2
 +
образом создается одноименный файл - образ.qcow2.conf он содержит
 +
настройки которые нужно применять при старте qemoo c этим образом 
 +
                                       
 +
Выглядит так:
 +
                                       
 +
    ACTION=run
 +
    RAM="auto"
 +
    ADD=""
 +
    EFI="-bios /usr/share/OVMF/OVMF_CODE.fd"
 +
    PORT=""
 +
    REDIRUSB=""
 +
    LOSETUP=""
 +
    SPICE=""
 +
    SHARE="/home/betcher/Programming/ISO"
 +
    QEMOOADD=""
 +
                                       
 +
Для запуска с systemd нужно изменить:
 +
   
 +
    SPICE=yes  (чтобы виртуальная машина запускалась демоном)
 +
    PORT=6001  (порт для подключения иначе будет назначен автоматически)
 +
                                       
 +
Запуск такого образа от root с systemd:
 +
 +
    systemctl start  qemoo@$(systemd-escape /path/to/your/img.qcow2)
 +
 
 +
Проверка состояния:
 +
   
 +
    systemctl status qemoo@$(systemd-escape /path/to/your/img.qcow2)
 +
 
 +
Включить авто запуск гостя при старте ОС хоста:
 +
 +
    systemctl enable qemoo@$(systemd-escape /path/to/your/img.qcow2)
 +
 
 +
Отключить запуск гостя при старте хоста:
 +
 +
    systemctl disable qemoo@$(systemd-escape /path/to/your/img.qcow2)
 +
                                       
 +
Те же команды можно использовать для запуска виртуальной машины с правами пользователя, для этого после systemctl добавляем --user
 +
 
 +
Например:
 +
   
 +
    systemctl --user enable qemoo@$(systemd-escape /path/to/your/img.qcow2)
 +
                                       
 +
<u>systemd-escape здесь нужен для экранирования слэшей в путях</u>
 +
 
 +
=== Конфигурационные файлы ===
  
 +
В порядке увеличения приоритета:
  
 +
    1. /etc/qemoo.cfg
 +
        или вместо него указанный в переменной окружения $QEMOOCFG
 +
    2. ./qemoo.cfg
 +
    3. имя_загружаемого_образа.conf
 +
        то есть:
 +
        _qemoo1_MOS.qcow2 - образ
 +
        _qemoo1_MOS.qcow2.conf - его личный конфиг
 +
    4. указанный с параметром --config
  
  
  
https://forum.rosalinux.ru/viewtopic.php?f=58&t=10695
+
[https://forum.rosalinux.ru/viewtopic.php?f=58&t=10695 Тема по qemoo на https://forum.rosalinux.ru/]

Текущая версия на 09:48, 4 марта 2024

Qemoo - скрипт-обертка для эмулятора qemu.

  • Qemoo не заменит virt-manager или virtualbox, а также поддерживает только малую часть возможностей qemu, но совершенно незаменим когда нужно быстро запустить виртуальную машину.
  • Qemoo избавит вас от необходимости заучивать километровые команды для запуска элементарной виртуалки с iso.
  • Qemoo имеет всего несколько параметров и конфигурационный файл позволяющий добавить или изменить любые параметры эмулятора qemu.
  • Qemoo может помочь вам, даже когда его возможностей по конфигурации qemu недостаточно, добавив ключ -S вы можете сгенерировать cmdline для qemu и уже на основе этой заготовки делать свой набор параметров.

Просто передайте то, что нужно запустить

   qemoo Rosa.iso
   qemoo /dev/sda
   qemoo ./Rosa.qcow2
   

Если EFI, то добавляем ключ -e

   qemoo -e my.img 
   и т.д
Установка ОС на виртуальный диск

Добавляем ключ -i

   qemoo -i Rosa.iso
   qemoo -i -е /dev/sdb

утилита создаст в текущем каталоге образ qcow2 и подключит его при старте, после инсталляции можно грузиться с образа этим же qemoo

   qemoo _qemoo1_ROS.qcow2 (имена образов генерируются, но можно и задать)
Установка с исо на реальный диск

Ключ -a позволяет подключать к виртуальной машине дополнительные устройства или образы

   qemoo Rosa.iso -a /dev/sdb
Параметры для qemu

Можно добавлять свои параметры для qemu в конце строки после --

   qemoo -e -S Rosa.iso -- -smp 4
Хитромудрая загрузка

Можно грузить с iso так, как загрузка шла бы если исо по-байтово копировать на флешку.

   qemoo -l Rosa.iso
   qemoo -l -e Rosa.iso

Можно пробросить при загрузке usb устройство целиком, например для 4G модемов с sd картой куда установлена ОС или барий на токене

   qemoo -L /dev/sdb

Проброс каталога между хостом и гостем

При каждой загрузке в гостевую ОС пробрасывается папка ( по умолчанию ./ ), как подключить ее в гостевой ОС линукс будет написано в консоль при старте

Сеть

Для удобства взаимодействия по сети с виртуальными машинами Virt-Manager'а, виртуальные машины, запущенные с помщью qemoo, получают сетевой адрес из той же подсети, если она существует. Обычно это подсеть 192.168.122.0/24 на интерфейсе virbr0. Если этого интерфейса нет, вероятно не установлена и/или не запущена служба libvirtd. В этом случае для каждой виртуальной машины будет подниматься своя виртуальная подсеть, в которой она будет находиться за NAT, что не всегда подходит. Также сетевой мост можно создать и настроить самостоятельно, назвав его qemoobr0. При его наличии virbr0 игнорируется.

Демон

Можно запустить виртуальную машину с выводом видео по протоколу SPICE, то есть машина будет запущена демоном, а для подключения к ее экрану вам понадобится сторонее приложение (virt-viewer, remmina).

Запустите с ключом -d. Qemoo вернет номер порта для подключения.

   qemoo -d Rosa.iso

systemd

Пакет qemoo содержит юниты для создания виртуальных машин управляемых systemd. Можно использовать для запуска виртуальных машин при старте ОС хоста.

При запуске qemoo в режиме установки (ключ -i) рядом с новым qcow2 образом создается одноименный файл - образ.qcow2.conf он содержит настройки которые нужно применять при старте qemoo c этим образом

Выглядит так:

   ACTION=run
   RAM="auto"
   ADD=""
   EFI="-bios /usr/share/OVMF/OVMF_CODE.fd"
   PORT=""
   REDIRUSB=""
   LOSETUP=""
   SPICE=""
   SHARE="/home/betcher/Programming/ISO"
   QEMOOADD="" 
                                       

Для запуска с systemd нужно изменить:

   SPICE=yes  (чтобы виртуальная машина запускалась демоном)
   PORT=6001  (порт для подключения иначе будет назначен автоматически)
                                       

Запуск такого образа от root с systemd:

   systemctl start  qemoo@$(systemd-escape /path/to/your/img.qcow2)

Проверка состояния:

   systemctl status qemoo@$(systemd-escape /path/to/your/img.qcow2)

Включить авто запуск гостя при старте ОС хоста:

   systemctl enable qemoo@$(systemd-escape /path/to/your/img.qcow2)

Отключить запуск гостя при старте хоста:

   systemctl disable qemoo@$(systemd-escape /path/to/your/img.qcow2)
                                       

Те же команды можно использовать для запуска виртуальной машины с правами пользователя, для этого после systemctl добавляем --user

Например:

   systemctl --user enable qemoo@$(systemd-escape /path/to/your/img.qcow2)
                                       

systemd-escape здесь нужен для экранирования слэшей в путях

Конфигурационные файлы

В порядке увеличения приоритета:

   1. /etc/qemoo.cfg
       или вместо него указанный в переменной окружения $QEMOOCFG
   2. ./qemoo.cfg
   3. имя_загружаемого_образа.conf
       то есть:
       _qemoo1_MOS.qcow2 - образ
       _qemoo1_MOS.qcow2.conf - его личный конфиг
   4. указанный с параметром --config


Тема по qemoo на https://forum.rosalinux.ru/