Разработки проекта PuppyRus > Программирование и компиляция
Qemoo, скрипт для упрощеного запуска Qemu от betcher.
totiks2012:
Qemoo - универсальный скрипт для запуска виртуальных машин в Qemu,его написал betcher. Этот скрипт объединяет опыт множества других скриптов, предоставляя разнообразные опции для запуска виртуальных машин.
Вы можете скачать его здесь -- https://abf.io/import/qemoo/blob/rosa2023.1/qemoo
и получить справку тут-- https://abf.io/import/qemoo/blob/rosa2023.1/%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0.%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0.qemoo
Почему выбор пал на Qemu вместо Virtualbox или Vmware?
Virtualbox и Vmware работают через специальные компоненты в ядре, что обеспечивает хорошую скорость работы. Но при обновлении ядра, эти компоненты нужно перекомпилировать, что может вызвать неудобства.
Qemu же более гибок, но менее прямо связан с ядром, и по этому при обновлении ядра с использованием Qemu нет необходимости в обновлении дополнительных компонентов.
Итак скрипт скачан , сохранили его с именем qemoo и дали ему права на исполнение, и путь до него например ~/qemoo.sh, а также у нас в ~/ISO находится iso образ с дистрибутивом my_linux.iso , запустить его в Qemu можно с помощью скрипта Qemoo командой:
--- Код ---
~/qemoo.sh ~/ISO/ my_linux.iso
--- Конец кода ---
Также можно запустить дистрибутив с флэшки
--- Код ---
~/qemoo.sh /dev/sdb
--- Конец кода ---
из ниже сказаного betcher чтоб запустить iso c qemoo подключив к нему флэшку достаточно ввести команду
--- Код ---
~/qemoo.sh ~/ISO/ my_linux.iso -a /dev/sdb
--- Конец кода ---
подключившись флэшка у меня отобразилась почему то как sda
также используя конфиг файл в /etc/qemoo.cfg можно расшарить папку ~/home
для этого нужно раскоментировать последнюю строку
SHARE=/home
а потом загрузившись в гостевую систему в терминале гостевой ввести последовательно
эти кооманды
--- Код ---
mkdir /mnt/hostdir
--- Конец кода ---
потом
--- Код ---
mount -t 9p -o trans=virtio,msize=100000000 hostdir /mnt/hostdir
--- Конец кода ---
если у вас гостевая система под пользователем, команды следует вводить от имени sudo
после этого вам станет доступным расшареный каталог основной системы /home
для создания виртуалного образа жесткого диска qcow2 необходимо скрипт запустить с опцией -i
--- Код ---
~/qemoo.sh -i ~/ISO/my_linux.iso
--- Конец кода ---
образ в данном случае будет создан в каталоге откуда запущен скрипт потому удобнее как мне кажется скрипт запускать из каталога ~/ISO чтоб iso и qcow2 находились в одном каталоге.
для запуска образа виртуального жесткого дика qcow2 следует ввести команду
--- Код ---
~/qemoo.sh ~/_qemoo_my_.qcow2
--- Конец кода ---
вот основные самые востребованые сценарии использования скрипта qemoo.
Большое и сердечное спасибо betcher за скрипт ,и за разъяснения как с ним работать!
betcher:
Наиболее полезные ключи:
-e - EFI вместо биоса, требует дополнительные компоненты для qemu, в росе в пакете зависимость прописана
-a - добаваить устройство. Например qemoo my.iso -a /dev/sda и можно в qemu установить с ISO на /sda. Если на sda тоже есть загрузчик, загрузка может пойти с него, все как на железе ). По этому лучше форматнуть перед тем как подключать.
-S - не запускать qemu а только сгенерировать cmdline
-d - запустить демоном, в консоль будет написан номер порта для подключения по SPICE (remmina, virt-viewer)
-i - запустить в режиме установки. Создаст образ и конфиг к нему и подключит.
Кроме скрипта нужен конфиг:
cat /etc/qemoo.cfg
# Setup parameters for qemoo
# additional parameters for qemu
#QEMUADD="-vga qxl -smp 2"
# what to do (run or install, default: run)
#ACTION='run'
# name for qcow2 image to install (default: auto)
#QCOW2='my_machine.qcow2'
# size (Gb) for qcow2 image to install (default: 20)
#SIZE='10'
# size of ram (Mb) for guest machine (default: RAM / 2, but not greater than 4272)
RAM='6000'
# efi firmware emulator for current architicture
#EFI_FIRMWARE='-bios /usr/share/OVMF/OVMF_CODE.fd'
# host dir to share
#SHARE=/home
-
Это базовый конфиг, приоритет над ним имеет qemoo.cfg в текущей папке или имя_образа.conf в папке с образом.
P.S.
При эмуляции линухов в qemu пробрасывется папка, по умолчанию - текущаяя. Ее можно смонтировать внутри виртуалки, как это сделать qemoo напишет а консоль.
При наличии сетевого интерфейса libvirt (virbr0) виртуалки подключаются к этому мосту и будут в одной подсети, при отсутствии - NAT.
totiks2012:
--- Цитата: betcher от 26 Октябрь 2023, 10:30:09 ---как это сделать qemoo напишет а консоль
--- Конец цитаты ---
вот тут мне непонятно то ли командой sudo mkdir /mnt/home должен предварительно создать каталог mnt/home а потом предварительно смонтировать его командой sudo mount -t 9p -o trans=virtio,msize=100000000 hostdir /mnt/home на это терминал ругнулся mount: /mnt/home: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program. подскажите пожалуйста как правильно всё сделать чтоб расшарить каталог /home
betcher:
rosa-de8cf BARIUM-PREZ # qemoo OS.qcow2
Using: /etc/qemoo.cfg
Virtual machine image: /home/betcher/BARIUM-PREZ/OS.qcow2
Host share:
/home/betcher/BARIUM-PREZ
Linux guest mount command example:
mkdir /mnt/hostdir
mount -t 9p -o trans=virtio,msize=100000000 hostdir /mnt/hostdir
Здесь
Host share это папка с хоста которая будет проброшена в гостевую машину
А команды надо выполнить под рутом в линукс госте.
Для того, чтобы это работало ядро гостевой машины должно быть собрано с поддержкой 9p.
totiks2012:
:) А вот теперь все смонтирвалось в штатном порядке. Я так-то для расшаривания пользовался средсвами ssh из mc пробрасывал тунель в основную систему, а тут прям расшаривание в полном смысле , прям круто, мне понравилось, прошу простить за повтор но добавлю об этом в топике чтоб было доступно.
Навигация
Перейти к полной версии