Разработки проекта PuppyRus > Программирование и компиляция

Qemoo, скрипт для упрощеного запуска Qemu от betcher.

(1/3) > >>

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 пробрасывал тунель в основную систему, а тут прям расшаривание в полном смысле  , прям круто, мне понравилось, прошу простить за повтор но  добавлю об этом в топике чтоб было доступно.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии