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

[OT] Re: Comprender Kernel, modulos y Compilacion



 Hola:

El Viernes 05 Mayo 2006 07:40, Eric Pap escribió:
> (...)
>No entiendo si la interfaz (driver) entre mi harware y linux esta dada
>por el kernel en si, o si se da a travez de los modulos.

 Veamos, efectivamente, se pueden entender los módulos como drivers; lo
que ocurre explicado en palabras sencillas es que en cuanto un módulo se
carga es como si formara parte del núcleo.

 Por otra parte, uno puede ahorrarse la carga dinámica de módulos
usuales incorporándolos estáticamente al núcleo al compilarlo
('compilar' es algo así como convertir el código fuente que escribieron
los programadores a un archivo ejecutable que puedas usar, en este caso,
digamos que el vmlinuz y alguna cosa más), eso es lo que en compiladores
se llama 'link' (en inglés), o 'linkar' (adaptado del inglés), o
'montar' (traducido al castellano).

 Te pego lo que escribimos un par de amigos en un artículo [1] de 2004,
que era sobre el planificador del núcleo Linux, pero tenía una parte de
características generales del núcleo:

"Es capaz de linkar módulos en tiempo de ejecución. Los módulos
contienen funcionalidades particulares que son cargadas dentro del
Kernel cada vez que se requiere y no están permanentemente alojados
dentro del Kernel en sí, ni dentro de la memoria. Además de la reducción
en el uso de memoria, los módulos tienen la ventaja de ser
actualizables. Al compilar el núcleo se da con cada módulo la opción de
incorporarlo estáticamente al binario del kernel o bien compilarlo
aparte para que luego se pueda cargar según demanda." [1]


> Mi idea es tener cargado solo los drivers que necesito, para que la
>maquina funcione mejor, arranque mas rapido etc. Si los drivers son los
>modulos,lo unico que tengo que hacer es darlos de baja (siempre y
>cuando supiera cuales) si los drivers estan en el kernel tendria que
>recompilarlo supongo, que si no me equivoco este es el sentido, hacer
>que tenga solo lo que tu compu necesita.

 Hotplug, udev y otros demonios están pensados para cargar ciertos
módulos sólo cuando detectan que el hardware que los usa está conectado
y funcionando. En general no debes preocuparte por ello. Aunque sí es
cierto que a veces se fuerza la carga de otros relacionados  con los que
ya hay (en sonido, por ejemplo) y que no hacen falta, no es habitual.

 Especialmente en el arranque, a veces se prueban módulos para intentar
ver si está presente cierto hardware, pero no suelen cargarse si no
hacen falta. Es ese tiempo de arranque en el que a lo mejor puedes
ahorrar unos segundos pero quizá ahorres más desinstalando algún
servidor o demonio que no uses y se arranque al inicio.

 Al recompilar el núcleo puedes elegir qué módulos compilar y de ellos,
cuáles incorporar de manera estática y cuáles se cargarán cuando un
demonio o root decidan que se necesitan. Los que eligieses como
estáticos deberían ser pocos en un sistema normal porque el kernel se
carga entero en memoria y los que se usaran con poca frecuencia
ocuparían espacio en memoria sin necesidad.

>Segun tengo entendido un kernel de "stock" como el que tengo yo, tiene
>drivers para casi todo el hard disponible. O sea que recompilandolo me
>aseguro que queden solo los drivers para mi hard.

 Cierto, pero esos drivers (módulos) del kernel precompilado que
proporciona Debian están esperando en algún lugar de /usr/src/ a ser
cargados, no se cargan todos (son cientos) por defecto.

 Si quieres compilar es tu elección, pero es algo complicado y largo que
no a todo el mundo le interesa hacer. Hay documentación por ahí de cómo
hacerlo, aunque lo mejor suele ser informarte muy bien primero o
compilar tu primer núcleo acompañado de alguien que ya lo sepa hacer.

>
>Si esto es asi no entiendo como se elije a la hora de compilar el
>kernel, que drivers meter y cuales no.

 Creo que ya he contestado a eso.

[1]: http://usuarios.lycos.es/nanoelduende/linux/charla-kernelv1-0-html.html

Saludos
-- 
--
Gabriel Núñez~
   -
gabriel.nnl(at)estudiante.uam.es -- gabriel.nunez(at)hispalinux.es
//May The Source Be With You//
--//--
--//-- Infórmese sobre las patentes de software: /-
http://proinnova.hispalinux.es/



Reply to: