From 9849e3ad08727ab8f76d624e5f63b9dc404c6de4 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Thu, 5 Sep 2019 16:03:32 +0200 Subject: [dnbd3-rootfs] support kqcow2 kernel modules --- .../dnbd3-rootfs/hooks/load-custom-kernel-modules.sh | 19 ++++++++----------- builder/modules.d/dnbd3-rootfs/module-setup.sh | 9 +++++++-- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh b/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh index fe153265..94801144 100755 --- a/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh +++ b/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh @@ -8,18 +8,15 @@ type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh # endregion exceptions.try { -DNBD3_MOD_PATH="/usr/lib/modules/current/extra/dnbd3.ko" +for kmod in "/usr/lib/modules/current/extra/"\ + {dnbd3,loop,loop_file_fmt_qcow,loop_file_fmt_raw}.ko; do + # load the kernel modules for dnbd3 and nbd + if ! insmod "${kmod}"; then + logging.warn "Failed to load DNBD3 kernel module..." + exit 1 + fi +done -if [ ! -e "${DNBD3_MOD_PATH}" ]; then - logging.warn "No such file of directory: ${DNBD3_MOD_PATH}" - exit 1 -fi - -# load the kernel modules for dnbd3 and nbd -if ! insmod "${DNBD3_MOD_PATH}"; then - logging.warn "Failed to load DNBD3 kernel module..." - exit 1 -fi } exceptions.catch { diff --git a/builder/modules.d/dnbd3-rootfs/module-setup.sh b/builder/modules.d/dnbd3-rootfs/module-setup.sh index 4e5f037f..e8380a19 100755 --- a/builder/modules.d/dnbd3-rootfs/module-setup.sh +++ b/builder/modules.d/dnbd3-rootfs/module-setup.sh @@ -190,8 +190,13 @@ install() { inst_libdir_file 'libafflib.so*' inst_libdir_file 'libewf.so*' fi - # kqcow2 - local kernel_qcow2_repo="$moddir/binaries/kernel-qcow2-util-linux" + # kqcow2 kernel + local kernel_qcow2_linux_repo="$moddir/binaries/kernel-qcow2-linux" + for kmod in "${kernel_qcow2_linux_repo}/drivers/block/loop/"*.ko ; do + inst "$kmod" "/usr/lib/modules/current/extra/$(basename $file)" + done + # kqcow2 losetup + local kernel_qcow2_util_linux_repo="$moddir/binaries/kernel-qcow2-util-linux" if [[ -f "${kernel_qcow2_repo}/.libs/losetup" ]]; then inst "${kernel_qcow2_repo}/.libs/losetup" /usr/local/bin/losetup for lib in "${kernel_qcow2_repo}/"*.so*; do -- cgit v1.2.3-55-g7522