FreeBSD virtual environment management and repository

2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !

CBSD QEMU quick start

CBSD и QEMU

PlatformQEMU supportedNVMM supported
DragonflyBSDYY
FreeBSDYN
NetBSDYY

С CBSD версии 13.0.18 добавлена поддержка эмулятора QEMU и акселератора NVMM. Аналогично командам для jail, bhyve и XEN, вы можете создавать и управлять QEMU-based виртуальными машинами через аналогичные команды и диалоговые формы, при этом команды имеют префикс 'q': qstart, qdestroy..

На данный момент акселерация NVMM доступна только на платформе DragonFlyBSD. Тем не менее, если вы используете CBSD и QEMU на FreeBSD, вы можете воспользоваться возможностью легкого образа альтернативных архитектур в качестве полноценной виртуальной машины, если QEMU-usermode jail вам не подходит. Так, на хосте FreeBSD amd64, вы можете без труда запустить и работать с ОС для ARMv8/aarch64 или RISCv64.

При использовании NVMM, убедитесь что модуль загружен:

	kldload nvmm
	

Проверить статус NVMM вы можете через команду:

	nvmmctl identify
	

Если модуль отсутствует или работает некорректно, создавать ВМ вы сможете, но они будут работать без акселерации

Также, акселерация будет недоступна, если вы запускаете ненативные архитектуры.

Подробное описание работы с NVMM/QEMU на: странице проекта DragonflyBSD, NetBSD guide.

При работе с эмуляцией не родных архитектур, вам могут потребоваться прошивки и bios для загрузки систем:

Например:

  • u-boot-qemu-arm64 - Cross-build das u-boot for model qemu-arm64
  • u-boot-qemu-riscv64 - Cross-build das u-boot for model qemu-riscv64
  • opensbi - RISC-V SBI bootloader and firmware

TODO/Ограничения

На данный момент, запуск qemu происходит от пользователя 'root';

На платформе DragonFlyBSD поддержка HammerFS2 в CBSD находится в разработке: автоматическая работа с PFS/snapshot/COW средствами HammerFS в данный момент невозможа;

На платформе FreeBSD в QEMU не поддерживаетсят QXL/Spice протокол;

Создание QEMU ВМ

Вы можете работать с QEMU-based виртуальными машинами через привычные в CBSD методы: TUI интерфейс, CLI интерфейс или CBSDfile.

	cbsd qconstruct-tui --help
	cbsd qcreate --help
	cbsd qstart --help
	cbsd qdestroy --help
	

Демо работы с QEMU через CBSD

Demo of NVMM/QEMU via CBSD on DragonflyBSD 6.1-dev, Demo of running ARMv8 / AARCH64 and RISCv64 virtual machines on FreeBSD amd64 / x86_64: