Trabajando con el Kernel Linux (I)
Hola a todos! Otra vez yo, Cortex, que hace un buen rato no me pasaba por aquí.
Hoy me gustaría hablar sobre un tema en el que seguro todos tenemos muchas lagunas, configurar el kernel. Si alguna vez has instalado ó intentando instalar Gentoo te habrás dado cuenta que en el ritual de instalación debes de compilar tu propio núcleo, incluyendo también la configuración del mismo. Desde mi experiencia, este suele ser un punto en el que la mayoría de usuarios se quedan; es cierto que también existe genkernel, una herramienta que facilita por completo este proceso pero que también, entre otras cosas, ralentiza mucho el arranque.
Casi la totalidad de distribuciones Linux, incluyen en su sistema un kernel con soporte para la mayor cantidad de hardware posible y en el booteo hay un script que se encarga de identificar el perfil del equipo en cuestión y cargar los módulos respectivos (sonido, disco, sistemas de archivos, etc.). Este sistema me parece excelente, puesto que sobretodo al usuario nuevo le ahorra mucho trabajo a la hora de poner a funcionar su distribución, pero como dije anteriormente no es lo más óptimo, sobretodo si queremos el mejor rendimiento posible.
No pretendo con esta entrada crear una guía completa de configuración del kernel. Primero, porque mis conocimientos en este tema son limitados, o sino que lo diga Javi, que siempre le toca aguantarse mis quejas porque no me funcionan bien las cosas
Y segundo, porque todos tenemos necesidades diferentes y puede que algunos necesiten soporte para determinadas cosas que otros no. Lo que sí me gustaría es hablar sobre buenas prácticas a la hora de trabajar con el núcleo y sobre problemas muy comunes que surgen cuando hacemos una configuración desde 0, como dispositivos que no funcionan, entre otras cosas. El post está abierto a cualquier aporte/mejora/correción que quieran hacer.
Brillo en pantallas LCD
Son varias las personas que alguna vez me han preguntado como pueden hacer funcionar las teclas para definir la intensidad del brillo de la pantalla. Si usas portatil, habrás notado que es una funcionalidad demasiado útil y que además es muy maluco tener que trabajar únicamente con el brillo que el laptop haya decidido definir al ser encendido.
- Lo primer es activar el controlador:
Device Drivers --->
Graphics Support --->
[*] Lowlevel video output switch controls
[*] Backlight & LCD device support --->
<*> Lowlevel LCD controls
<*> Platform LCD controls
-*- Lowlevel Backlight controls
<*> Generic (aka Sharp Corgi) Backlight Drive
Display device support --->
<*> Display panel/monitor support
- Ahora nos dirigimos a las opciones de ACPI y activamos el manejo de video:
Power management and ACPI options --->
[*] ACPI (Advanced Configuration and Power Interface) Support --->
<*> Video
Y con esto bastaría recompilar para disfrutar del brillo
/proc/config.gz
Una opción que quizás muchos no conocen es la de poder acceder a la configuración del kernel en ejecución a través del archivo /proc/config.gz. Actívemosla y curémosnos en salud ante la pérdida del preciado .config.
General setup --->
<*> Kernel .config support
[*] Enable access to .config through /proc/config.gz
Para disponer del archivo de configuración:
Sonido como módulo
Entre los problemas más comunes en Linux está el sonido. Sobretodo si trabajamos con versiones de ALSA muy viejas ya que nos toca recurir a hacks ó pasar parámetros a la hora de cargar los módulos. Por si no está claro para alguien, ALSA (Advanced Linux Sound Architecture) a grosso modo, es el encargado de la gestión del sonido en Linux, reemplazando al obsoleto OSS. No es la única opción, pero sí la mejor en la mayoría de los casos.
Existen 3 formas de instalar ALSA:
- Desde los drivers del kernel (estáticamente)
- Desde los drivers del kernel (módulo)
- Drivers externos (alsa-drivers)
La más recomendada es la segunda. Las ventaja de compilar el sonido como módulo es que no tenemos que preocuparnos de identificar cual es el controlador apropiado para nuestra tarjeta, sino, simplemente dejar hacer su trabajo a alsaconf y usar alsamixer para definir el volumen. Aparte de que también se obtiene un mejor rendimiento.
Si quieres profundizar un poco en el tema puedes leer este artículo.
No pondré aquí las opciones que se necesitan activar en el núcleo, puesto que en la documentación de Gentoo está todo perfectamente explicado. Más bien hablemos sobre los micrófonos integrados, esos que a veces resulta tan difícil hacer funcionar.
Abrimos en una shell alsamixer y presionando la tecla Tabulador nos movemos a los dispositivos de Captura. Debemos cambiar en Input Source, Mic por Front Mic y también verificar que los dispositivos Capture y Digital no están mudos y además que tengan el volumen al 100%.
Guardamos la configuración
Ahora abrimos cualquier aplicación para captura de audio y probamos con los dispositivos disponibles a ver cual funciona. Eso es todo.
No quiero alargar más el post, de momento es suficiente. Más adelante veremos como podemos hacer funcionar las cámaras web en Linux y algunas otras cosas.
Cualquier comentario será bien recibido, ¡Hasta pronto!
12 Comentarios | deja el tuyo



Ufff.. qué peazo de post!
Toca avisarle al Gneo que siempre me preguntó sobre el brillo del LCD.
¡Un saludo parce, y siga así!
Este joven C0rtex si que sabe… bien pelao.. !!!
jeje si rulo lo del LCD, nunca lo mire porque sabia que me demoraria una buena cantidad de horas averiguando, pero bueno… tu guia va al grano y todo ok
, bien chino !!
Buen articulo, y gentoo lo termina de perfeccionar con genkernel.
Una cosa que es buena tener en cuenta es que todos los parametros del kernel (bueno, algunos) pueden ser alterados en caliente utilizando las sysctls.
man sysctl para mas informacion
Vacanisimo por fin buenos apuntes en este blog
.
Exitos
@IngForigua: no, pues gracias por lo que me toca
jajajajajaja
@arpunk: gracias por el apunte. Alguna vez jugué con eso, pero no lo recordaba. Ahh, a todas estas, el Cortex me mostró una foto del flisol en donde aparecemos ud. y yo; no sabía que ya nos habíamos cruzado en alguna vez XD
Un saludo!
Hola Soy Fermin
Saludos
Grandioso, eso es justo lo que siempre quise saber y no se me ocurrio pensar en el Kernel.
Esperemos se prolongue muchos capiltulos más.
Felicidades por el site.