SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Cómo compilar el kernel Linux en Ubuntu,
    Fedora, y otras.....     10/11/2010| por Claudio Concepcion|

Cuando mencionamos la palabra “kernel” es imposible no pensar en Linux. Y es que GNU/Linux
es el sistema operativo que realmente le ha dado gran popularidad a este término.




A él le debemos que hayamos llegado tan profundo en la informática verdadera (en la que se sabe
ciertamente cómo se maneja la información en su más bajo nivel). En la actualidad no es tan
recurrente que necesitemos compilar un kernel, aunque tiempo atrás si lo era. Hoy día esto se
hace por alguna necesidad específica o por el simple hecho de aprender cómo se hace.
Entre las razones existentes para compilar un kernel tenemos:
    • Eres un desarrollador del kernel.
    • Necesitas compilar un kernel con alguna característica especial que un kernel oficial de tu
      distro no tiene.
    • Te estás preparando para corregir un bug en el kernel oficial de tu distro.
    • Tienes hardware que el kernel oficial de tu distro no soporta.
Existen muchas maneras de compilar el kernel (casi una por cada distribución). Esto significa
que para cada distro, ya sea basada en Red Hat, Debian o Slackware, debemos documentarnos muy
bien antes de comenzar tan importante tarea, porque si se nos queda algún módulo excluido o
incluido sin necesidad podría generar conflictos e incluso no funcionar correctamente.
Todo el proceso se puede resumir en los siguientes pasos generales para todas las distros:
    1. Obtener las fuentes del kernel.
    2. Instalar las herramientas necesarias para la compilación (gcc, build-essentials, etc.).
    3. Descomprimir las fuentes del kernel en /usr/src/
    4. Configurar el kernel (ej. make menuconfig).
    5. Compilar (make), compilar los módulos (make modules), instalar los módulos, (make
       modules_install).
    6. Instalar el kernel compilado (make install).
    7. Crear la imagen (initrd) para el nuevo kernel y ajustar grub para que la encuentre.
Este proceso puede ser una excelente manera de ajustar nuestro sistema para que soporte nuevo
hardware o para hacerlo más liviano quitando, cuidadosamente, módulos que no utilizaremos. De
cualquier manera es recomendable que aparte de esta guía busques la ayuda de personas más
experimentadas si tienes una buena razón para hacerlo, aún si lo haces por puro placer o
aprendizaje.
A continuación veremos cómo compilarlo en algunas distribuciones más usadas.


Compilar el Kernel en Fedora/CentOS y otras derivadas

Paso 1: Instalar algunos dependencias o prerequisitos
su -c 'yum groupinstall “Development Tools”'su -c 'yum install ncurses-devel qt-
devel unifdef'

Paso 2: Descargar las fuentes de kernel.org del estable más reciente (2.6.36)
cd /tmpwget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2

Paso 3: Descomprimir las fuentes.
mkdir /usr/src/linuxtar -xjvf linux-2.6.36.tar.bz2 /usr/src/linuxcd
/usr/src/linux

Paso 4: Configurar el Kernel.
Hay varias formar de hacer la configuración que querramos:
    • make menuconfig: Menú basado en texto y diálogos a colores.
    • make xconfig: Gráfico (Qt), de uso preferible en KDE.
    • make gconfig: Gráfico (Gtk), de uso preferible en Gnome.
Paso 5: Compilar el Kernel.
Compilar para crear una imagen comprimida del Kernel
make

Compilar los módulos del Kernel
make modules

Instalar los módulos
make modules_install

Paso 6: Instalar el Kernel
make install

Paso 7: Modificar grub para que asuma el nuevo Kernel.
nano /boot/grub/grub.conf

