Re: [Kernel] Decir 'y' o decir 'm'
Ignacio García Fernández escribe: A cuento de esto yo siempre he tenido una duda. Cuando compilo el núcleo con el módulo para mi tarjeta de sonido y lo carga al arrancar ¿En realidad sólo se carga cuando hace falta? O si lo carga al arrancar se queda ahí aunque no se utilice? lsmod Si el módulo de tu tarjeta aparece marcado con (autoclean), se borrará cuando no sea necesario con la orden /sbin/rmmod -a que borra todos los módulos no utilizados y marcados con (autoclean), puedes utilizar cron para automatizar el proceso. Yo siempre había puesto todo el soporte de periféricos como módulos, pero ahora que ya tengo bien detectado todo, he compilado un núcleo monolítico. Si me decís que un módulo sólo se carga cuando se usa, igual me interesa volver a la configuarción con módulos. En mi humilde opinión siempre que se pueda compilar algo como módulos y no se refiera a algo que se usa de forma ininterrumpida, SI. -- [EMAIL PROTECTED] [EMAIL PROTECTED]
Re: [Kernel] Decir 'y' o decir 'm'
Gunnar Wolf escribe: - Seguridad: Hay varios exploits que basan su funcionamiento en incrustarse como módulo en el kernel, y pueden ser virtualmente indetectables. Si tu kernel no sabe cargar módulos, lo puedes compilar como un binario grandote, y te olvidas de este tipo de exploits. Cuando un núcleo necesita cierto módulo, lo busca en ciertos sitios prefijados y si lo encuentra lo carga. ¿ Como puede cargarse un módulo corrupto en mi sistema ? - Estabilidad: Los módulos son archivos independientes en el sistema de archivos. Es muy poco probable que se corrompan o dañen, pero siempre hay más probabilidad si son varios archivos y no uno sólo, un kernel En ese caso todos los programas modulares corren ese riesgo, la verdad es que es muy poco probable que esto ocurra. En cuanto a estabilidad prefiero mil veces a Qmail que Sendmail, por ejemplo, el primero se divide en varios subprogramas encargados de realizar tareas muy específicas, el segundo es mas mazacote, pero mas estable según tu razonamiento. La filosofía de Unix desde un principio fue la de: divide y vencerás, tenemos un montón de programas sencillos encargados de realizar tareas muy específicas, ¿ Es Unix inestable por este motivo ?. A lo mejor Unix está perdiendo esta filosofía, pero otros sistemas operativos aun la siguen grandotote. Un kernel lo cargas una vez, y punto. Y hace sus chequeos - Si está corrupto, no va a cargar y punto. No hay funcionamiento errático. En cambio, los módulos los cargas y los sueltas muchas veces de manera automática durante la operación del sistema. Prefiero correr el riesgo de cargar en memoria la mínima expresión del núcleo y utilizar más en el momento que lo necesite, de lo contrario estoy derrochando inútilmente memoria. - Rendimiento (aunque marginal): Cargar módulos toma tiempo. Si ya los tienes en el kernel, es más rápido usar su funcionalidad. Y hay veces que esto es indispensable. ¿ Cuando ? -- [EMAIL PROTECTED] [EMAIL PROTECTED]
Re: [Kernel] Decir 'y' o decir 'm'
On Thu, Dec 13, 2001 at 11:01:09PM +0100, =?ISO-8859-1?Q?Alfonso Garc=EDa Rodr=EDguez?= wrote: Impresoras (puerto paralelo, me entiendes, etc...), disquetera, soporte ppp, tarjeta de sonido, en definitiva todo lo que no uses ininterrumpidamente, SIN DUDAR compilalo como módulo. A cuento de esto yo siempre he tenido una duda. Cuando compilo el núcleo con el módulo para mi tarjeta de sonido y lo carga al arrancar ¿En realidad sólo se carga cuando hace falta? O si lo carga al arrancar se queda ahí aunque no se utilice? Yo siempre había puesto todo el soporte de periféricos como módulos, pero ahora que ya tengo bien detectado todo, he compilado un núcleo monolítico. Si me decís que un módulo sólo se carga cuando se usa, igual me interesa volver a la configuarción con módulos. Un saludo y gracias Ignacio -- [EMAIL PROTECTED] [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- - Ignacio García Fernández [EMAIL PROTECTED] Instituto de Robótica. Universidad de Valencia. Tlf. 96 398 3583
Re: [Kernel] Decir 'y' o decir 'm'
Ignacio García Fernández wrote: On Thu, Dec 13, 2001 at 11:01:09PM +0100, =?ISO-8859-1?Q?Alfonso Garc=EDa Rodr=EDguez?= wrote: Impresoras (puerto paralelo, me entiendes, etc...), disquetera, soporte ppp, tarjeta de sonido, en definitiva todo lo que no uses ininterrumpidamente, SIN DUDAR compilalo como módulo. A cuento de esto yo siempre he tenido una duda. Cuando compilo el núcleo con el módulo para mi tarjeta de sonido y lo carga al arrancar ¿En realidad sólo se carga cuando hace falta? O si lo carga al arrancar se queda ahí aunque no se utilice? Se queda. Si quieres que se cargue solo cuando haga falta lo has de poner en /etc/modutils, en algún fichero de este directorio. Después ejecutas update-modules y te lee todas las definiciones de módulos cargables. En alguna de las páginas de man hay más información, man modules.conf o man update-modules. Yo siempre había puesto todo el soporte de periféricos como módulos, pero ahora que ya tengo bien detectado todo, he compilado un núcleo monolítico. Si me decís que un módulo sólo se carga cuando se usa, igual me interesa volver a la configuarción con módulos. Un saludo y gracias Ignacio -- [EMAIL PROTECTED] [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [Kernel] Decir 'y' o decir 'm'
Yo siempre había puesto todo el soporte de periféricos como módulos, pero ahora que ya tengo bien detectado todo, he compilado un núcleo monolítico. Si me decís que un módulo sólo se carga cuando se usa, igual me interesa volver a la configuarción con módulos. Hombre, yo tengo por costumbre compilar ciertas cosas como módulo, ejemplo soporte para fat (para los diskettes), pero mira un lsmod: vfat9276 0 (autoclean) fat29080 0 (autoclean) [vfat] plex86158624 0 (unused) nls_iso8859-1 2848 0 (autoclean) iptable_filter 1728 0 (autoclean) (unused) El nls_iso8859-1 es posible que lo necesite, aunque preferiria el nls_iso8859-15, el iptable_filter creo que no está en uso, pues no tengo ninguna regla, el plex86 lo mismo y otro tanto para el fat y el vfat ... veamos : # modprobe -r vfat fat plex86 iptable_filter nls_iso8859-1 # lsmod Module Size Used byTainted: PF Ya no tengo módulos en memoria :-/ -- Saludos | ¿ no tienes enemigos? ¿Es que jamás dijiste la verdad Javier Fafián Alvarez | o jamás amaste la justicia? | Santiago Ramón y Cajal.
Re: [Kernel] Decir 'y' o decir 'm'
Ignacio García Fernández wrote: Yo siempre había puesto todo el soporte de periféricos como módulos, pero ahora que ya tengo bien detectado todo, he compilado un núcleo monolítico. Si me decís que un módulo sólo se carga cuando se usa, igual me interesa volver a la configuarción con módulos. Ese es uno de los motivos por los que puse el mensaje [Kernel] Decir 'y' o decir 'm' , parece ser que hay un demonio (o varios) que se encargan de cargar el módulo en el momento que lo necesitas ¿Puede ser kerneld? El otro motivo del mensaje es que cuando compilas en el kernel como diablos configuras, por ejemplo, una AWE-32 que no es Plug Play, metiendo en el lilo append= , ya probé y no funcionó. Es más acabo de bajarme las fuentes y la documentación del kernel 2.2.19 y dice bien clarito que para hacer funcionar la AWE-32 tienes que marcar las correspondientes opciones con 'm' (como módulos). Y luego resulta que cuando estas seleccionando las distintas opciones en la ayuda del kernel te dicen que pongas 'y'. A ver si se ponen de acuerdo los que escriben la ayuda del kernel y los que escriben la documentación del kernel. :-? En fin, gracias a todos por vuestras sugerencias. Un saludo.
Re: [Kernel] Decir 'y' o decir 'm'
Javi Castelo wrote: Ignacio García Fernández wrote: Yo siempre había puesto todo el soporte de periféricos como módulos, pero ahora que ya tengo bien detectado todo, he compilado un núcleo monolítico. Si me decís que un módulo sólo se carga cuando se usa, igual me interesa volver a la configuarción con módulos. Ese es uno de los motivos por los que puse el mensaje [Kernel] Decir 'y' o decir 'm' , parece ser que hay un demonio (o varios) que se encargan de cargar el módulo en el momento que lo necesitas ¿Puede ser kerneld? Kerneld se usaba antes, ahora se usa un proceso interno del kernel que no recuerdo como se llama, k...?? El otro motivo del mensaje es que cuando compilas en el kernel como diablos configuras, por ejemplo, una AWE-32 que no es Plug Play, metiendo en el lilo append= , ya probé y no funcionó. Es más acabo de bajarme las fuentes y la documentación del kernel 2.2.19 y dice bien clarito que para hacer funcionar la AWE-32 tienes que marcar las correspondientes opciones con 'm' (como módulos). Y luego resulta que cuando estas seleccionando las distintas opciones en la ayuda del kernel te dicen que pongas 'y'. A ver si se ponen de acuerdo los que escriben la ayuda del kernel y los que escriben la documentación del kernel. :-? En eso la culpa la tenemos todos, la documentación está ahí para que cualquiera pueda ayudar a mejorarla. Quiero decir que los del kernel, al fin y al cabo, somos todos los que lo usamos. En fin, gracias a todos por vuestras sugerencias. Un saludo.
Re: [Kernel] Decir 'y' o decir 'm'
Javi Castelo, [EMAIL PROTECTED]:34:16(+0100): ¿ Porqué en la ayuda de la configuración del kernel recomiendan que contestes 'y' en vez de 'm' a todo lo que quieras darle servicio o utilizar? En la ayuda, cuando dicen que le des a Y lo que quieren decir es que lo compiles, da igual cómo. El caso es que no le dés a N. Que le des a Y o a M ya es otra historia. Normalmente cuando algo se puede compilar como módulo te dan el nombre del archivo.o resultante y te dicen que te leas el archivito de turno (modules.txt). Esto no tiene mucho sentido salvo que suprimieramos la entrada map=/boot/map anterior a las de los kernel y dentro de cada sección image=/boot/kernel-XX.XX.XX pongamos map=/boot/System.map-XX.XX.XX para cada kernel. Supongo... nunca se me ocurrió. Pruébalo y nos cuentas :^). -- David Serrano [EMAIL PROTECTED] - Linux Registered User #87069
Re: [Kernel] Decir 'y' o decir 'm'
Bernardo Arlandis Mañó wrote: El otro motivo del mensaje es que cuando compilas en el kernel como diablos configuras, por ejemplo, una AWE-32 que no es Plug Play, metiendo en el lilo append= , ya probé y no funcionó. Es más acabo de bajarme las fuentes y la documentación del kernel 2.2.19 y dice bien clarito que para hacer funcionar la AWE-32 tienes que marcar las correspondientes opciones con 'm' (como módulos). Y luego resulta que cuando estas seleccionando las distintas opciones en la ayuda del kernel te dicen que pongas 'y'. A ver si se ponen de acuerdo los que escriben la ayuda del kernel y los que escriben la documentación del kernel. :-? En eso la culpa la tenemos todos, la documentación está ahí para que cualquiera pueda ayudar a mejorarla. Quiero decir que los del kernel, al fin y al cabo, somos todos los que lo usamos. Pues por mi que no quede, ¿ Donde tengo que escribir para que los del kernel unifiquen los criterios de la documentación? Hay tantas direcciones que no sé cual sería la idonea. Un saludo y gracias por tu contestación.
[Kernel] Decir 'y' o decir 'm'
Hola, ... he ahí mi dilema. Hasta ahora sólo he compilado el kernel (versión 2.4.16) una vez y bajo el entorno X. Sin embargo sigo arrancando con el 2.2.18pre21. Tengo bastantes dudas que al leer libros y documentación diversa se duplican, a saber: 1.- Cuando navegaba por las distintas opciones que me interesaban (por ejemplo una SB AWE-32 ) le daba click al botón de ayuda antes de marcar y me decía algo así como: contesta 'y' si tienes esa tarjeta de sonido. El caso es que si contestas sí ('y') en vez de 'm' el driver se compila en el kernel y evidentemente no puedes instalar y configurar la tarjeta como módulo. La tarjeta de sonido no funcionó ni añadiendo la correspondiente línea en el LILO (append= ...lo que proceda) tal y como decía en la propia ayuda del kernel mencionada. Pregunto: Si una de las ventajas del kernel es que puedes configurar un sistema altamente modular, con módulos que se cargan segun lo demanda el sistema y en definitiva el usuario... ¿ Porqué en la ayuda de la configuración del kernel recomiendan que contestes 'y' en vez de 'm' a todo lo que quieras darle servicio o utilizar? Otro tanto podríamos decir del resto de opciones. Entonces ... ¿Qué me recomendais que compile en el kernel y qué como módulo? Al hilo de esto he mirado lo que contiene el fichero /boot/Config-2.2.18pre21 que casualmente resulta ser cómo se configuró el kernel durante la instalación y la práctica totalidad de las opciones están marcadas com 'm' y muy pocas con 'y'. ¡¡ Vale !! durante la instalación Debian se cura en salud pues no sabe lo que el usuario va a instalar en el sistema ¿O no? ... ¿O se hace así porque es una buena metodología para configurar el kernel? Evidentemente no contestaremos ni 'y' ni 'm' a lo que no tengamos/queramos o vayamos a tener. Pero ... ¿Y al resto? 2.- La documentación que he leido a la hora de compilar el kernel dice que es muy importante que junto a la imagen del nucleo compilado se acompañe el fichero generado System.map-XX.XX.XX. Además se recomienda añadir a lilo.conf una entrada para el nuevo kernel (por si algo va mal). Sin embargo no se dice que antes de la correspondiente sección del núcleo con el que arrancar ya hay una línea en lilo.conf que dice algo así como map=/boot/map. Es decir, por mucho que creemos en lilo.conf entrada al nuevo kernel y acompañemos junto a la imagen el nuevo System.map, el nuevo kernel arrancará con el antiguo map :-? Esto no tiene mucho sentido salvo que suprimieramos la entrada map=/boot/map anterior a las de los kernel y dentro de cada sección image=/boot/kernel-XX.XX.XX pongamos map=/boot/System.map-XX.XX.XX para cada kernel. ¿Alguien ha probado hacer esto? o en su defecto ¿Cómo hacer que cada kernel inicie con su System.map? Un saludo.
Re: [Kernel] Decir 'y' o decir 'm'
Javi Castelo wrote: Hola, ... he ahí mi dilema. Hasta ahora sólo he compilado el kernel (versión 2.4.16) una vez y bajo el entorno X. Sin embargo sigo arrancando con el 2.2.18pre21. Tengo bastantes dudas que al leer libros y documentación diversa se duplican, a saber: 1.- Cuando navegaba por las distintas opciones que me interesaban (por ejemplo una SB AWE-32 ) le daba click al botón de ayuda antes de marcar y me decía algo así como: contesta 'y' si tienes esa tarjeta de sonido. El caso es que si contestas sí ('y') en vez de 'm' el driver se compila en el kernel y evidentemente no puedes instalar y configurar la tarjeta como módulo. La tarjeta de sonido no funcionó ni añadiendo la correspondiente línea en el LILO (append= ...lo que proceda) tal y como decía en la propia ayuda del kernel mencionada. Pregunto: Si una de las ventajas del kernel es que puedes configurar un sistema altamente modular, con módulos que se cargan segun lo demanda el sistema y en definitiva el usuario... ¿ Porqué en la ayuda de la configuración del kernel recomiendan que contestes 'y' en vez de 'm' a todo lo que quieras darle servicio o utilizar? Hay alguna ventaja al compilarlo dentro del kernel, y es que irá un pelín más rápido (aunque no sea nada apreciable), consume un poco menos memoria y los novatos no se tienen que preocupar de cargar el módulo. Otro tanto podríamos decir del resto de opciones. Entonces ... ¿Qué me recomendais que compile en el kernel y qué como módulo? Yo te recomendaría que compilases como módulo todo aquello que: - uses poco o raras veces y ocupe una cantidad apreciable de memoria. - pueda dar problemas de compatibilidad con otros módulos o programas en ciertos momentos. - no estés seguro de si deberías usar. Al hilo de esto he mirado lo que contiene el fichero /boot/Config-2.2.18pre21 que casualmente resulta ser cómo se configuró el kernel durante la instalación y la práctica totalidad de las opciones están marcadas com 'm' y muy pocas con 'y'. ¡¡ Vale !! durante la instalación Debian se cura en salud pues no sabe lo que el usuario va a instalar en el sistema ¿O no? ... ¿O se hace así porque es una buena metodología para configurar el kernel? Evidentemente no contestaremos ni 'y' ni 'm' a lo que no tengamos/queramos o vayamos a tener. Pero ... ¿Y al resto? Se hace así porque se compila soporte para muchos dispositivos y funcionalidades. Es un kernel para todos en general y para nadie en concreto. De manera que después cada uno puede seleccionar lo que le hace falta y no tener que tragar con un kernel de 2Mb que tiene más cosas de las que hacen falta y que podría dar problemas al tener compilado funcionalidades que puede ser incompatibles entre sí o no funcionar demasiado bien en algunos casos. Si te compilas un kernel a medida, está claro que no lo vas a hacer así. 2.- La documentación que he leido a la hora de compilar el kernel dice que es muy importante que junto a la imagen del nucleo compilado se acompañe el fichero generado System.map-XX.XX.XX. Además se recomienda añadir a lilo.conf una entrada para el nuevo kernel (por si algo va mal). Cierto. Sin embargo no se dice que antes de la correspondiente sección del núcleo con el que arrancar ya hay una línea en lilo.conf que dice algo así como map=/boot/map. Es decir, por mucho que creemos en lilo.conf entrada al nuevo kernel y acompañemos junto a la imagen el nuevo System.map, el nuevo kernel arrancará con el antiguo map :-? Esto no tiene mucho sentido salvo que suprimieramos la entrada map=/boot/map anterior a las de los kernel y dentro de cada sección image=/boot/kernel-XX.XX.XX pongamos map=/boot/System.map-XX.XX.XX para cada kernel. Que yo sepa no es así. No te lo sé razonar ahora mismo, pero no he tenido nunca problemas en ese sentido. En el image se suelen usar en laces: /vmlinuz - boot/kernel-xx.xx.xx /vmlinuz.old - boot/kernel-yy.yy.yy Supongo que sabe adivinar qué map tiene que coger. No te sé decir seguro. Una cosa que no has mencionado es que debes mantener el /lib/modules/xx.xx.xx con los módulos del kernel antiguo. No has de hacer nada, pero recuerda que no los debes borrar. Y que la versión de seguridad del kernel no sea la misma que la nueva que vas a probar, porque habrás machacado los modulos antiguos con los nuevos. ¿Alguien ha probado hacer esto? o en su defecto ¿Cómo hacer que cada kernel inicie con su System.map? Un saludo.
Re: [Kernel] Decir 'y' o decir 'm'
Javi Castelo escribe: Hola, ... he ahí mi dilema. Hasta ahora sólo he compilado el kernel (versión 2.4.16) una vez y bajo el entorno X. Sin embargo sigo arrancando con el 2.2.18pre21. Tengo bastantes dudas que al leer libros y documentación diversa se duplican, a saber: 1.- Cuando navegaba por las distintas opciones que me interesaban (por ejemplo una SB AWE-32 ) le daba click al botón de ayuda antes de marcar y me decía algo así como: contesta 'y' si tienes esa tarjeta de sonido. El caso es que si contestas sí ('y') en vez de 'm' el driver se compila en el kernel y evidentemente no puedes instalar y configurar la tarjeta como módulo. La tarjeta de sonido no funcionó ni añadiendo la correspondiente línea en el LILO (append= ...lo que proceda) tal y como decía en la propia ayuda del kernel mencionada. Pregunto: Si una de las ventajas del kernel es que puedes configurar un sistema altamente modular, con módulos que se cargan segun lo demanda el sistema y en definitiva el usuario... ¿ Porqué en la ayuda de la configuración del kernel recomiendan que contestes 'y' en vez de 'm' a todo lo que quieras darle servicio o utilizar? Otro tanto podríamos decir del resto de opciones. Entonces ... ¿Qué me recomendais que compile en el kernel y qué como módulo? Impresoras (puerto paralelo, me entiendes, etc...), disquetera, soporte ppp, tarjeta de sonido, en definitiva todo lo que no uses ininterrumpidamente, SIN DUDAR compilalo como módulo. -- [EMAIL PROTECTED] [EMAIL PROTECTED]
Re: [Kernel] Decir 'y' o decir 'm'
Otro tanto podríamos decir del resto de opciones. Entonces ... ¿Qué me recomendais que compile en el kernel y qué como módulo? Impresoras (puerto paralelo, me entiendes, etc...), disquetera, soporte ppp, tarjeta de sonido, en definitiva todo lo que no uses ininterrumpidamente, SIN DUDAR compilalo como módulo. Ahora... Va una recomendación que me han hecho, por más que yo no sigo ;-) En servidores y demás máquinas en que la seguridad, la estabilidad y el rendimiento son primordiales, compila tu kernel SIN SOPORTE A MÓDULOS. ¿Por qué? - Seguridad: Hay varios exploits que basan su funcionamiento en incrustarse como módulo en el kernel, y pueden ser virtualmente indetectables. Si tu kernel no sabe cargar módulos, lo puedes compilar como un binario grandote, y te olvidas de este tipo de exploits. - Estabilidad: Los módulos son archivos independientes en el sistema de archivos. Es muy poco probable que se corrompan o dañen, pero siempre hay más probabilidad si son varios archivos y no uno sólo, un kernel grandotote. Un kernel lo cargas una vez, y punto. Y hace sus chequeos - Si está corrupto, no va a cargar y punto. No hay funcionamiento errático. En cambio, los módulos los cargas y los sueltas muchas veces de manera automática durante la operación del sistema. - Rendimiento (aunque marginal): Cargar módulos toma tiempo. Si ya los tienes en el kernel, es más rápido usar su funcionalidad. Y hay veces que esto es indispensable. Saludos, -- Gunnar Wolf - [EMAIL PROTECTED] - (+52-55)5623-1118