NetBSD Virtual Machine Monitor

Resources

Qemu+NVMM

# modload nvmm



# cd /usr/tests/lib/libnvmm/

# atf-run | atf-report



# chown root:nvmm /usr/pkg/bin/qemu-system-x86_64

# chmod g+s /usr/pkg/bin/qemu-system-x86_64



$ qemu-system-x86_64 -cdrom Win10_2004_English_x64.iso -m 2G -accel nvmm



Guest OS Status Notes NetBSD 32bit Works NetBSD 64bit Works OpenBSD 32bit Works OpenBSD 64bit Works FreeBSD 32bit Works FreeBSD 64bit Works DragonFlyBSD 64bit Works Win95 32bit Doesn't work Win98 32bit Doesn't work WinXP 32bit Works Win7 32bit Works Win8 32bit Works Win8 64bit Works Win10 32bit Works Win10 64bit Works Fedora 64bit Works Pass "no_timer_check" in grub ArchLinux 64bit Works Pass "no_timer_check" in grub Ubuntu 64bit Works HaikuOS 64bit Works OmniOS 64bit Works

Linux performs timer checks at boot time which fail under hypervisors. To work around this, on certain distributions, you must pass "no_timer_check" in grub.





NetBSD 8 (top left), Fedora 29 (top right), Windows XP (bottom left), Windows 10 (bottom right),

all running via Qemu+NVMM on NetBSD. NetBSD 8 (top left), Fedora 29 (top right), Windows XP (bottom left), Windows 10 (bottom right),all running via Qemu+NVMM on NetBSD.

Updating NVMM

# cp /usr/src/sys/dev/nvmm/nvmm.h /usr/include/dev/nvmm/

# cp /usr/src/sys/dev/nvmm/nvmm_ioctl.h /usr/include/dev/nvmm/

# cp /usr/src/sys/dev/nvmm/x86/nvmm_x86.h /usr/include/dev/nvmm/x86/



# cd /usr/src/lib/libnvmm/

# make

# make install



# cd /usr/src/sys/modules/nvmm/

# make

# make install



Technical details