Y una vez en el editor, escribir lo siguiente (suponiendo que la partición del sistema es (hd0,0), es
decir, la primera de todas y que además está en el primer disco duro. En caso de que este no sea tu
escenario, debes cambiar convenientemente ese parámetro. así como los parámetros VolGroup00 y
LogVol00, como detallan aquí).
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.35.4)
     root (hd0,0)
     kernel /vmlinuz-2.6.35.4 ro root=/dev/VolGroup00/LogVol00
     initrd /initrd-2.6.35.4.img
title CentOS (2.6.36)
     root (hd0,0)
     kernel /vmlinuz-2.6.36 ro root=/dev/VolGroup00/LogVol00
     initrd /initrd-2.6.36.img
Y finalmente reiniciamos
shutdown -r now


Compilar el Kernel en Debian/Ubuntu




Paso 1: Instalar algunos dependencias o prerequisitos:
sudo apt-get install build-essential gcc libncurses5-dev

Paso 2: Descargar las fuentes de kernel.org del estable más reciente (2.6.36. )
cd /tmpwget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2

Paso 3: Descomprimir las fuentes.
mkdir /usr/src/linuxtar -xjvf linux-2.6.36.tar.bz2 /usr/src/linuxcd
/usr/src/linux

Paso 4: Configurar el Kernel.
Hay varias formar de hacer la configuración que querramos:
    • make menuconfig: Menú basado en texto y diálogos a colores.
    • make xconfig: Gráfico (Qt), de uso preferible en KDE.
    • make gconfig: Gráfico (Gtk), de uso preferible en Gnome.


Paso 5: Compilar el Kernel.
Compilar para crear una imagen comprimida del Kernel
make

Compilar los módulos del Kernel
make modules
Instalar los módulos
make modules_install

Paso 6: Instalar el Kernel
make install

Paso 7: Crear la imagen initrd.
La imagen initrd contiene los controladores de dispositivos necesarios para cargar el resto del
sistema operativo. No todas las computadoras requieren esto pero no está demás crearla.
cd /bootmkinitrd -o initrd.img-2.6.36 2.6.36

Paso 8: Modificamos grub para que asuma el nuevo Kernel añadiendo lo siguiente.
nano /boot/grub/menu.lst

Y una vez en el editor, escribimos lo siguiente (como en el caso anterior, tenemos que tener cuidado
con la partición donde tenemos el sistema y, por tanto, donde tenemos el kernel y demás ficheros
del sistema de arranque)
title               Ubuntu GNU/Linux, kernel 2.6.36 Default
      root              (hd0,0)
      kernel          /boot/vmlinuz root=/dev/hda1 ro
      initrd           /boot/initrd.img-2.6.36
      savedefault
      boot

Otra forma menos delicada de hacer este paso es con un comando que actualiza el archivo menu.lst
y lo ajusta de forma automática.
update-grub

Y finalmente reiniciamos
shutdown -r now

Más contenido relacionado

La actualidad más candente

La actualidad más candente (16)

Clonezilla Server linux
Clonezilla Server linuxClonezilla Server linux
Clonezilla Server linux
 
Guia paso a paso virtual box
Guia paso a paso virtual boxGuia paso a paso virtual box
Guia paso a paso virtual box
 
Conociendo VirtualBox
Conociendo VirtualBoxConociendo VirtualBox
Conociendo VirtualBox
 
462
462462
462
 
VirtualBox
VirtualBoxVirtualBox
VirtualBox
 
ubuntu
ubuntuubuntu
ubuntu
 
Practica3_grub
Practica3_grubPractica3_grub
Practica3_grub
 
Presentación ubuntu
Presentación ubuntuPresentación ubuntu
Presentación ubuntu
 
VirtualBox
VirtualBoxVirtualBox
VirtualBox
 
Gestores de Arranque Grub
Gestores de Arranque GrubGestores de Arranque Grub
Gestores de Arranque Grub
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Trabajo de informatica 2
Trabajo de informatica 2Trabajo de informatica 2
Trabajo de informatica 2
 
Pclinux os
Pclinux osPclinux os
Pclinux os
 
