mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-03-10 12:26:27 +03:00
ZFS can be built directly into the Linux kernel. Add a test build of this to the CI to verify it works. The test build is only enabled on Fedora runners (since they run the newest kernels) and is done in parallel with ZTS. The test build is done on vm2, since it typically finishes ~15min before vm1 and thus has time to spare. In addition: - Update 'copy-builtin' to check that $1 is a directory - Fix some VERIFYs that were causing the built-in build to fail Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #18234
54 lines
1.2 KiB
Bash
Executable File
54 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -ef
|
|
|
|
usage()
|
|
{
|
|
echo "usage: $0 <kernel source tree>" >&2
|
|
exit 1
|
|
}
|
|
|
|
if ! [ -d "$1" ] ; then
|
|
usage
|
|
fi
|
|
KERNEL_DIR="$1"
|
|
|
|
if ! [ -e 'zfs_config.h' ]
|
|
then
|
|
echo "$0: you did not run configure, or you're not in the ZFS source directory."
|
|
echo "$0: run configure with --with-linux=$KERNEL_DIR and --enable-linux-builtin."
|
|
|
|
exit 1
|
|
fi >&2
|
|
|
|
make clean ||:
|
|
make gitrev
|
|
|
|
rm -rf "$KERNEL_DIR/include/zfs" "$KERNEL_DIR/fs/zfs"
|
|
cp -R include "$KERNEL_DIR/include/zfs"
|
|
cp -R module "$KERNEL_DIR/fs/zfs"
|
|
cp zfs_config.h "$KERNEL_DIR/include/zfs/"
|
|
|
|
cat > "$KERNEL_DIR/fs/zfs/Kconfig" <<EOF
|
|
config ZFS
|
|
tristate "ZFS filesystem support"
|
|
depends on EFI_PARTITION
|
|
depends on BLOCK
|
|
select ZLIB_INFLATE
|
|
select ZLIB_DEFLATE
|
|
help
|
|
This is the ZFS filesystem from the OpenZFS project.
|
|
|
|
See https://github.com/openzfs/zfs
|
|
|
|
To compile this file system support as a module, choose M here.
|
|
|
|
If unsure, say N.
|
|
EOF
|
|
|
|
sed -i '/source "fs\/ext2\/Kconfig\"/i\source "fs/zfs/Kconfig"' "$KERNEL_DIR/fs/Kconfig"
|
|
echo 'obj-$(CONFIG_ZFS) += zfs/' >> "$KERNEL_DIR/fs/Makefile"
|
|
|
|
echo "$0: done. now you can build the kernel with ZFS support." >&2
|
|
echo "$0: make sure you enable ZFS support (CONFIG_ZFS) before building." >&2
|