Qemoo — различия между версиями
Betcher (обсуждение | вклад) |
Betcher (обсуждение | вклад) (→Установка с исо на реальный диск) |
||
(не показано 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 | ||
===== Параметры для qemu ===== | ===== Параметры для qemu ===== | ||
Строка 40: | Строка 38: | ||
Можно добавлять свои параметры для qemu в конце строки после -- | Можно добавлять свои параметры для qemu в конце строки после -- | ||
− | qemoo -e -S Rosa.iso -- -smp 4 | + | qemoo -e -S Rosa.iso -- -smp 4 |
+ | ===== Хитромудрая загрузка ===== | ||
+ | |||
+ | Можно грузить с 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 |
− | ==== | + | ==== Проброс каталога между хостом и гостем ==== |
− | + | При каждой загрузке в гостевую ОС пробрасывается папка ( по умолчанию ./ ), как подключить ее в гостевой ОС линукс будет написано в консоль при старте | |
− | + | === Сеть === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | Для удобства взаимодействия по сети с виртуальными машинами 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