Instalación del sistema operativo diapositivas
Instalación del sistema operativo diapositivasInstalación del sistema operativo diapositivas
Instalación del sistema operativo diapositivas
 
Dn11 u3 a34_cmr
Dn11 u3 a34_cmrDn11 u3 a34_cmr
Dn11 u3 a34_cmr
 
Estado estable en windows 7
Estado estable en windows 7Estado estable en windows 7
Estado estable en windows 7
 

Similar a Cómo compilar el kernel Linux en Ubuntu y Fedora

Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computaciónCheloSF
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computaciónCheloSF
 
Ajustes posteriores a la instalación de cent os 6
Ajustes posteriores a la instalación de cent os 6Ajustes posteriores a la instalación de cent os 6
Ajustes posteriores a la instalación de cent os 6Isaac Gómez M
 
Compilacion del Kernel a la Debian
Compilacion del Kernel a la DebianCompilacion del Kernel a la Debian
Compilacion del Kernel a la DebianStefan Rivera
 
Compilación del Kernel
Compilación del KernelCompilación del Kernel
Compilación del KernelJuan Sánchez
 
Practica3, gestores arranque
Practica3, gestores arranquePractica3, gestores arranque
Practica3, gestores arranqueTiFoN87
 
Knoppixx
KnoppixxKnoppixx
Knoppixxpuka323
 
Manual de instalación de cent os
Manual de instalación de cent osManual de instalación de cent os
Manual de instalación de cent osJonathanFortuna
 
Servidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/LinuxServidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/Linuxfraterneo GNU/Linux
 
Compilar kernel de linux mint 16 cinamon uni rusb 2015
Compilar kernel de linux mint 16 cinamon uni rusb 2015Compilar kernel de linux mint 16 cinamon uni rusb 2015
Compilar kernel de linux mint 16 cinamon uni rusb 2015adictore
 

Similar a Cómo compilar el kernel Linux en Ubuntu y Fedora (20)

Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computación
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computación
 
Debian
DebianDebian
Debian
 
Virtualización con Xen
Virtualización con XenVirtualización con Xen
Virtualización con Xen
 
Practica 3
Practica 3Practica 3
Practica 3
 
Practica 3
Practica 3Practica 3
Practica 3
 
Instalación Knoppix
Instalación KnoppixInstalación Knoppix
Instalación Knoppix
 
Ajustes posteriores a la instalación de cent os 6
Ajustes posteriores a la instalación de cent os 6Ajustes posteriores a la instalación de cent os 6
Ajustes posteriores a la instalación de cent os 6
 
Compilacion del Kernel a la Debian
Compilacion del Kernel a la DebianCompilacion del Kernel a la Debian
Compilacion del Kernel a la Debian
 
Compilación del Kernel
Compilación del KernelCompilación del Kernel
Compilación del Kernel
 
Debian
DebianDebian
Debian
 
Practica3, gestores arranque
Practica3, gestores arranquePractica3, gestores arranque
Practica3, gestores arranque
 
Knoppixx
KnoppixxKnoppixx
Knoppixx
 
Practica 3
Practica 3Practica 3
Practica 3
 
Practica 3
Practica 3Practica 3
Practica 3
 
Manual de instalación de cent os
Manual de instalación de cent osManual de instalación de cent os
Manual de instalación de cent os
 
Despues de instalar fedora 14
Despues de instalar fedora 14Despues de instalar fedora 14
Despues de instalar fedora 14
 
Debian
DebianDebian
Debian
 
Servidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/LinuxServidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/Linux
 
Compilar kernel de linux mint 16 cinamon uni rusb 2015
Compilar kernel de linux mint 16 cinamon uni rusb 2015Compilar kernel de linux mint 16 cinamon uni rusb 2015
Compilar kernel de linux mint 16 cinamon uni rusb 2015
 

Último

Presentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxPresentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxIvnAndres5
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfConstructiva
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfPriscilaBermello
 
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESCULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESMarielaAldanaMoscoso
 
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfguillencuevaadrianal
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESADanielAndresBrand
 
LIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónLIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónBahamondesOscar
 
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptx
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptxINTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptx
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptxRENANRODRIGORAMIREZR
 
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclasesFORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclasesjvalenciama
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxjuanleivagdf
 
el impuesto genera A LAS LAS lasventas IGV
el impuesto genera A LAS  LAS lasventas IGVel impuesto genera A LAS  LAS lasventas IGV
el impuesto genera A LAS LAS lasventas IGVTeresa Rc
 
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfNota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfJUANMANUELLOPEZPEREZ
 
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfPresentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfLuisAlbertoAlvaradoF2
 
Gestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxGestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxignaciomiguel162
 
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfDELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfJaquelinRamos6
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYCarlosAlbertoVillafu3
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzassuperamigo2014
 
Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Gonzalo Morales Esparza
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAOCarlosAlbertoVillafu3
 
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxModelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxedwinrojas836235
 

Último (20)

Presentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxPresentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptx
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdf
 
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESCULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
 
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
 
LIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónLIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de Gestión
 
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptx
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptxINTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptx
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptx
 
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclasesFORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptx
 
el impuesto genera A LAS LAS lasventas IGV
el impuesto genera A LAS  LAS lasventas IGVel impuesto genera A LAS  LAS lasventas IGV
el impuesto genera A LAS LAS lasventas IGV
 
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfNota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
 
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfPresentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
 
Gestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxGestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptx
 
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfDELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzas
 
Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
 
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxModelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
 

