Build ZFS directly from upstream
This change updates the build process to directly build the kernel from upstream sources, as opposed to requiring the Proxmox zfsonlinux repository to build the patched sources.
This commit is contained in:
parent
b3d615e84d
commit
d8dafbe5c4
14 changed files with 431 additions and 33 deletions
39
debian/rules
vendored
39
debian/rules
vendored
|
@ -41,13 +41,21 @@ override_dh_quilt_patch:
|
|||
QUILT_PATCHES=../debian/patches \
|
||||
QUILT_SERIES=series.linux \
|
||||
quilt --quiltrc /dev/null --color=always push -a || test $$? = 2
|
||||
cd zfs; \
|
||||
QUILT_PATCHES=../debian/patches \
|
||||
QUILT_SERIES=series.zfs \
|
||||
quilt --quiltrc /dev/null --color=always push -a || test $$? = 2
|
||||
|
||||
override_dh_quilt_unpatch:
|
||||
cd linux; \
|
||||
QUILT_PATCHES=../debian/patches \
|
||||
QUILT_SERIES=series.linux \
|
||||
quilt --quiltrc /dev/null pop -a || test $$? = 2
|
||||
rm -rf linux/.pc
|
||||
cd zfs; \
|
||||
QUILT_PATCHES=../debian/patches \
|
||||
QUILT_SERIES=series.zfs \
|
||||
quilt --quiltrc /dev/null pop -a || test $$? = 2
|
||||
rm -rf linux/.pc zfs/.pc
|
||||
|
||||
override_dh_auto_build: .compile_mark .tools_compile_mark .modules_compile_mark
|
||||
|
||||
|
@ -85,7 +93,7 @@ ${KERNEL_SRC}/.config:
|
|||
${MAKE} -C ${KERNEL_SRC} INSTALL_MOD_PATH=${BUILD_DIR}/debian/${PVE_KERNEL_PKG}/ modules_install
|
||||
# install zfs drivers
|
||||
install -d -m 0755 debian/${PVE_KERNEL_PKG}/lib/modules/${KVNAME}/zfs
|
||||
install -m 644 $(addprefix ${MODULES}/,zfs.ko zavl.ko znvpair.ko zunicode.ko zcommon.ko icp.ko zlua.ko spl.ko zzstd.ko) debian/${PVE_KERNEL_PKG}/lib/modules/${KVNAME}/zfs
|
||||
install -m 644 $(addprefix modules/,zfs.ko zavl.ko znvpair.ko zunicode.ko zcommon.ko icp.ko zlua.ko spl.ko zzstd.ko) debian/${PVE_KERNEL_PKG}/lib/modules/${KVNAME}/zfs
|
||||
# remove firmware
|
||||
rm -rf debian/${PVE_KERNEL_PKG}/lib/firmware
|
||||
# strip debug info
|
||||
|
@ -192,16 +200,17 @@ ${KERNEL_SRC}/.config:
|
|||
.modules_compile_mark: ${MODULES}/zfs.ko
|
||||
touch $@
|
||||
|
||||
${MODULES}/zfs.ko: .compile_mark
|
||||
cd ${MODULES}/${ZFSDIR}; ./autogen.sh
|
||||
cd ${MODULES}/${ZFSDIR}; ./configure --with-config=kernel --with-linux=${BUILD_DIR}/${KERNEL_SRC} --with-linux-obj=${BUILD_DIR}/${KERNEL_SRC}
|
||||
${MAKE} -C ${MODULES}/${ZFSDIR}
|
||||
cp ${MODULES}/${ZFSDIR}/module/avl/zavl.ko ${MODULES}/
|
||||
cp ${MODULES}/${ZFSDIR}/module/nvpair/znvpair.ko ${MODULES}/
|
||||
cp ${MODULES}/${ZFSDIR}/module/unicode/zunicode.ko ${MODULES}/
|
||||
cp ${MODULES}/${ZFSDIR}/module/zcommon/zcommon.ko ${MODULES}/
|
||||
cp ${MODULES}/${ZFSDIR}/module/icp/icp.ko ${MODULES}/
|
||||
cp ${MODULES}/${ZFSDIR}/module/zfs/zfs.ko ${MODULES}/
|
||||
cp ${MODULES}/${ZFSDIR}/module/lua/zlua.ko ${MODULES}/
|
||||
cp ${MODULES}/${ZFSDIR}/module/spl/spl.ko ${MODULES}/
|
||||
cp ${MODULES}/${ZFSDIR}/module/zstd/zzstd.ko ${MODULES}/
|
||||
modules/zfs.ko: .compile_mark
|
||||
dh_autoreconf -D zfs
|
||||
dh_auto_configure -D zfs -- --with-config=kernel --with-linux=$(realpath linux) --with-linux-obj=$(realpath linux)
|
||||
dh_auto_build -D zfs
|
||||
mkdir -p modules
|
||||
cp zfs/module/avl/zavl.ko modules/
|
||||
cp zfs/module/nvpair/znvpair.ko modules/
|
||||
cp zfs/module/unicode/zunicode.ko modules/
|
||||
cp zfs/module/zcommon/zcommon.ko modules/
|
||||
cp zfs/module/icp/icp.ko modules/
|
||||
cp zfs/module/zfs/zfs.ko modules/
|
||||
cp zfs/module/lua/zlua.ko modules/
|
||||
cp zfs/module/spl/spl.ko modules/
|
||||
cp zfs/module/zstd/zzstd.ko modules/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue