xref: /freebsd/sys/contrib/openzfs/copy-builtin (revision 716fd348e01c5f2ba125f878a634a753436c2994)
116038816SMartin Matuska#!/bin/sh
2eda14cbcSMatt Macy
316038816SMartin Matuskaset -ef
4eda14cbcSMatt Macy
5eda14cbcSMatt Macyusage()
6eda14cbcSMatt Macy{
7eda14cbcSMatt Macy	echo "usage: $0 <kernel source tree>" >&2
8eda14cbcSMatt Macy	exit 1
9eda14cbcSMatt Macy}
10eda14cbcSMatt Macy
11eda14cbcSMatt Macy[ "$#" -eq 1 ] || usage
1216038816SMartin MatuskaKERNEL_DIR="$1"
13eda14cbcSMatt Macy
14eda14cbcSMatt Macyif ! [ -e 'zfs_config.h' ]
15eda14cbcSMatt Macythen
1616038816SMartin Matuska	echo "$0: you did not run configure, or you're not in the ZFS source directory."
1716038816SMartin Matuska	echo "$0: run configure with --with-linux=$KERNEL_DIR and --enable-linux-builtin."
18eda14cbcSMatt Macy
1916038816SMartin Matuska	exit 1
2016038816SMartin Matuskafi >&2
2116038816SMartin Matuska
2216038816SMartin Matuskamake clean ||:
23eda14cbcSMatt Macymake gitrev
24eda14cbcSMatt Macy
25eda14cbcSMatt Macyrm -rf "$KERNEL_DIR/include/zfs" "$KERNEL_DIR/fs/zfs"
2616038816SMartin Matuskacp -R include "$KERNEL_DIR/include/zfs"
2716038816SMartin Matuskacp -R module "$KERNEL_DIR/fs/zfs"
28eda14cbcSMatt Macycp zfs_config.h "$KERNEL_DIR/include/zfs/"
29eda14cbcSMatt Macy
3016038816SMartin Matuskacat > "$KERNEL_DIR/fs/zfs/Kconfig" <<EOF
31eda14cbcSMatt Macyconfig ZFS
32eda14cbcSMatt Macy	tristate "ZFS filesystem support"
33eda14cbcSMatt Macy	depends on EFI_PARTITION
34eda14cbcSMatt Macy	select ZLIB_INFLATE
35eda14cbcSMatt Macy	select ZLIB_DEFLATE
36eda14cbcSMatt Macy	help
37180f8225SMatt Macy	  This is the ZFS filesystem from the OpenZFS project.
38eda14cbcSMatt Macy
39180f8225SMatt Macy	  See https://github.com/openzfs/zfs
40eda14cbcSMatt Macy
41eda14cbcSMatt Macy	  To compile this file system support as a module, choose M here.
42eda14cbcSMatt Macy
43eda14cbcSMatt Macy	  If unsure, say N.
44eda14cbcSMatt MacyEOF
45eda14cbcSMatt Macy
46*716fd348SMartin Matuskased -i '/source "fs\/ext2\/Kconfig\"/i\source "fs/zfs/Kconfig"' "$KERNEL_DIR/fs/Kconfig"
47*716fd348SMartin Matuskaecho 'obj-$(CONFIG_ZFS) += zfs/' >> "$KERNEL_DIR/fs/Makefile"
48eda14cbcSMatt Macy
4916038816SMartin Matuskaecho "$0: done. now you can build the kernel with ZFS support." >&2
50eda14cbcSMatt Macyecho "$0: make sure you enable ZFS support (CONFIG_ZFS) before building." >&2
51