Enviar Respuesta  Enviar Tema 
[guía] Compilar un Kernel en Ubuntu
Autor Mensaje
warp
Q


Mensajes: 2,009
Grupo: Registrado
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 10
Mensaje: #1
[guía] Compilar un Kernel en Ubuntu

GUIA TOMADA DE http://www.ubuntu-es.org/node/5386


He querido realizar esta guía para los usuarios acostumbrados a otras distribuciones y que prefieren, como yo, hacer las cosas de forma más parecida a como lo hacían antes (para que sea menos traumático el cambio de sistema), con pasos más detallados y todo eso. Por tanto vienen comandos que en Ubuntu, como se puede consultar en la otra guía que he mencionado, pueden ser sustituidos por otros y que tal vez podrían simplificar el trabajo y hacerlo más rápido.

No pretendo hacer una guía con la \"mejor\" forma de compilar el núcleo, sino como he dicho una guía para compilar el núcleo \"de una forma distinta\".

Tampoco soy un experto en el asunto, de hecho hay comandos que no comprendo perfectamente qué es lo que hacen, pero estos son los pasos que yo he seguido y me ha funcionado.

1.- Obtener las herramientas necesarias:

apt-get install build-essential kernel-package

2.- Descargar la fuente del Kernel desde Kernel.org, concretamente de: http://www.kernel.org/pub/linux/kernel/v2.6/ .Descárgate un paquete que tenga extensión .gz y que no comience su nombre por patch para descargarte las fuentes del kernel completas.

3.- Cópiala en /usr/src y descomprímela:

cd /usr/src/
tar -xvzf linux-X.Y.ZZ.tar.gz

4.- Crear un enlace simbólico al directorio descomprimido de las fuentes (opcional)

ln -s linux-X.Y.ZZ linux

o

mv linux-X.Y.ZZ linux

5.- Obtener las herramientas para configurar el núcleo

apt-get install libncurses5-dev

6.- Ir al directorio de las fuentes

cd /usr/src/linux-X.Y.ZZ

7.- Ahora puedes coger tu vieja configuración e importarla al nuevo kernel si quieres. Para ello debes copiar el fichero config-A.BB.CC que estés usando (puede haber varios) de /boot a la carpeta /usr/src/linux-X.Y.ZZ que has creado, pero llamándolo .config

cp /boot/config-A.BB.CC /usr/src/linux-X.Y.ZZ/.config

8.- Ejecutar \"make mrproper\" dentro del directorio /usr/src/linux-X.YY.ZZ. No tengo ni idea de para qué sirve, pero venía en la guía de Fedora 1-razz

make mrproper

9.- Ejecutar \"make menuconfig\" o \"make oldconfig menuconfig\" si vas a importar la configuración. En el segundo caso se tomará la configuración antigua para las opciones viejas, y se te preguntará sobre cada una de las nuevas opciones del Kernel. Usa ? para pedir ayuda, y a no ser que sepas bien lo que haces usa la opción por defecto (basta darle a ENTER o mirar cual de las opciones listadas aparece en mayúscula, como por ejemplo Y/n/? o N/y/?

make menuconfig

o

make oldconfig menuconfig

10.- Tomes o no la configuración antigua, ahora te aparecerá el menú en el que puedes revisar las opciones o cambiar alguna más. Cuando termines, asegúrate de que grabas los cambios realizados.

11.- Ejecutar \"make dep\" para crear las dependencias.

make dep

12.- Ejecutar \"make clean\". Esto es poco recomendable si estás cambiando solo un par de opciones sobre un kernel que ya has compilado antes porque tardará muchísimo luego en recompilar todo, ya que borrará todos los .o que ya estuviesen compilados. En definitiva este comando \"borra toda la basura\" según decía la guía de Fedora.

make clean

13.- Ejecutar \"make bzImage\" para crear la imagen del kernel. Tardará un poquillo.

make bzImage

14.- Copiar la imagen del kernel bzImage y los maps al directorio /boot

cp System.map /boot/System.map-X.Y.ZZ-identificador
cd /usr/src/linux-X.YY.ZZ/arch/i386/boot
cp bzImage /boot/vmlinuz-X.Y.ZZ-identificador
cd /usr/src/linux-X.Y.ZZ

Asegúrate que llamas a los archivos en /boot de con una identificación idéntica. Puedes llamarlos por ejemplo, para diferenciar con otros kernels, así:
System.map-2.6.10-nuevo y vmlinuz-2.6.10-nuevo
System.map-2.6.11.3-pruebas y vmlinuz-2.6.11.3-pruebas

15.- Ejecutar \"make modules\" para crear los modulos. Tardará bastante. En en un 400Mhz ha tardado entre 8-10 horas (para Fedora) las distintas veces que lo he ejecutado, mientras que en un 2.8Ghz no habrá tardado ni una hora en Ubuntu.

make modules

16.- Ejecutar \"make modules_install\" para instalar los modulos.

make modules_install

17.- Ejecutar \"mkinitrd -o /boot/initrd.img-X.Y.ZZ-identificador X.Y.ZZ\" que debe coincidir en su identificador con System.map y vmlinuz. Observa que el segúndo parámetro NO lleva el identificador, sino que debe coincidir con el nombre del directorio /lib/modules/X.YY.ZZ que contiene los módulos para tu nuevo kernel.

mkinitrd -o /boot/initrd.img-X.Y.ZZ-identificador X.Y.ZZ

18.- Editar la configuración de grub (o de lilo). La configuración de grub está en /boot/grub/menu.lst. Te bastará copiar uno de los bloques ya existentes y añadirlo al final con las modificaciones pertinentes para que se adapte a tu sistema. Un ejemplo sería:

title Ubuntu, kernel 2.6.11.3-pruebas
root (hd0,2)
kernel /boot/vmlinuz-2.6.11.3-pruebas root=/dev/hda3 ro quiet splash
initrd /boot/initrd.img-2.6.11.3-pruebas
savedefault
boot

Y cuando hayas probado que funciona, podrás cambiar la línea default al valor adecuado para que arranque por defecto en esta nueva configuración. Ten en cuenta que si pones default 3 arrancará la cuarta opción de la lista, ya que default empieza a numerar con el 0.

19.- Ejecutar \"depmod -a\" (de preferencia para actualizar los modulos)

depmod -a

20.- Reiniciar el PC

21.- Disfrutar del nuevo kernel (esperemos que sí) 1-smile


07-16-2005 02:08 AM
Visita el website del usuario Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
Enviar Respuesta  Enviar Tema 

Posibles Temas Similares...
Tema: Autor Respuestas: Vistas: Ultimo Mensaje
  [?] Motorola SM56 Data Fax Modem en ubuntu 8.04 wily001 3 2,195 06-29-2008 02:50 AM
Ultimo Mensaje: p_eter
  [howto] Hacking ubuntu 8.04 p_eter 0 170 06-29-2008 02:47 AM
Ultimo Mensaje: p_eter
  Problema ubuntu! fumana 1 214 03-06-2008 12:46 AM
Ultimo Mensaje: dragonauta
  Ubuntu Linux vs Windows Vista p_eter 0 361 02-10-2008 11:44 PM
Ultimo Mensaje: p_eter

Ver la Versión para Impresión
Mandar este Tema a algún Amigo
Subscríbete a este Tema | Agrega este Tema a Tus Favoritos

Salto de Foro: