240afd8c1f
This allows one to take a staged directory tree and create a file consisting of a ZFS pool with one or more datasets that contain the contents of the directory tree. This is useful for creating virtual machine images without using the kernel to create a pool; "zpool create" requires root privileges and currently is not permitted in jails. makefs -t zfs also provides reproducible images by using a fixed seed for pseudo-random number generation, used for generating GUIDs and hash salts. makefs -t zfs requires relatively little by way of machine resources. The "zpool_reguid" rc.conf setting can be used to ask a FreeBSD guest to generate a unique pool GUID upon first boot. A small number of pool and dataset properties are supported. The pool is backed by a single disk vdev. Data is always checksummed using Fletcher-4, no redundant copies are made, and no compression is used. The manual page documents supported pool and filesystem properties. The implementation uses a few pieces of ZFS support from with the boot loader, especially definitions for various on-disk structures, but is otherwise standalone and in particular doesn't depend on OpenZFS. This feature should be treated as experimental for now, i.e., important data shouldn't be trusted to a makefs-created pool, and the command-line interface is subject to change. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35248
13 lines
182 B
Makefile
13 lines
182 B
Makefile
.PATH: ${SRCDIR}/zfs
|
|
.PATH: ${SRCTOP}/stand/libsa/zfs
|
|
|
|
SRCS+= dsl.c \
|
|
fs.c \
|
|
objset.c \
|
|
vdev.c \
|
|
zap.c
|
|
|
|
SRCS+= nvlist.c
|
|
|
|
CFLAGS.nvlist.c+= -I${SRCTOP}/stand/libsa -Wno-cast-qual
|