[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Sterownik nvidia.



Witam!
Zachciało mi się modułu - sterownika nvidia. Zacząłem więc od kompilacji kernela (bo tak podobno najszybciej i najłatwiej i tak w ogóle wszyscy polecają). Skompilowałem 2.4.22, bo po zainstalowaniu go z paczki okazało się, że się uruchomił, a więc może i skompilowany przeze mnie się uruchomi? Dla niezorientowanych przypomnę, że już jakiś czas temu ciągnąłem wątek nieszczęsnego kontrolera HPT370 i niemożliwości zmiany kernela w związku z nim. Faktycznie 2.4.22 skompilował się i uruchomił, zatem jeszcze tylko moduł nvidia i wszystko niby jest ok. Ale czy na pewno? Otóż nie, bo niestety z żadnym kernelem, oprócz instalacyjnego 2.4.18-bf2.4 nie działa DMA na HPT370. Efekt jest widoczny aż do bólu - chociażby przeskakująca muzyka z XMMS i kopiowanie plików z szybkością jak z dyskietki. W takim razie może skompilować moduł dla 2.4.18-bf2.4? Wszystko fajnie, ale moduł nie daje się załadować, wywala mi tylko, że nie jest skompilowany na ten kernel, lecz na 2.4.18. No to może przekompiluję 2.4.18 z tym samym konfigiem? I co? I to:

In file included from ksyms.c:50:
/usr/src/kernel-source-2.4.18/include/asm/checksum.h:72:30: missing terminating " character
In file included from ksyms.c:50:
/usr/src/kernel-source-2.4.18/include/asm/checksum.h: In function `ip_fast_csum': /usr/src/kernel-source-2.4.18/include/asm/checksum.h:73: error: parse error before "movl" /usr/src/kernel-source-2.4.18/include/asm/checksum.h:75:17: invalid suffix "f" on integer constant /usr/src/kernel-source-2.4.18/include/asm/checksum.h:82:17: invalid suffix "b" on integer constant /usr/src/kernel-source-2.4.18/include/asm/checksum.h:90:13: missing terminating " character /usr/src/kernel-source-2.4.18/include/asm/checksum.h:105:17: missing terminating " character /usr/src/kernel-source-2.4.18/include/asm/checksum.h: In function `csum_fold': /usr/src/kernel-source-2.4.18/include/asm/checksum.h:106: error: parse error before "addl" /usr/src/kernel-source-2.4.18/include/asm/checksum.h:108:17: missing terminating " character /usr/src/kernel-source-2.4.18/include/asm/checksum.h:121:13: missing terminating " character /usr/src/kernel-source-2.4.18/include/asm/checksum.h: In function `csum_tcpudp_nofold': /usr/src/kernel-source-2.4.18/include/asm/checksum.h:122: error: parse error before "addl" /usr/src/kernel-source-2.4.18/include/asm/checksum.h:126:9: missing terminating " character /usr/src/kernel-source-2.4.18/include/asm/checksum.h:128: error: `__x' undeclared (first use in this function) /usr/src/kernel-source-2.4.18/include/asm/checksum.h:128: error: (Each undeclared identifier is reported only once /usr/src/kernel-source-2.4.18/include/asm/checksum.h:128: error: for each function it appears in.)
/usr/src/kernel-source-2.4.18/include/asm/checksum.h: At top level:
/usr/src/kernel-source-2.4.18/include/asm/checksum.h:128: error: parse error before ')' token /usr/src/kernel-source-2.4.18/include/asm/checksum.h:161:17: missing terminating " character /usr/src/kernel-source-2.4.18/include/asm/checksum.h: In function `csum_ipv6_magic': /usr/src/kernel-source-2.4.18/include/asm/checksum.h:162: error: parse error before "addl" /usr/src/kernel-source-2.4.18/include/asm/checksum.h:173:17: missing terminating " character /usr/src/kernel-source-2.4.18/include/asm/checksum.h:176: error: `__x' undeclared (first use in this function) /usr/src/kernel-source-2.4.18/include/asm/checksum.h:176: warning: no return statement in function returning non-void
/usr/src/kernel-source-2.4.18/include/asm/checksum.h: At top level:
/usr/src/kernel-source-2.4.18/include/asm/checksum.h:176: error: parse error before ')' token /usr/src/kernel-source-2.4.18/include/asm/checksum.h:176: error: parse error before "__u32"
make[2]: *** [ksyms.o] Błąd 1
make[2]: Leaving directory `/usr/src/kernel-source-2.4.18/kernel'
make[1]: *** [first_rule] Błąd 2
make[1]: Leaving directory `/usr/src/kernel-source-2.4.18/kernel'
make: *** [_dir_kernel] Błąd 2

Próbowałem też zainstalować sterownik z pliku NVIDIA-Linux-x86-1.0-4496-pkg2.run, ale tu z kolei wywaliło mi:

-> Building kernel module:
executing: 'cd ./usr/src/nv; make nvidia.o SYSINCLUDE=/usr/src/linux/include
  '...
You appear to be compiling the NVIDIA kernel module with a compiler different from the one that was used to compile the running kernel. This may be perfectly fine, but there are cases where this can lead to unexpected behaviour and system crashes. If you know what you are doing and want to override this check, you can do so by setting IGNORE_CC_MISMATCH. In any other case, set the CC environment variable to the name of the compiler that was used to compile the kernel. *** Failed cc sanity check. Bailing out! ***
  make: *** [gcc-check] Błąd 1
-> Error.

gcc mam w wersji 3.3.2 Na tym kończy się moja wiedza i pomysły. Jeśli ktokolwiek wie jak pomoć to bardzo proszę o wszelkie porady. Z góry dziękuję!



--
http://www.miki.z.pl miki(AT)z.pl
Gadu-gadu: 2128279 Mobile: +48607345846 IRC: `miki`
Linux Registered User # 285966
"Give me the freedom to destroy
Give me radioactive toy"



Reply to: