Знание должно быть доступно!

Путь /ОС/FreeBSD

nmdm это твой виртуальный нуль-модемный кабель

Создаёт пару виртуальных COM-портов (/dev/nmdm0A и /dev/nmdm0B).
Всё, что записываешь в 0A, сразу читается из 0B, и наоборот.
Можно подключить одну сторону к виртуалке, вторую — к cu, screen или другому процессу.
В bhyve — это стандартный способ вывести консоль гостя в терминал.

nmdm — это модуль для виртуальных null-modem портов (tty-устройства), когда ты хочешь подключаться к гостю через отдельный консольный COM-порт, например cu -l /dev/nmdm0B.

Пример

#!/usr/local/bin/bash
bhyve \
 -c 2 \
 -m 2G \
 -H -w \
 -s 0,hostbridge \
 -s 31,lpc \
 -s 3,ahci-cd,/root/iso/arch.iso \
 -s 4,ahci-hd,/root/img/arch/arch.img \
 -s 5,virtio-net,tap1 \
 -l com1,stdio \   ## вот тут можно поставить   -l com1,/dev/nmdm0A \ 
 -s 29,fbuf,tcp=0.0.0.0:5900,w=1024,h=768 \
 -s 30,xhci,tablet \
 -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd,/root/img/arch/arch_VARS.fd \
 archvm

Подключаешься к «концу B» в любой момент:

cu -l /dev/nmdm0B

(выход из cu: ~. + Enter)