Booting a bhyve VM with NFS root?

Stefan Bethke stb at lassitu.de
Wed Feb 25 16:53:06 UTC 2015


Am 06.11.2014 um 20:52 schrieb Craig Rodrigues <rodrigc at freebsd.org>:

> Hi,
> 
> Has anyone tried the following:
> 
>   (1)  Create a disk image, which only has the contents of the /boot
> directory
>         and /etc/fstab.
>   (2)  /etc/fstab should specify the root file system over NFS
>   (3)  Boot the disk image in bhyve.  The loader will parse /etc/fstab,
>         and it will also load the kernel and boot it.  When the kernel
> boots
>         it will mount the root file system over NFS.
> 
> For a real system running with a BIOS, PXE can be used for a lot of this:
> https://www.freebsd.org/doc/handbook/network-diskless.html
> 
> The pxeldr populates some kernel environment variables which are then
> used to mount a root file system:
> 
> https://svnweb.freebsd.org/base/head/sys/nfs/nfs_diskless.c?revision=273174&view=markup#l145
> 
> Has anyone tried manually specifying these variables
> via the "bhyveload -e" arguments, and forcing the VM to mount its root file
> system over NFS?
> 
> This would be handy for very quickly test booting a new buildworld.

Here's a quick hack to get the necessary variables in the appropriate format:

https://github.com/stblassitude/boot_root_nfs

I think the kernel should learn how to do the necessary mount RPC if the handle is not set, but I don't think I'm up to implementing that...


Stefan

-- 
Stefan Bethke <stb at lassitu.de>   Fon +49 151 14070811



More information about the freebsd-virtualization mailing list