Sobre modulos y/o kernel :)

Hola a todos,
estoy echo un pequeño lio...
Cuando compilas un driver en el kernel (vease tarjeta de sonido por ejemplo) como modulo, este se activa cuando se necesita? Es que yo compile el driver de la tarjeta de sonido... pero no era capaz de usarle, hasta que le añadi a /etc/modules y le carga desde el inicio...
La verdad es que no se si me he expresado bien [mamaaaaa]
Gracias! :D
Salu2! ;D
mmmmm eso depende. si tu por ejemplo montas una particion ntfs y tienes ntfs como modulo, este se carga porque se lo dice el mount que ya ha detectado el tipo de particion (supongo) En cambio, la tarjeta de sonido no se encarga de detectarla nadie O_o

No se, la verdad es que no tengo ni idea XD

Saludos
Escrito originalmente por eaTHaN
Hola a todos,
estoy echo un pequeño lio...
Cuando compilas un driver en el kernel (vease tarjeta de sonido por ejemplo) como modulo, este se activa cuando se necesita? Es que yo compile el driver de la tarjeta de sonido... pero no era capaz de usarle, hasta que le añadi a /etc/modules y le carga desde el inicio...
La verdad es que no se si me he expresado bien [mamaaaaa]
Gracias! :D
Salu2! ;D


A ver, el tema de los modulos es mas sencillo de lo que parece a primera vista.

Cuando tu compilas modulos lo que haces es generar binarios que se guardan en /lib/modules/

Que te quede claro, a los modulos SIEMPRE hay que levantarlos, el tema es que se pueden levantar de muchas formas... algunas implicitas y otras explicitas.

Algunos programas se encargan de levantarlos automaticamente. Por ejemplo mount, como dijo Crackge. (generalmente las cosas que no necesitan demasiada "inteligencia")

Otra forma, es levantarlos a mano usando modprobe/insmod.

Otra es usando /etc/modules que es la mas completa y elegante. En dicho archivo hay un sistema de aliases... Cuando el kernel se refiere a por ejemplo al token "sound" en realidad se estara refiriendo al alias definido cuyo nombre apunta al modulo x que se encuentra en /lib/modules. De esa forma tan inteligente se logra que el driver se "levante" automaticamente. (muy unix, simple y efectivo)

Obviamente cada distro posee mas o menos scripts que se encargan de hacer todo ese trabajo. (segun la distro sea mas o menos amistosa)

En distros como Suse, RH o Mdk es menos comun que tengas que levantar algo manualmente ya que al tener mecanismos de autodeteccion se encargan de hacer todo ese trabajo ellas solitas. Pero por mas que no lo veas, no deja de ser siempre la misma cosa. (solo que mas engorrosa... prefiero editar un archivo que usar lo horribles configuradores de algunas distros)

Ah! En el unico caso que no necesitas levantar un modulo es cuando compilas el driver metido (built-in) adentro del kernel... justamente porque no usas modulos. X-D

salu2[bye]

PD: disculpen si soy un poco simplista... es que mi cerebro no da para mas. :P
Sergiox [ok]
Ahora solo me falta saber los alias que usa el kernel y los programas que levantan los modulos x)
Luego me pongo a googlear ;)
Gracias Sergiox! [oki]
3 respuestas