Building ZFS-based VM images

Allan Jude allanjude at freebsd.org
Fri May 7 16:47:59 UTC 2021


On 5/6/2021 11:17 AM, Alan Somers wrote:
> It's easy to build a UFS-based VM image just by setting WITH_VMIMAGES in
> release.conf and running release.sh.  But what about ZFS-based images?
> What's the easiest way to build a ZFS-based VM image, using a pool layout
> similar to what the interactive installer uses?
> -Alan
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
> 

With the new scripting support, it is fairly easy with poudriere-image

It also has the advantage of being able to build the images from
poudriere jails you already have (or can build from FTP without compiling).

The pre/post build script stuff is merged already, although my example
scripts are in a different pull request that I need to rebase around
some restructuring first.

Anyway, you can use poudriere-image with the pre/post scripts included here:

https://github.com/freebsd/poudriere/pull/731/files#diff-6607907a033a4e5e5e21da56960ed7ccbfb6dd4a85d66615553d2221d75c0998

and it will make a VM image with the same layout as if you had used the
installer (or you can customize it as you see fit)

I'm currently using this to build images for AWS and bhyve, but also to
generate installer ISOs that run a script to format the drives and
create the zpool, then 'fetch -o - url | zfs recv -F zroot' to install a
replication stream of an entire pool.

For upgrades, we do the same but only replace the boot environment.

-- 
Allan Jude


More information about the freebsd-current mailing list