Anda di halaman 1dari 3

Mdulos Contenido Kernel y mdulos Mdulos Anatoma de un mdulo Programacin de un mdulo

Kernel y mdulos En un sistema Linux la interaccin final con dispositivos la realizan los controladores o el Kernel. Dic o de otra forma! un dispositivo slo podr" ser usado si el Kernel lo soporta o si existe un controlador capaz de controlarlo y si se configura apropiadamente para acerlo. Por esto! los dispositivos #ue se produzcan oy! no pueden ser operados con controladores ya existentes $a menos #ue los dispositivos ayan sido dise%ados para ser operados con estos &&&caso #ue para algunos dispositivos como tar'etas de sonido! tar'etas de video o mdems es poco com(n)! por esto mismo! eventualmente! si actualiza el ard*are de su computador o si desea usar un cierto servicio del Kernel! tam+i,n de+er" actualizar alg(n mdulo o eventualmente el Kernel completo. Aun#ue algunos controladores auto detectan la configuracin del dispositivo! esto no siempre ocurre y en algunos casos tendr" #ue pro+ar! asta acer funcionar el mdulo #ue mane'a el dispositivo. Las fuentes en - de cada versin del Kernel cuentan con controladores para diversos dispositivos. -uando se compila una versin! algunos de esos controladores pueden unirse con el Kernel mismo $est"ticamente)! otros pueden de'arse como mdulos para cargarse.descargarse cuando la parte est"tica del Kernel este operando! otros pueden ser excluidos del proceso de compilacin $y por lo tanto no podr"n ser usados ni cuando el Kernel est, operando).

Mdulos En este contexto! mdulo se refiere a un controlador de un dispositivo o servicio #ue puede cargarse o descargarse cuando el usuario o alg(n dispositivo lo solicitan $din"micamente). Los mdulos #ue se distri+uyen con en el Kernel est"n u+icados en el directorio /lib/modules/<versin>! donde /versin0 es la versin de su Kernel! con la extensin 1.o2 organizados en directorios #ue indican el tipo de dispositivo o el propsito! por e'emplo3 1fs sistema de arc ivos! 1net2 protocolos y ard*are para redes. Para lograr configurar un dispositivo controlado por un mdulo! puede emplear las erramientas del pa#uete modutils o modconf para3 4. Asegurar #ue no aya conflictos entre el dispositivo con otros y eventualmente conocer la configuracin #ue usa $algunos controladores auto detectan la configuracin del dispositivo! pero no todos). 5. Encontrar un mdulo #ue pueda mane'ar el dispositivo. 6. Eventualmente pasar opciones al mdulo de acuerdo a la configuracin del dispositivo $789 o direccin +ase).

En algunas distri+uciones de Linux las erramientas del pa#uete modutils se configuran en los arc ivos del directorio /etc/modutils $con la informacin de esos arc ivos y de /etc/modules se genera el arc ivo de configuracin de mdulos /etc/modules.conf). Los programas #ue ese pa#uete incluye son3 lsmod Lista los mdulos cargados! de cada uno presenta nom+re! tama%o! cuenta de usos y lista de mdulos #ue lo usan $es e#uivalente a cat /proc/modules). rmmod mdulos Descarga uno o m"s mdulos cargados! mientras estos no est,n siendo usados. -on la opcin -r intenta descargar recursivamente mdulos de los cuales el mdulo especificado dependa. El comando rmmod -a descarga todos los mdulos #ue no est,n siendo usados. insmod mdulo [opciones] :rata de cargar el mdulo especificado. Pueden pasarse opciones especficas para el mdulo! a continuacin del nom+re con la sintaxis smbolo=valor $los sm+olos posi+les dependen del mdulo! pueden verse algunos en estas guas o en /usr/share/modconf/descr.gz &&& #ue es la ayuda presentada por modconf &&& o en (ltimo caso en las fuentes del mdulo en los macros M !"#$%&'('M y M !"#$%&'('M%!$)*(). Puede indicarse una ruta no est"ndar para +uscar mdulos esta+leci,ndola en la varia+le M !&'+, o en /etc/modules.conf. Dado #ue los mdulos se enlazan directamente con el Kernel! de+en ser compilados para una versin precisa! con la opcin &f puede evitarse el c e#ueo de versiones. depmod -omo un mdulo puede re#uerir otros! ay dependencias #ue de+en respetarse al cargar y descargar mdulos. depmod permite calcular tales dependencias entre varios mdulos o entre todos los disponi+les con la opcin -a. Por defecto depmod -a escri+e las dependencias en el arc ivo /lib/modules/version/modules.emp! cada lnea de ese arc ivo tiene el nom+re de un mdulo seguido del caracter -.- y los mdulos de los cuales depende! separados por espacios. modprobe mdulo opciones Emplea la informacin de dependencias generada por depmod e informacin de /etc/modules.conf para cargar el mdulo especificado! cargando antes todos los mdulos de los cuales dependa. Para especificar el mdulo +asta escri+ir el nom+re $sin la ruta! ni la extensin .o) o uno de los alias definidos en /etc/modutils/alias $o en otro arc ivo del directorio /etc/modutils). ;i ay lneas pre-install o post-install en /etc/modules.conf! modprobe puede e'ecutar un comando antes y.o despu,s de cargar el mdulo. -omo opciones para cargar el mdulo usa prioritariamente las dadas en la lnea de comandos y despu,s las especificadas en lneas de la forma options mdulo opciones en el arc ivo /etc/modules.conf. Puede emplear estos programas para configurar sus mdulos y puede acer permanentes los cam+ios! agregando el mdulo y las opciones en el arc ivo /etc/modules.

Anatoma de un mdulo Para esta seccin leer el artculo 1Anatomy of Linux loada+le <ernel modules2! el cual se encuentra en3 ttp3..***.i+m.com.developer*or<s.linux.li+rary.l&l<m.index. tml= ca>dgr&lnx*?@LinuxLKMA;B:A-:>4?CADECFA;B-MP>D8 Programacin de un mdulo Para esta seccin leer la gua 1: e Linux Kernel Module Programming Duide2! esta gua se encuentra en3 Gersin en ingl,s3 ttp3..tldp.org.LDP.l<mpg.5.H. tml.l<mpg. tml Gersin en espa%ol3 ttp3..***.*i<ilearning.com.tutorial.guiaBdeBprogramacionBdeBmodulos BdelBnucleoBlinux&so+reBesteBtutorial.F@H5&4