logo sinuh
 

Inicio arrow Conocimiento arrow Artículos arrow Compilando núcleos "by the Debian way"
Compilando núcleos "by the Debian way" Imprimir
Por ferminux   
jueves, 25 ago 2005 16:31
En muchas ocasiones nos encontramos con que el hardware que hemos obtenido no está soportado por ninguno de los núcleos que se encuentran disponibles en los repositorios, otras veces queremos actualizar la versión de tal o cual módulo y otras, simplemente, es que somos demasiado escrupulosos y queremos tener un núcleo lo más adaptado a nuestras necesidades. Pues en este pequeño COMO explico cómo compilar un núcleo y cómo Debian nos hace la vida más fácil ¡Vamos allá!

Lo primero que tenemos que hacer es instalar los paquetes necesarios para poder compilar el núcleo: Como root hacemos:

apt-get install devhelp modutils kernel-package libncurses5-dev kernel-source-<KVERS>

Donde <KVERS> será la versión del núcleo que queremos compilar.

NOTA: A partir de la versión 2.6.12 del kernel el nombre del paquete ha cambiado por el de linux-source-<KVERS> por lo que todas las referencias a kernel-source-<KVERS> deberán sustituirse por linux-source-<KVERS> en su caso.
Una vez terminada la descarga e instalación de los paquetes correspondientes con sus dependencias entramos en el directorio /usr/src donde estará el paquete kernel-source-.tar.bz2 ó linux-source-.tar.bz2 si se trata de un núcleo posterior al 2.6.11.

En /usr/src descomprimiremos el archivo tar.bz2 mediante:

tar jxvvf kernel-source-<KVERS>.tar.bz2

Esto nos creará un directorio llamado kernel-source-<KVERS> en /usr/src/

Hacemos un enlace simbólico de kernel-source-<KVERS>/ a linux mediante la orden:

ln -s kernel-source-<KVERS> linux

Y ahora empezamos con la compilación:

cd linux


NOTA: Este es un truco que cada vez se utiliza más: Como suele ser bastante tedioso reconstruir un kernel con todas las opciones, lo que se suele hacer es copiar el .config de un kernel precompilado que hayamos instalado mediante apt-get. Esto se puede hacer así si el kernel que hemos instalado desde los repositorios de Debian es de la misma serie que el kernel que queremos compilar. Para eso, desde el directorio linux hacemos:

cp /boot/config-<KVERS> .config

Si hemos utilizado el truco de la NOTA anterior teclearemos la orden:

make oldconfig


Con la que el núcleo tomará las opciones de configuración del archivo .config que hayamos copiado. De lo contrario, si lo que queremos es seleccionar nosotros mismos las opciones o deseamos modificar las que tiene precompiladas el kernel que hemos instalado vía apt-get, teclearemos la orden:

make menuconfig

Que nos abrirá una interface en ncurses bastante intuitiva mediante la cual poder seleccionar las opciones a través de los cursores y la barra espaciadora.

Una vez seleccionadas nuestras opciones, salimos de la aplicación mediante la opción exit del menú inferior. Con eso se habrá guardado la nueva configuración de nuestro nuevo kernel.

Hasta aquí ha habido pocos cambios en cuanto a la compilación de núcleos Linux. Ahora es cuando Debian nos hace la vida más fácil:

De nuevo en el directorio /usr/src/linux teclearemos:

make-kpkg clean

Y una vez terminado, comenzaremos la compilación en sí mediante la orden:

make-kpkg --initrd kernel-image

Esto compilará el nuevo núcleo con las opciones que hayamos seleccionado anteriormente y nos generará un paquete Debian del tipo:

kernel-image-<KVERS>_<REV>_<PLAT>.deb

Donde KVERS será la versión del núcleo compilado, REV la revisión del mismo y PLAT la plataforma para la que la compilación se ha realizado. Por ejemplo, en mi caso:

kernel-image-2.6.12_10.00.Custom_powerpc.deb

Es decir: La versión 2.6.12, la revisión 10.00.Custom y la plataforma PPC. Si queremos modificar el parámetro de la revisión, podemos pasarle a make-kpkg dicho parámetro mediante la opción --revision=<NUEVA_REV>

Ya solamente nos falta compilar los módulos e instalar nuestro nuevo kernel. Para lo primero, desde /usr/src/linux teclearemos:

make-kpkg modules-image


Con lo que si además tenemos algún módulo en /usr/src/modules también se compilará y se instalará para nuestro nuevo kernel.

Lo siguiente que debemos hacer es instalar el nuevo kernel. Para ello entramos en /usr/src y tras hacer un ls observaremos que se ha creado un paquete .deb con el núcleo recién compilado. Este paquete lo instalamos, como root, mediante la orden dpkg:

dpkg -i kernel-image-<KVERS>_<REV>_<PLAT>.deb

A continuación modificamos el gestor de arranque (Yaboot, LILO, Grub, etc.) para que arranque nuestro sistema con el nuevo núcleo y reiniciamos.

Tras el reinicio la máquina deberá arrancar con el nuevo núcleo. Fácil ¿verdad?

Comentario[s]
Pol cielto
Escrito por Mister X el 2005-08-26 20:13:36
Hola gran ferminux, a ver cuando nos cuentas también cómo hacer funcionar con Debian GNU/Linux el modem interno de esos portátiles Apple tan chulos.
Escrito por ferminux el 2005-08-28 20:31:03
Modem no utilizo porque siempre me conecto mediante ethernet ó wi-fi, pero si no me equivoco se trata de un Conexant. No sé si este artículo de SINUH te podrá servir: Compilación de módulos para modems Conexant 
 
Al descargar los controladores y descomprimirlos lo harás en /usr/src/modules así que con un make-kpkg modules-clean y make-kpkg modules-image debería valer. 
 
Chao
Instalación de linux Suse versión 9
Escrito por Pedro Guerrero el 2006-03-09 14:48:03
Hola a todos agradecería me ayudaran en lo siguiente estoy instalando linux Suse en un servidor HP este servidor anteriormente tenía instalado Solaris con un arreglo de deisco 5, ahora quiero instalar Linux Suse y al momento de la instalación me coloca un recuadro que dice Usted esta instalando un software de 32 bit en un computador de 64 bit e inmediatamente la pantalla se pone en negro y no se puede seguir con la instalación. 
 
Saludos 
 
Pedro Guerrero 
 
 
 
 

Sólo los usuarios registrados pueden escribir comentarios.
Por favor valídate o regístrate.

Powered by AkoComment 2.0!




© 2002-2005 SINUH - Comunidad GNU/Linux de Extremadura
Este portal utiliza Mambo
DHTML / JavaScript Tree by TwinHelix Designs

Para contactar con nosotros envía un correo a
info
Licencia Creative Commons
Los contenidos de este portal, salvo indicación en contra, están sujetos a una licencia de Creative Commons.

Los logotipos y marcas que aparecen son propiedad de sus respectivos dueños.

Las opiniones y declaraciones de las personas reflejadas en los foros y comentarios son propiedad y responsabilidad de sus autores, no identificando la opinión de SINUH y excluyendo de cualquier responsabilidad a esta asociación.
Ahora 817 visitantes
Advertisement