| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | #!/bin/sh | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | set -ef | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | usage() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	echo "usage: $0 <kernel source tree>" >&2 | 
					
						
							|  |  |  | 	exit 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ "$#" -eq 1 ] || usage | 
					
						
							| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | KERNEL_DIR="$1" | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | if ! [ -e 'zfs_config.h' ] | 
					
						
							|  |  |  | then | 
					
						
							| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | 	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." | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 	exit 1 | 
					
						
							| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | fi >&2 | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | make clean ||: | 
					
						
							| 
									
										
										
										
											2020-06-20 05:08:59 +03:00
										 |  |  | make gitrev | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | rm -rf "$KERNEL_DIR/include/zfs" "$KERNEL_DIR/fs/zfs" | 
					
						
							| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | cp -R include "$KERNEL_DIR/include/zfs" | 
					
						
							|  |  |  | cp -R module "$KERNEL_DIR/fs/zfs" | 
					
						
							| 
									
										
										
										
											2018-02-16 04:53:18 +03:00
										 |  |  | cp zfs_config.h "$KERNEL_DIR/include/zfs/" | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | cat > "$KERNEL_DIR/fs/zfs/Kconfig" <<EOF | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | config ZFS | 
					
						
							| 
									
										
										
										
											2012-08-26 01:16:23 +04:00
										 |  |  | 	tristate "ZFS filesystem support" | 
					
						
							| 
									
										
										
										
											2012-07-29 13:43:57 +04:00
										 |  |  | 	depends on EFI_PARTITION | 
					
						
							|  |  |  | 	select ZLIB_INFLATE | 
					
						
							|  |  |  | 	select ZLIB_DEFLATE | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 	help | 
					
						
							| 
									
										
										
										
											2020-10-09 06:10:13 +03:00
										 |  |  | 	  This is the ZFS filesystem from the OpenZFS project. | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-09 06:10:13 +03:00
										 |  |  | 	  See https://github.com/openzfs/zfs | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	  To compile this file system support as a module, choose M here. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  If unsure, say N. | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-06 02:34:25 +03:00
										 |  |  | sed -i '/source "fs\/ext2\/Kconfig\"/i\source "fs/zfs/Kconfig"' "$KERNEL_DIR/fs/Kconfig" | 
					
						
							|  |  |  | echo 'obj-$(CONFIG_ZFS) += zfs/' >> "$KERNEL_DIR/fs/Makefile" | 
					
						
							| 
									
										
										
										
											2012-07-09 13:23:00 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-08 18:58:26 +03:00
										 |  |  | 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 |