summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2019-09-05 16:39:46 +0200
committerJonathan Bauer2019-09-05 16:39:46 +0200
commit52eaad6afb32c022a683178403fbc52f235a7587 (patch)
tree2dfead6dbe7f42fa7177866dbf603d5adcfca2d6
parent[dnbd3-rootfs] fix kernel-qcow2 compilation (diff)
downloadsystemd-init-52eaad6afb32c022a683178403fbc52f235a7587.tar.gz
systemd-init-52eaad6afb32c022a683178403fbc52f235a7587.tar.xz
systemd-init-52eaad6afb32c022a683178403fbc52f235a7587.zip
[dnbd3-rootfs] properly install kernel modules
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh13
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/module-setup.sh19
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