2019-12-08

victor_sudakov: (Default)
2019-12-08 06:14 pm

Установка FreeBSD c графическим интерфейсом в bhyve

Может пригодиться, например, для тестирования графических desktop environments. В качестве оболочки к bhyve использован sysutils/vm-bhyve, в качестве VNC клиента - net/tightvnc.

Поскольку framebuffer console доступна только при загрузке гостевой ОС в режиме UEFI (а в режиме bhyveload недоступна), то нужно установить гостевую FreeBSD в режиме UEFI.

I. В конфиге новой VM должны присутствовать параметры
loader="uefi"
graphics="yes"
graphics_wait="auto"
graphics_res="1280x720"
xhci_mouse="no"

II. Запускаем установку как обычно для UEFI гостей:
vm install test1 FreeBSD-12.1-RELEASE-amd64-disc1.iso
vncviewer 192.168.1.1:5900

В EFI консоли дожидаемся FreeBSD boot menu, нажимаем 3 (Escape to loader prompt). В консоли лоадера
set boot_serial=NO
boot

При установке Auto (ZFS) нужно выбрать "Partition Scheme GPT(UEFI)", bsdinstall создаст EFI раздел и положит туда загрузчик. При установке на UFS придется вручную создать EFI раздел и наполнить его содержимым из /boot/boot1.efifat.

III. На последнем шаге установки (Manual Configuration):
echo 'boot_serial="NO"' >> /boot/loader.conf

IV. Устанавливаем иксы и нужный desktop environment:
pkg install xorg gnome3

V. В /usr/local/etc/X11/xorg.conf.d/driver-scfb.conf добавляем секцию:
Section "Device"
        Identifier    "Card0"
        Driver        "scfb"
EndSection

Это важно! Если не добавить, X-server не найдет framebuffer-ную консоль.

VI. Запускаем нужную графическую среду
sysrc dbus_enable=YES
sysrc hald_enable=YES
sysrc gdm_enable=YES
apply "service %1 start" dbus hald gdm

Источники:
https://wiki.freebsd.org/bhyve/UEFI
Тред в https://lists.freebsd.org/pipermail/freebsd-virtualization/2019-December/007944.html