diff options
author | Phil Sutter <phil@nwl.cc> | 2025-01-05 01:18:37 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2025-01-06 11:53:44 +0100 |
commit | fad1d3192c26fae8423907c9de6af2fe2b03dea6 (patch) | |
tree | 4f38cd7d235f8fc15f04045ab92e9ba01c01dde3 /package/zfs/patches | |
parent | d7452d1a846d5e419f3907819f45e2e0c1cecff2 (diff) |
package: Port zfs package
This still lacks some init scripts to reassemble pools and for other
tasks. For now, I just do:
| disks=$(blkid | sed -n 's,^/dev/\(sd[a-z]\): .* TYPE="crypto_LUKS".*,\1,p')
| for disk in $disks; do
| [ -b /dev/mapper/$disk ] || cryptsetup luksOpen \
| --key-file=/etc/mykeyfile /dev/$disk $disk
| done
| zpool import -a
Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'package/zfs/patches')
-rw-r--r-- | package/zfs/patches/0001-Support-for-cross-compiling-kernel-modules.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/package/zfs/patches/0001-Support-for-cross-compiling-kernel-modules.patch b/package/zfs/patches/0001-Support-for-cross-compiling-kernel-modules.patch new file mode 100644 index 000000000..b20c3ecf6 --- /dev/null +++ b/package/zfs/patches/0001-Support-for-cross-compiling-kernel-modules.patch @@ -0,0 +1,53 @@ +From 1d566bf169297faba7afbe59df151ac479b234d5 Mon Sep 17 00:00:00 2001 +From: Phil Sutter <phil@nwl.cc> +Date: Fri, 3 Jan 2025 16:30:24 +0100 +Subject: [PATCH] Support for cross-compiling kernel modules + +In order to correctly cross-compile, one has to pass ARCH and +CROSS_COMPILE make flags to kernel module build calls. Facilitate this +in the same way as for custom CC flag by recognizing KERNEL_-prefixed +configure environment variables of same name. + +Signed-off-by: Phil Sutter <phil@nwl.cc> +--- + config/kernel.m4 | 5 +++++ + module/Makefile.in | 2 ++ + 2 files changed, 7 insertions(+) + +diff --git a/config/kernel.m4 b/config/kernel.m4 +index 173c78a2a561a..c0a8355945dce 100644 +--- a/config/kernel.m4 ++++ b/config/kernel.m4 +@@ -663,11 +663,16 @@ AC_DEFUN([ZFS_LINUX_COMPILE], [ + building kernel modules]) + AC_ARG_VAR([KERNEL_LLVM], [Binary option to + build kernel modules with LLVM/CLANG toolchain]) ++ AC_ARG_VAR([KERNEL_CROSS_COMPILE], [Cross compile prefix ++ for kernel module builds]) ++ AC_ARG_VAR([KERNEL_ARCH], [Architecture to build kernel modules for]) + AC_TRY_COMMAND([ + KBUILD_MODPOST_NOFINAL="$5" KBUILD_MODPOST_WARN="$6" + make modules -k -j$TEST_JOBS ${KERNEL_CC:+CC=$KERNEL_CC} + ${KERNEL_LD:+LD=$KERNEL_LD} ${KERNEL_LLVM:+LLVM=$KERNEL_LLVM} + CONFIG_MODULES=y CFLAGS_MODULE=-DCONFIG_MODULES ++ ${KERNEL_CROSS_COMPILE:+CROSS_COMPILE=$KERNEL_CROSS_COMPILE} ++ ${KERNEL_ARCH:+ARCH=$KERNEL_ARCH} + -C $LINUX_OBJ $ARCH_UM M=$PWD/$1 >$1/build.log 2>&1]) + AS_IF([AC_TRY_COMMAND([$2])], [$3], [$4]) + ]) +diff --git a/module/Makefile.in b/module/Makefile.in +index b6338430e8125..b6e3c8e88ccac 100644 +--- a/module/Makefile.in ++++ b/module/Makefile.in +@@ -54,6 +54,8 @@ FMAKE = env -u MAKEFLAGS make $(FMAKEFLAGS) + list='$(SUBDIR_TARGETS)'; for td in $$list; do $(MAKE) -C $$td; done + $(MAKE) -C @LINUX_OBJ@ $(if @KERNEL_CC@,CC=@KERNEL_CC@) \ + $(if @KERNEL_LD@,LD=@KERNEL_LD@) $(if @KERNEL_LLVM@,LLVM=@KERNEL_LLVM@) \ ++ $(if @KERNEL_CROSS_COMPILE@,CROSS_COMPILE=@KERNEL_CROSS_COMPILE@) \ ++ $(if @KERNEL_ARCH@,ARCH=@KERNEL_ARCH@) \ + M="$$PWD" @KERNEL_MAKE@ CONFIG_ZFS=m modules + + modules-FreeBSD: +-- +2.43.0 + |