summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2019-09-05 16:03:32 +0200
committerJonathan Bauer2019-09-05 16:03:32 +0200
commit9849e3ad08727ab8f76d624e5f63b9dc404c6de4 (patch)
tree21e8ce4dae0b3a080f0daa43b42486c1822aefa6
parent[kernel-qcow2-linux] update rev (diff)
downloadsystemd-init-9849e3ad08727ab8f76d624e5f63b9dc404c6de4.tar.gz
systemd-init-9849e3ad08727ab8f76d624e5f63b9dc404c6de4.tar.xz
systemd-init-9849e3ad08727ab8f76d624e5f63b9dc404c6de4.zip
[dnbd3-rootfs] support kqcow2 kernel modules
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh19
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/module-setup.sh9
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