]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | ||
3 | set -ef | |
4 | ||
5 | usage() | |
6 | { | |
7 | echo "usage: $0 <kernel source tree>" >&2 | |
8 | exit 1 | |
9 | } | |
10 | ||
11 | [ "$#" -eq 1 ] || usage | |
12 | KERNEL_DIR="$1" | |
13 | ||
14 | if ! [ -e 'zfs_config.h' ] | |
15 | then | |
16 | echo "$0: you did not run configure, or you're not in the ZFS source directory." | |
17 | echo "$0: run configure with --with-linux=$KERNEL_DIR and --enable-linux-builtin." | |
18 | ||
19 | exit 1 | |
20 | fi >&2 | |
21 | ||
22 | make clean ||: | |
23 | make gitrev | |
24 | ||
25 | rm -rf "$KERNEL_DIR/include/zfs" "$KERNEL_DIR/fs/zfs" | |
26 | cp -R include "$KERNEL_DIR/include/zfs" | |
27 | cp -R module "$KERNEL_DIR/fs/zfs" | |
28 | cp zfs_config.h "$KERNEL_DIR/include/zfs/" | |
29 | ||
30 | cat > "$KERNEL_DIR/fs/zfs/Kconfig" <<EOF | |
31 | config ZFS | |
32 | tristate "ZFS filesystem support" | |
33 | depends on EFI_PARTITION | |
34 | select ZLIB_INFLATE | |
35 | select ZLIB_DEFLATE | |
36 | help | |
37 | This is the ZFS filesystem from the OpenZFS project. | |
38 | ||
39 | See https://github.com/openzfs/zfs | |
40 | ||
41 | To compile this file system support as a module, choose M here. | |
42 | ||
43 | If unsure, say N. | |
44 | EOF | |
45 | ||
46 | sed -i '/source "fs\/ext2\/Kconfig\"/i\source "fs/zfs/Kconfig"' "$KERNEL_DIR/fs/Kconfig" | |
47 | echo 'obj-$(CONFIG_ZFS) += zfs/' >> "$KERNEL_DIR/fs/Makefile" | |
48 | ||
49 | echo "$0: done. now you can build the kernel with ZFS support." >&2 | |
50 | echo "$0: make sure you enable ZFS support (CONFIG_ZFS) before building." >&2 |