[LUG.ro] Salio el kernel 2.6.23

Hector Luis Gimbatti lugro@lugro.org.ar
Sat, 13 Oct 2007 17:01:47 -0300


Para los que tengan una nvidia y usen los drivers propetiarios (como 
deberian :))

Cuando compilen el driver no les va a andar ya que la funcion 
kmem_cache_create ha sido modificada (le han sacado el ultimo argumento) y 
ademas hay un problema con el tipo unregister_chrdev el cual devuelve void y 
sin embargo en los drivers se hace una comparacion.

La onda es la siguiente, 

extraen el NVIDIA-Linux-version-.run 

# bash NVIDIA-Linux-....  -x
# cd NVIDIA-....
# cd usr/src/nv/

***** en nv-linux.h

cambien la linea que dice:
kmem_cache = kmem_cache_create(name, sizeof(type), 0, 0, NULL, NULL);
por
kmem_cache = kmem_cache_create(name, sizeof(type), 0, 0, NULL);

***** en nv.c

cambien LAS LINEAS que dicen:
if (unregister_chrdev(nv_major, "nvidia") < 0)
  nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
por
unregister_chrdev(nv_major, "nvndia"));
//  nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");

Es decir, comenten el nv_printf o borrenlo
Son dos lineas que tienen este problema.

Una vez hecho eso, vayan a al top-directory donde extrajeron el driver de 
NVIDIA y hacen
# ./nvidia-installer

y todo anda


-- 
H^n(L,G)