From 52eaad6afb32c022a683178403fbc52f235a7587 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Thu, 5 Sep 2019 16:39:46 +0200 Subject: [dnbd3-rootfs] properly install kernel modules --- .../dnbd3-rootfs/hooks/load-custom-kernel-modules.sh | 13 +++++++------ builder/modules.d/dnbd3-rootfs/module-setup.sh | 19 +++++++++++-------- 2 files changed, 18 insertions(+), 14 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 94801144..8e7b1a7d 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,12 +8,13 @@ type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh # endregion exceptions.try { -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 +for kmod in dnbd3 \ + loop \ + loop_file_fmt_qcow \ + loop_file_fmt_raw; do + if ! modprobe "${kmod}"; then + logging.warn "Failed to load kernel module: $kmod" + ! : fi done diff --git a/builder/modules.d/dnbd3-rootfs/module-setup.sh b/builder/modules.d/dnbd3-rootfs/module-setup.sh index e8380a19..ed5a59cf 100755 --- a/builder/modules.d/dnbd3-rootfs/module-setup.sh +++ b/builder/modules.d/dnbd3-rootfs/module-setup.sh @@ -158,9 +158,17 @@ installkernel() { `installkernel` ' - # TODO kqcow2 stuff - inst "$moddir/binaries/dnbd3/build/dnbd3.ko" \ - /usr/lib/modules/current/extra/dnbd3.ko + local block_kmod_dir="/lib/modules/${kernel}/kernel/drivers/block" + + # dnbd3 + mkdir "${initdir}/${block_kmod_dir}" + inst "${moddir}/binaries/dnbd3/build/dnbd3.ko" "${block_kmod_dir}/dnbd3.ko" + + # kqcow2 kernel + mkdir "${initdir}/${block_kmod_dir}/loop" + for kmod in "${moddir}/binaries/kernel-qcow2-linux/drivers/block/loop/"*.ko ; do + inst "$kmod" "${block_kmod_dir}/loop/$(basename $file)" + done } install() { local __doc__=' @@ -190,11 +198,6 @@ install() { inst_libdir_file 'libafflib.so*' inst_libdir_file 'libewf.so*' fi - # 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 -- cgit v1.2.3-55-g7522