From: Maik Hentsche <[EMAIL PROTECTED]>

When kvm-userspace is build with a different kernel version than the
running kernel the depmod at the end will fail. This patch fixed the
problem.

Signed-off-by: Maik Hentsche <[EMAIL PROTECTED]>
Signed-off-by: Joerg Roedel <[EMAIL PROTECTED]>
---
 build/kernel_version.c |    9 +++++++++
 configure              |   14 ++++++++++++++
 kernel/Makefile        |    2 +-
 3 files changed, 24 insertions(+), 1 deletions(-)
 create mode 100644 build/kernel_version.c

diff --git a/build/kernel_version.c b/build/kernel_version.c
new file mode 100644
index 0000000..c2ff550
--- /dev/null
+++ b/build/kernel_version.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <linux/utsrelease.h>
+
+int main()
+{
+        printf("%s",UTS_RELEASE);
+        return(0);
+}
+
diff --git a/configure b/configure
index 63f956c..49c732b 100755
--- a/configure
+++ b/configure
@@ -15,6 +15,12 @@ qemu_opts=()
 cross_prefix=
 arch=`uname -m`
 target_exec=
+# don't use uname if kerneldir is set
+no_uname=
+depmod_version=
+if [ -z "TMPDIR" ] ; then
+    TMPDIR=.
+fi
 
 usage() {
     cat <<-EOF
@@ -56,6 +62,7 @@ while [[ "$1" = -* ]]; do
            ;;
        --kerneldir)
            kerneldir="$arg"
+            no_uname=1
            ;;
        --with-patched-kernel)
            want_module=
@@ -112,6 +119,12 @@ if [ -d "$kerneldir/include2" ]; then
     kernelsourcedir=${kerneldir%/*}/source
 fi
 
+if [ -n "$no_uname" ]; then
+    $cc -I$kerneldir/include build/kernel_version.c -o $TMPDIR/kernel_version
+    depmod_version=`$TMPDIR/kernel_version`
+    rm $TMPDIR/kernel_version
+fi
+
 #configure user dir
 (cd user; ./configure --prefix="$prefix" --kerneldir="$libkvm_kerneldir" \
           --arch="$arch" --processor="$processor" \
@@ -143,6 +156,7 @@ CC=$cross_prefix$cc
 LD=$cross_prefix$ld
 OBJCOPY=$cross_prefix$objcopy
 AR=$cross_prefix$ar
+DEPMOD_VERSION=$depmod_version
 EOF
 
 cat <<EOF > kernel/config.kbuild
diff --git a/kernel/Makefile b/kernel/Makefile
index 33d6a84..9188802 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -107,7 +107,7 @@ install:
                 $(ORIGMODDIR)/arch/$(ARCH_DIR)/kvm/*.ko; do \
                if [ -f "$$i" ]; then mv "$$i" "$$i.orig"; fi; \
        done
-       /sbin/depmod -a
+       /sbin/depmod -a $(DEPMOD_VERSION)
 
 tmpspec = .tmp.kvm-kmod.spec
 
-- 
1.5.6.4


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to