Cómo compilar el kernel en Ubuntu - Construir el paquete del kernel

4 - Construir el paquete del kernel

[editar]
Tutorial creado por Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=324
03 de Enero de 2006
Para construir el paquete con el que instalaremos el nuevo kernel vamos a usar la orden make-kpkg. Esta orden lo que hace básicamente es sustituir a las clásicas make dep, make clean, make bzImage y make modules. Admite numerosas opciones y modificadores (ya sabeis: man make-kpkg), pero para lo que nos ocupa ahora sólo necesitaremos hacer lo siguiente:

bash:/usr/src/linux$ sudo make-kpkg clean
bash:/usr/src/linux$ sudo make-kpkg --append-to-version=.XXXX --initrd kernel_image

Lo único que teneis que modificar de la orden anterior es XXXX, que representa una secuencia alfanumérica que tendréis que decidir vosotros, y que se añadirá al número de versión del kernel para diferenciar el kernel que estais compilando de cualquier otro que ya esté instalado en vuestro sistema. Por lo tanto XXXX lo debereis sustituir por lo que querais, intentando no utilizar el guión de subrayado bajo (_) ni expresiones como "-386", "-606", "-K7", "-sparc", etc., porque expresiones similares son las usadas por los kernel precompilados de Debian y podrían inducir a error. Personalmente yo uso la fecha en la que compilo el kernel, de forma que si lo compilase hoy (19 de noviembre de 2004), mi orden querdaría así:

bash:/usr/src/linux$ sudo make-kpkg --append-to-version=.191104 --initrd kernel_image

Ahora hay que hablar un poco sobre la opción --initrd. Esta opción lo que hace es crear una imagen initrd en el directorio /boot. Realmente no es imprescindible utilizarla siempre que a la hora de configurar el kernel hayamos incluido de forma estática (y no como módulos) los controladores para al menos nuestro bus, disco y sistema de archivos de nuestro directorio raiz. Pero (y esto es sólo una experiencia personal) siempre que he intentado compilar un kernel sin esa opción, me he encontrado con un sistema que no arrancaba, así que yo la uso siempre. ¿Qué problema tiene?, pues que para que funcione correctamente la opción --initrd, hay que aplicar a las fuentes del kernel el parche cramfs. Tranquilos, porque todos los kernel de Debian (y por supuesto también los de Ubuntu) tienen ese parche ya aplicado. Pero es algo que tendréis que tener en cuenta si habeis obtenido las fuentes del kernel en algún otro sitio (por ejemplo en www.kernel.org).

Bien, como he dicho antes, las órdenes que tenemos que ejecutar son:

bash:/usr/src/linux$ sudo make-kpkg clean
bash:/usr/src/linux$ sudo make-kpkg --append-to-version=.XXXX --initrd kernel_image

Tras ejecutar la segunda de ellas nos saldrá un mensaje de aviso diciéndonos que la opción --initrd puede no funcionar como nosotros esperamos, y preguntándonos si queremos abortar el proceso. Como ya sabemos que a nosotros nos va a funcionar correctamente, contestamos que no.
Y ahora a esperar, porque el proceso de compilación puede durar mucho.
[editar]

7 opiniones

Una gran guia sin duda para la 2. 6.

Enhorabuena es una gran guia!!. Por fin he entendido lo que hacen los comandos a diferencia de otras guias!.
¿borrar /linux?.

¿por qué dices al final:
ahora, y por seguridad, borramos el enlace que habíamos creado:

bash:/usr/src$ sudo rm -r linux
?

y otra cosa: ¿no es necesario crear el. Deb de los headers, además del de image?.
Muy buena guía. Clara y concisa.

Aunque tuve mi acercamiento a sistemas unix hace años y más tarde a linux, había olvidado mucho sobre este so. Ahora que me he puesto de nuevo con linux para meterme de lleno con él, esta guía me ha ayudado con un paso fundamental que necesitaba para compilar el kernel (uso kubuntu v. 7. 04 / feisty). En muchas guías obvian estas órdenes:

sudo apt-get install libncurses5-dev

sudo apt-get install libqt3-dev

y claro, sin la primera de ellas, no me estaba siendo posible crear el paquete del kernel. Muchas gracias al autor de esta guía.
Configurar el kernel.

Si quieres configurar los modulos del kernel :

>sudo make menuconfig

por entorno "gráfico".
Como compilar el kernel en ubuntu.

Quisiera saber como depuramos,compilamos y corremos un programa en c++, en ubuntu. Soy novato en esto, y quisiera que ustedes me ayudaran. Gracias... Respecto al curso me parece bastante bueno.
1 2 | siguiente >

Tutoriales relacionados con 'Cómo compilar el kernel en Ubuntu'

La compilación del kernel se hace a la manera Debian, es decir, con herramientas propias... Más »
Debian es el nombre de una organización dedicada al desarrollo y mantenimiento de sistemas operativos... Más »
Este es un curso sin ninguna relevancia. Pretende ser una pequeña introducción para todos mis... Más »

Autor y licencia de 'Cómo compilar el kernel en Ubuntu'


Tutorial de Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=324 CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.