Páginas

sábado, 9 de mayo de 2009

Compilar kernel de GNU-Linux 2.6

Compilar kernel Linux 2.6

Autor: nixcraft (http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html)

Compilar el kernel tiene sus propias ventajas y desventajas. Sin embargo, para los nuevos usuarios de Linux-Admin es difícil compilar el kernel de Linux. En la Compilación del kernel es necesario entender algunas cosas antes de escribir los comandos. Este paso a paso se refiere a la compilación del núcleo de Linux versión 2.6.xx en Debian GNU-Linux aunque las instrucciones siguen siendo las mismas para cualquier otra distribución con excepción del comando apt-get.

. Descargue el codigo fuente del kernel Linux

Visite http://kernel.org/ y descargue el código fuente. El nombre del archivo sería linux-x.y.z.tar.bz2, donde x.y.z es el número de versión real. Un ejemplo seria el archivo linux-2.6.26.tar.bz2 representa la versión 2.6.26 del núcleo. Una alternativa seria utilizar el comando wget para descargar el código fuente del kernel. Nos movemos al directorio temporal:

$ cd /tmp
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-x.y.z-tar.bz2

Reemplace xyz con el número de versión real.

Extraer tar (.tar.bz2) archivo

Con el siguiente comando (donde -C significa cambiar a directorio dir):
# tar -xjvf linux-2.6.26.tar.bz2 -C /usr/src
# cd /usr/src

Configuración del kernel

Antes de configurar el kernel asegúrese de tener las herramientas de desarrollo (compiladores gcc y herramientas relacionadas) instaladas en su sistema. Si el compilador gcc no esta instalado, utilice apt-get en Debian Linux para instalar las herramientas de desarrollo.

# apt-get install gcc

Es posible que tambien necesite instalar los paquetes:
# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential udev devhelp

Ahora puede comenzar la configuración del kernel escribiendo uno de los comandos:

* $ make menuconfig - Texto basado en los menús de color, radiolists y diálogos. Esta opción también es útil en el servidor remoto si quiere compilar el núcleo a distancia.
* $ make xconfig - X ventanas (Qt), basada en la herramienta de configuración, funciona mejor en virtud de escritorio KDE
* $ make gconfig - X ventanas (Gtk), basada en la herramienta de configuración, que funciona mejor bajo Gnome Escritorio.

Por ejemplo comando make menuconfig lanza la siguiente pantalla:
$ make menuconfig








Tiene que seleccionar diferentes opciones según su necesidad. Cada opción de configuración tiene un boton de HELP asociado con el fin de obtener ayuda.

. Compilar el núcleo

Comienza la compilación para crear una imagen comprimida del kernal, escriba:
$ make

Compilando los módulos del kernel:
$ make modules

Instalar módulos del núcleo (conviertase en un usuario root, utilice su comando):
$ su -
# make modules_install

Instalación del kernel.

Hasta ahora hemos compilado el núcleo y los módulos del kernel instalado. LLego el momento de instalar el núcleo en sí.
# make install

Se van a instalar tres archivos en el directorio de arranque /boot, así como el archivo de configuración de grub del kernel modificado:

* System.map-2.6.26
* config-2.6.26
* vmlinuz-2.6.26

. Crear una image initrd

Teclee el siguiente comando en el intérprete de comandos:
# cd /boot
# mkinitrd -o initrd.img-2.6.26 2.6.26
# mkinitrd -o initrd.img-2.6.26 2.6.26

initrd image contiene controladores de dispositivos necesarios para cargar el resto del sistema operativo más adelante. No todas las computadoras requieren los initrd, pero es seguro para crear uno.

. Modificar el archivo de configuración del cargador de arranque /boot/grub/ menu.lst

Abra el archivo con vi (nano, gedit, etc.):
# vi /boot/grub/menu.lst

title Debian GNU/Linux, kernel 2.6.26 Default
root (hd0,2)
kernel /boot/vmlinuz-2.6.26 root=/dev/sda3 ro
initrd /boot/initrd.img-2.6.26
savedefault
boot

Recuerde utilizar la configuración correcta del dispositivo, root=/dev/sdxx. Guarde y cierre el archivo. Si usted cree que la edición y la escritura a mano todas las líneas es demasiado para usted, pruebe update-grub comando para actualizar las líneas para cada núcleo en /boot/grub/menu.lst. Sera suficiente con escribir el comando:
# update-grub

# reboot

No hay comentarios:

Publicar un comentario