ERROR: The kernel header file '/usr/src/linux-headers-3.7.1/include/linux/version.h' does not exist. The most likely reason for this is that the kernel source files in '/usr/linux-headers-3.7-1' have not been configured.
Solucionar el problema fue sencillo, los pasos fueron los siguientes;
1.- Usé el siguiente parche para el driver de Nvidia.
Index: kernel/conftest.sh =================================================================== --- kernel/conftest.sh.orig +++ kernel/conftest.sh @@ -20,6 +20,7 @@ ARCH=$3 ISYSTEM=`$CC -print-file-name=include 2> /dev/null` SOURCES=$4 HEADERS=$SOURCES/include +HEADERSA=$SOURCES/include/uapi OUTPUT=$5 XEN_PRESENT=1 @@ -118,7 +119,7 @@ build_cflags() { fi fi - CFLAGS="$CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS" + CFLAGS="$CFLAGS $OUTPUT_CFLAGS -I$HEADERS -I$HEADERSA $AUTOCONF_CFLAGS" test_xen @@ -146,10 +147,10 @@ build_cflags() { fi fi - CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS" + CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS -I$HEADERSA $AUTOCONF_CFLAGS" if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then - CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include -I$OUTPUT/arch/x86/include/generated" + CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include -I$SOURCES/arch/x86/include/uapi -I$OUTPUT/arch/x86/include/generated -I$OUTPUT/arch/x86/include/generated/uapi" elif [ "$ARCH" = "arm" ]; then CFLAGS="$CFLAGS -I$SOURCES/arch/arm/include -I$OUTPUT/arch/arm/include/generated" fi Index: kernel/nv-mmap.c =================================================================== --- kernel/nv-mmap.c.orig +++ kernel/nv-mmap.c @@ -14,6 +14,11 @@ #include "os-interface.h" #include "nv-linux.h" +/* Fix needed for change in VM_xxx flags */ +#ifndef VM_RESERVED +# define VM_RESERVED (VM_DONTEXPAND | VM_DONTDUMP) +#endif + /* * The 'struct vm_operations' open() callback is called by the Linux * kernel when the parent VMA is split or copied, close() when the
Descarga: Parche
2.- Aplicar el parche al driver
./NVIDIA-Linux-x86-304.64.run --apply-patch patch_nvidia_304_60.run_for_3.7.1
Esto creará una modificación del driver que se llamará "NVIDIA-Linux-x86-304.64-custom.run", este último es el que se instalará.
3.- Luego de compilar el kernel 3.7.1 se crea un enlace simbólico.
ln -s /usr/src/linux-3.7.1/include/generated/uapi/linux/version.h /usr/src/linux-3.7.1/include/linux/version.h
Para esto se deben conservar las fuentes del kernel.
En teoría ya pueden instalar el driver modificado en el kernel 3.7.1, en mi caso funcionó sin ningún problema.
Fuente: Foro de opensuse.
No hay comentarios:
Publicar un comentario