Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 03-02-07, 01:52 AM   #1
Boomer
Registered User
 
Join Date: Nov 2006
Posts: 12
Default 2.6.20-rt8 kernel patch

I'm trying to install the nvidia driver on the kernel patched with this patch but it fails:

Code:
-> Building kernel module:
   executing: 'cd ./usr/src/nv; make module SYSSRC=/usr/src/kernels/linux-2.6.2
   0-rt8rt/ SYSOUT=/usr/src/kernels/linux-2.6.20-rt8rt/'...
   
   NVIDIA: calling KBUILD...
   make CC=cc  KBUILD_VERBOSE=1 -C /usr/src/kernels/linux-2.6.20-rt8rt/ SUBDIRS
   =/tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv modules
   test -e include/linux/autoconf.h -a -e include/config/auto.conf || (		\
   	echo;								\
   	echo "  ERROR: Kernel configuration is invalid.";		\
   	echo "         include/linux/autoconf.h or include/config/auto.conf are mis
   sing.";	\
   	echo "         Run 'make oldconfig && make prepare' on kernel src to fix it
   .";	\
   	echo;								\
   	/bin/false)
   mkdir -p /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/.tmp_vers
   ions
   rm -f /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/.tmp_version
   s/*
   make -f scripts/Makefile.build obj=/tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631
   -pkg1/usr/src/nv
   echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > /tmp/selfgz3570/NVI
   DIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv_compiler.h
     cc -Wp,-MD,/tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/.nv.o
   .d  -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.1.1/include -D__KERN
   EL__ -Iinclude  -include include/linux/autoconf.h -Wall -Wundef -Wstrict-pro
   totypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -pipe -msoft-flo
   at -mpreferred-stack-boundary=2  -march=athlon -mregparm=3 -ffreestanding -m
   accumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -I
   include/asm-i386/mach-default -fomit-frame-pointer  -fno-stack-protector -Wd
   eclaration-after-statement -Wno-pointer-sign -I/tmp/selfgz3570/NVIDIA-Linux-
   x86-1.0-9631-pkg1/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wforma
   t -Wchar-subscripts -Wparentheses -Wpointer-arith  -Wno-multichar  -Werror -
   O -fno-common -msoft-float -MD   -Wsign-compare -Wno-cast-qual -Wno-error -D
   _LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE  -DNVRM -DNV_MAJOR_VERSION=1 -DNV_
   MINOR_VERSION=0 -DNV_PATCHLEVEL=9631  -UDEBUG -U_DEBUG -DNDEBUG -DNV_SIGNAL_
   STRUCT_RLIM -DNV_MULTIPLE_BRIDGE_AGPGART_PRESENT -DNV_PCI_GET_CLASS_PRESENT 
   -DNV_SYSCTL_MAX_MAP_COUNT_PRESENT -DNV_PM_MESSAGE_T_PRESENT -DNV_PCI_CHOOSE_
   STATE_PRESENT -
   DNV_VM_INSERT_PAGE_PRESENT -DNV_OLD_MM_KGDB_BREAKPOINT_PRESENT -DNV_REMAP_PF
   N_RANGE_PRESENT -DNV_CHANGE_PAGE_ATTR_PRESENT -DNV_VMAP_4_PRESENT  -DMODULE 
   -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv)"  -D"KBUILD_MODNAME=K
   BUILD_STR(nvidia)" -c -o /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/
   src/nv/.tmp_nv.o /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/n
   v.c
   In file included from include/linux/list.h:8,
                    from include/linux/plist.h:77,
                    from include/linux/rtmutex.h:16,
                    from include/linux/rt_lock.h:13,
                    from include/linux/spinlock.h:116,
                    from include/linux/capability.h:45,
                    from include/linux/sched.h:46,
                    from include/linux/utsname.h:35,
                    from /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src
   /nv/nv-linux.h:19,
                    from /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src
   /nv/nv.c:14:
   include/linux/prefetch.h: In function ‘prefetch_range’:
   include/linux/prefetch.h:62: warning: pointer of type ‘void *’ used in a
   rithmetic
   /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c: At top level
   :
   /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:110: warning:
   ‘kmem_cache_t’ is deprecated
   /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c: In function 
   ‘nv_kern_open’:
   /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1849: error: 
   ‘SA_INTERRUPT’ undeclared (first use in this function)
   /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1849: error: 
   (Each undeclared identifier is reported only once
   /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1849: error: 
   for each function it appears in.)
   /tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1849: error: 
   ‘SA_SHIRQ’ undeclared (first use in this function)
   make[3]: *** [/tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.o
   ] Error 1
   make[2]: *** [_module_/tmp/selfgz3570/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src
   /nv] Error 2
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   make[1]: *** [module] Error 1
   make: *** [module] Error 2
-> Error.
Any idea if/how I can get it to work?
Boomer is offline   Reply With Quote
Old 03-02-07, 09:47 AM   #2
th0rgal
Registered User
 
Join Date: Nov 2004
Posts: 31
Default Re: 2.6.20-rt8 kernel patch

sure

replace SA_SHIRQ by IRQF_SHARED
replace SA_INTERRUPT by IRQF_DISABLED
th0rgal is offline   Reply With Quote
Old 03-02-07, 10:17 PM   #3
Boomer
Registered User
 
Join Date: Nov 2006
Posts: 12
Default Re: 2.6.20-rt8 kernel patch

Thanks!
Boomer is offline   Reply With Quote
Old 03-08-07, 03:10 AM   #4
Boomer
Registered User
 
Join Date: Nov 2006
Posts: 12
Default Re: 2.6.20-rt8 kernel patch

Ok, now I get an error with this output:

Code:
Building kernel module:
-snip-

  Building modules, stage 2.
   make -f /usr/src/kernels/linux-2.6.20-rt/scripts/Makefile.modpost
     scripts/mod/modpost -m -a -i /usr/src/kernels/linux-2.6.20-rt/Module.symve
   rs -I /home/nooq/fairu/Downloads/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/M
   odule.symvers -o /home/nooq/fairu/Downloads/NVIDIA-Linux-x86-1.0-9631-pkg1/u
   sr/src/nv/Module.symvers -w vmlinux /home/nooq/fairu/Downloads/NVIDIA-Linux-
   x86-1.0-9631-pkg1/usr/src/nv/nvidia.o
   WARNING: could not find /home/nooq/fairu/Downloads/NVIDIA-Linux-x86-1.0-9631
   -pkg1/usr/src/nv/.nv-kernel.o.cmd for /home/nooq/fairu/Downloads/NVIDIA-Linu
   x-x86-1.0-9631-pkg1/usr/src/nv/nv-kernel.o
   FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'page
   fault_disable'
   make[4]: *** [__modpost] Error 1
   make[3]: *** [modules] Error 2
   make[2]: *** [modules] Error 2
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   make[1]: *** [module] Error 1
   make: *** [module] Error 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.
Any ideas?
Boomer is offline   Reply With Quote
Old 03-08-07, 09:37 AM   #5
JaXXoN
Registered User
 
Join Date: Jul 2005
Location: Munich
Posts: 910
Default Re: 2.6.20-rt8 kernel patch

Quote:
Originally Posted by Boomer
[code]
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'page
Some kernel configuration options make the nvidia driver compiling-in
certain GPL-only symbols. Either try to figure out which obtions that
are, or just disable GPL-only checking and manally define the missing symbol.

For details, please check steps 3 to 5 in the following post:
http://www.nvnews.net/vbulletin/showthread.php?t=87541

BTW.: Although there is a good chance that the 9xxx series "vanilla" nvidia
driver will work with a -rt kernel, i would strongly recommend applying
the patch mentioned in the posting above: the driver uses PAT support
by default which requires to perform a wbinvd insturction now and then.
This in turn causes high latencies up to 600 microseconds.

regards

Bernhard
JaXXoN is offline   Reply With Quote
Old 03-08-07, 08:17 PM   #6
Boomer
Registered User
 
Join Date: Nov 2006
Posts: 12
Default Re: 2.6.20-rt8 kernel patch

Stuck again. I made the changes to the kernel to get past the GPL error, and I applied the patch from that thread to the driver. Now it compiles but it fails to install with this error:

Code:
-> Kernel module load error: insmod: error inserting './usr/src/nv/nvidia.ko':
   -1 Unknown symbol in module
-> Kernel messages:
   lp0: console ready
   NET: Registered protocol family 10
   lo: Disabled Privacy Extensions
   input: Power Button (FF) as /class/input/input4
   ACPI: Power Button (FF) [PWRF]
   input: Power Button (CM) as /class/input/input5
   ACPI: Power Button (CM) [PWRB]
   No dock devices found.
   md: Autodetecting RAID arrays.
   md: autorun ...
   md: ... autorun DONE.
   device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised:
   dm-devel@redhat.com
   device-mapper: multipath: version 1.0.5 loaded
   EXT3 FS on hda6, internal journal
   kjournald starting.  Commit interval 5 seconds
   EXT3 FS on hda8, internal journal
   EXT3-fs: mounted filesystem with ordered data mode.
   Adding 514040k swap on /dev/hda7.  Priority:-1 extents:1 across:514040k
   ip6_tables: (C) 2000-2006 Netfilter Core Team
   ip_tables: (C) 2000-2006 Netfilter Core Team
   input: Analog 2-axis 4-button joystick as /class/input/input6
   ip_tables: (C) 2000-2006 Netfilter Core Team
   nvidia: module license 'NVIDIA' taints kernel.
   nvidia: Unknown symbol pagefault_enable
   nvidia: Unknown symbol pagefault_disable
Any tips?
Boomer is offline   Reply With Quote
Old 03-09-07, 05:55 AM   #7
JaXXoN
Registered User
 
Join Date: Jul 2005
Location: Munich
Posts: 910
Default Re: 2.6.20-rt8 kernel patch

Quote:
Originally Posted by Boomer
Code:
nvidia: Unknown symbol pagefault_enable
nvidia: Unknown symbol pagefault_disable
There is still some option enabled that makes the pagefault_* functions
compiling into the kernel (i guess these are some kernel debugging features).

Simplest way would be to manually define the symbols similar as explained
in step 5 in the other posting:

Code:
PAGEFAULT_ENABLE=`grep "D pagefault_enable" /boot/System.map-2.6.20-rt | colrm 9`
PAGEFAULT_DISABLE=`grep "D pagefault_disable" /boot/System.map-2.6.20-rt | colrm 9`
ld -m elf_i386 --defsym pagefault_enable=0x$PAGEFAULT_ENABLE --defsym pagefault_disable=0x$PAGEFAULT_DISABLE -r -o nvidia.ko nvidia.o nvidia.mod.o
regards

Bernhard
JaXXoN is offline   Reply With Quote
Old 03-10-07, 02:21 AM   #8
Boomer
Registered User
 
Join Date: Nov 2006
Posts: 12
Default Re: 2.6.20-rt8 kernel patch

The 0x parts in the 3rd line, it only worked after I took out the x'es, but then the patched driver installed and it works fine. Thank you for the help!
Boomer is offline   Reply With Quote

Old 03-10-07, 11:48 AM   #9
JaXXoN
Registered User
 
Join Date: Jul 2005
Location: Munich
Posts: 910
Default Re: 2.6.20-rt8 kernel patch

Quote:
Originally Posted by Boomer
The 0x parts in the 3rd line, it only worked after I took out the x'es, but then the patched driver installed and it works fine. Thank you for the help!
hmm ... just checked: the pagefault_* functions are of a different symbol
type ("T") than paravirt_ops ("D"), where i applied this trick.

So in your case, $PAGEFAULT_ENABLE and $PAGEFAULT_DISABLE have
been empty lines and removing the x's actually results in a setting of "0" for
these symbols. This will likely cause problems at some point in time.

Please try out the following on:

Code:
PAGEFAULT_ENABLE=`grep "T pagefault_enable" /boot/System.map-2.6.20-rt | colrm 9`
PAGEFAULT_DISABLE=`grep "T pagefault_disable" /boot/System.map-2.6.20-rt | colrm 9`
ld -m elf_i386 --defsym pagefault_enable=0x$PAGEFAULT_ENABLE --defsym pagefault_disable=0x$PAGEFAULT_DISABLE -r -o nvidia.ko nvidia.o nvidia.mod.o
And report the values for the symbols:

Code:
echo $PAGEFAULT_ENABLE
echo $PAGEFAULT_DISABLE
regards

Bernhard
JaXXoN is offline   Reply With Quote
Old 03-10-07, 01:31 PM   #10
Boomer
Registered User
 
Join Date: Nov 2006
Posts: 12
Default Re: 2.6.20-rt8 kernel patch

I reinstalled the driver and while those defined I got:

echo $PAGEFAULT_ENABLE
c014e75b
echo $PAGEFAULT_DISABLE
c014e74e
Boomer is offline   Reply With Quote
Old 03-10-07, 03:41 PM   #11
JaXXoN
Registered User
 
Join Date: Jul 2005
Location: Munich
Posts: 910
Default Re: 2.6.20-rt8 kernel patch

Quote:
Originally Posted by Boomer
I reinstalled the driver and while those defined I got:

echo $PAGEFAULT_ENABLE
c014e75b
echo $PAGEFAULT_DISABLE
c014e74e
These values look reasonable.

regards

Bernhard
JaXXoN is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
Random crashes, NVRM Xid messages Iesos NVIDIA Linux 90 10-04-12 03:27 AM
Corrupted display - 302.17 - Dell Precision T3500 (G98 [Quadro NVS 295]) gbailey NVIDIA Linux 1 06-27-12 10:24 AM
UEFI+Nvidia - NVRM: Your system is not currently configured to drive a VGA console... interzoneuk NVIDIA Linux 0 06-26-12 04:51 AM
xorg locks-up with newest nvidia drivers w/ vdpau. theroot NVIDIA Linux 1 06-24-12 11:04 AM
Crash when logout from X TGL NVIDIA Linux 10 09-13-02 08:22 PM

All times are GMT -5. The time now is 02:25 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright ©1998 - 2014, nV News.