From 18a0f1c1ebc9729980e5ab2cf323bf34d7ca780d Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Tue, 5 Jul 2022 19:47:41 +0200 Subject: mbuto: Fix for kernel modules with additional extensions in filename David reports that on Fedora 36 mbuto fails to source the virtio_net module for the passt profile, because modules are compressed and they have a .ko.xz file extension. I tried this on Fedora Cloud Base 36-1.5 on x86_64, and mbuto actually locates the module, but it fails to parse the insmod commands from the dependencies as it expects a .ko at the end of any module file. I'm not sure that's the same issue David found, but start fixing this part at least. While at it: we're calling kmod_node always on the module name passed to kmod_add, instead of calling it for that module plus dependencies: fix this as well. Reported-by: David Gibson Signed-off-by: Stefano Brivio --- mbuto | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mbuto b/mbuto index 693aaaa..4ffe549 100755 --- a/mbuto +++ b/mbuto @@ -868,11 +868,12 @@ kmod_add() { ;; *) for __t in ${__f}; do - __t="$(${BASENAME} -- "${__t%*.ko}")" + __t="$(${BASENAME} -- "${__t}")" + __t="${__t%%.*}" if ${MODPROBE} -S "${KERNEL}" -d "${__d_opt}" -q \ --show-depends -- "$(${BASENAME} -- "${__t}")" >/dev/null; then - __src="$(${FIND} ${__find_path} -name "${__t}.ko")" + __src="$(${FIND} ${__find_path} -name "${__t}.*")" [ -z "${__src}" ] && continue __dst="${wd}${__src##${MODDIR}}" @@ -881,7 +882,7 @@ kmod_add() { "${CP}" -a "${__src}" "${__dst}" fi - kmod_node "${1}" + kmod_node "${__t}" fi done esac -- cgit v1.2.3