Cómo compilar el kernel Linux en Ubuntu y Fedora

  • 1. Cómo compilar el kernel Linux en Ubuntu, Fedora, y otras..... 10/11/2010| por Claudio Concepcion| Cuando mencionamos la palabra “kernel” es imposible no pensar en Linux. Y es que GNU/Linux es el sistema operativo que realmente le ha dado gran popularidad a este término. A él le debemos que hayamos llegado tan profundo en la informática verdadera (en la que se sabe ciertamente cómo se maneja la información en su más bajo nivel). En la actualidad no es tan recurrente que necesitemos compilar un kernel, aunque tiempo atrás si lo era. Hoy día esto se hace por alguna necesidad específica o por el simple hecho de aprender cómo se hace. Entre las razones existentes para compilar un kernel tenemos: • Eres un desarrollador del kernel. • Necesitas compilar un kernel con alguna característica especial que un kernel oficial de tu distro no tiene. • Te estás preparando para corregir un bug en el kernel oficial de tu distro. • Tienes hardware que el kernel oficial de tu distro no soporta. Existen muchas maneras de compilar el kernel (casi una por cada distribución). Esto significa que para cada distro, ya sea basada en Red Hat, Debian o Slackware, debemos documentarnos muy bien antes de comenzar tan importante tarea, porque si se nos queda algún módulo excluido o incluido sin necesidad podría generar conflictos e incluso no funcionar correctamente.
  • 2. Todo el proceso se puede resumir en los siguientes pasos generales para todas las distros: 1. Obtener las fuentes del kernel. 2. Instalar las herramientas necesarias para la compilación (gcc, build-essentials, etc.). 3. Descomprimir las fuentes del kernel en /usr/src/ 4. Configurar el kernel (ej. make menuconfig). 5. Compilar (make), compilar los módulos (make modules), instalar los módulos, (make modules_install). 6. Instalar el kernel compilado (make install). 7. Crear la imagen (initrd) para el nuevo kernel y ajustar grub para que la encuentre. Este proceso puede ser una excelente manera de ajustar nuestro sistema para que soporte nuevo hardware o para hacerlo más liviano quitando, cuidadosamente, módulos que no utilizaremos. De cualquier manera es recomendable que aparte de esta guía busques la ayuda de personas más experimentadas si tienes una buena razón para hacerlo, aún si lo haces por puro placer o aprendizaje. A continuación veremos cómo compilarlo en algunas distribuciones más usadas. Compilar el Kernel en Fedora/CentOS y otras derivadas Paso 1: Instalar algunos dependencias o prerequisitos su -c 'yum groupinstall “Development Tools”'su -c 'yum install ncurses-devel qt- devel unifdef' Paso 2: Descargar las fuentes de kernel.org del estable más reciente (2.6.36) cd /tmpwget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2 Paso 3: Descomprimir las fuentes. mkdir /usr/src/linuxtar -xjvf linux-2.6.36.tar.bz2 /usr/src/linuxcd /usr/src/linux Paso 4: Configurar el Kernel. Hay varias formar de hacer la configuración que querramos: • make menuconfig: Menú basado en texto y diálogos a colores. • make xconfig: Gráfico (Qt), de uso preferible en KDE. • make gconfig: Gráfico (Gtk), de uso preferible en Gnome.
  • 3. Paso 5: Compilar el Kernel. Compilar para crear una imagen comprimida del Kernel make Compilar los módulos del Kernel make modules Instalar los módulos make modules_install Paso 6: Instalar el Kernel make install Paso 7: Modificar grub para que asuma el nuevo Kernel. nano /boot/grub/grub.conf Y una vez en el editor, escribir lo siguiente (suponiendo que la partición del sistema es (hd0,0), es decir, la primera de todas y que además está en el primer disco duro. En caso de que este no sea tu escenario, debes cambiar convenientemente ese parámetro. así como los parámetros VolGroup00 y LogVol00, como detallan aquí). #boot=/dev/sda default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.35.4) root (hd0,0) kernel /vmlinuz-2.6.35.4 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.35.4.img title CentOS (2.6.36) root (hd0,0) kernel /vmlinuz-2.6.36 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.36.img
  • 4. Y finalmente reiniciamos shutdown -r now Compilar el Kernel en Debian/Ubuntu Paso 1: Instalar algunos dependencias o prerequisitos: sudo apt-get install build-essential gcc libncurses5-dev Paso 2: Descargar las fuentes de kernel.org del estable más reciente (2.6.36. ) cd /tmpwget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2 Paso 3: Descomprimir las fuentes. mkdir /usr/src/linuxtar -xjvf linux-2.6.36.tar.bz2 /usr/src/linuxcd /usr/src/linux Paso 4: Configurar el Kernel. Hay varias formar de hacer la configuración que querramos: • make menuconfig: Menú basado en texto y diálogos a colores. • make xconfig: Gráfico (Qt), de uso preferible en KDE. • make gconfig: Gráfico (Gtk), de uso preferible en Gnome. Paso 5: Compilar el Kernel. Compilar para crear una imagen comprimida del Kernel make Compilar los módulos del Kernel make modules
  • 5. Instalar los módulos make modules_install Paso 6: Instalar el Kernel make install Paso 7: Crear la imagen initrd. La imagen initrd contiene los controladores de dispositivos necesarios para cargar el resto del sistema operativo. No todas las computadoras requieren esto pero no está demás crearla. cd /bootmkinitrd -o initrd.img-2.6.36 2.6.36 Paso 8: Modificamos grub para que asuma el nuevo Kernel añadiendo lo siguiente. nano /boot/grub/menu.lst Y una vez en el editor, escribimos lo siguiente (como en el caso anterior, tenemos que tener cuidado con la partición donde tenemos el sistema y, por tanto, donde tenemos el kernel y demás ficheros del sistema de arranque) title Ubuntu GNU/Linux, kernel 2.6.36 Default root (hd0,0) kernel /boot/vmlinuz root=/dev/hda1 ro initrd /boot/initrd.img-2.6.36 savedefault boot Otra forma menos delicada de hacer este paso es con un comando que actualiza el archivo menu.lst y lo ajusta de forma automática. update-grub Y finalmente reiniciamos shutdown -r now