diff options
Diffstat (limited to 'builder/modules.d/dnbd3-rootfs/module-setup.sh')
-rwxr-xr-x | builder/modules.d/dnbd3-rootfs/module-setup.sh | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/builder/modules.d/dnbd3-rootfs/module-setup.sh b/builder/modules.d/dnbd3-rootfs/module-setup.sh index 63bb0b29..c2fea3b2 100755 --- a/builder/modules.d/dnbd3-rootfs/module-setup.sh +++ b/builder/modules.d/dnbd3-rootfs/module-setup.sh @@ -68,7 +68,10 @@ clean() { } # region dracut plugin api check() { - build_initialize_components + if ! build_initialize_components; then + echo "Failed to initialize components." + return 1 + fi # NOTE: xmount must be compiled before qemu_xmount local xmount_is_built=true if [[ ! -f "$moddir/binaries/xmount/trunk/build/src/xmount" ]] || @@ -118,10 +121,15 @@ installkernel() { inst "${moddir}/binaries/dnbd3/build/dnbd3.ko" "${block_kmod_dir}/dnbd3.ko" # kqcow2 kernel - mkdir -p "${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 $kmod)" - done + local kqcow_loop_kmod_dir="${moddir}/binaries/kernel-qcow2-linux/drivers/block/loop" + if [ -e "${kqcow_loop_kmod_dir}/loop.ko" ] && \ + [ -e "${kqcow_loop_kmod_dir}/loop_file_fmt_raw.ko" ] && \ + [ -e "${kqcow_loop_kmod_dir}/loop_file_fmt_qcow.ko" ]; then + mkdir -p "${initdir}/${block_kmod_dir}/loop" + for kmod in "${kqcow_loop_kmod_dir}/"*.ko ; do + inst "$kmod" "${block_kmod_dir}/loop/$(basename $kmod)" + done + fi } install() { # region binaries |