opnsense-src/usr.sbin/makefs/tests/Makefile
Mark Johnston 240afd8c1f makefs: Add ZFS support
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
2022-08-05 13:42:29 -04:00

19 lines
434 B
Makefile

# $FreeBSD$
ATF_TESTS_SH+= makefs_cd9660_tests
ATF_TESTS_SH+= makefs_ffs_tests
ATF_TESTS_SH+= makefs_zfs_tests
BINDIR= ${TESTSDIR}
# XXX: PACKAGE support for SCRIPTS
SCRIPTS+= makefs_tests_common.sh
SCRIPTSNAME_makefs_tests_common.sh= makefs_tests_common.sh
TEST_METADATA.makefs_cd9660_tests+= required_files="/sbin/mount_cd9660"
.for t in ${ATF_TESTS_SH}
TEST_METADATA.$t+= required_user="root"
.endfor
.include <bsd.test.mk>