19
Cómo compilar el núcleo (kernel) de GNU/Linux en CentOS. Autor: Joel Barrios Dueñas Correo electrónico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: [email protected] Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1 © 1999-2008 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano . La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos. Introducción. Una de las grandes ventajas de que el núcleo (kernel) GNU/Linux sea equipamiento lógico libre (Software Libre) es el poder descargar el código fuente del núcleo, configurar éste para compilar específicamente con opciones adecuadas a necesidades particulares o con controladores específicos para un sustento físico (hardware) en particular, compilarlo y obtener como resultado mejoras en el desempeño. La gran variedad de distribuciones de GNU/Linux instalan un núcleo (kernel) que fue configurado y compilado con opciones genéricas y que permiten utilizar éste en una gran variedad de dispositivos y computadoras. Esto facilita la vida a los desarrolladores y empaquetadores que trabajan para cada distribución pues de esta forma con cuatro o cinco versiones del paquete de núcleo abarcan la mayoría de los sustentos físicos en el mercado. Ésto elimina la necesidad de los usuarios por compilar el núcleo. Por mencionar un ejemplo, el paquete del núcleo de CentOS 5 y Red Hat Enteprise Linux 5 que se distribuye para arquitecturas i686 incluye opciones y optimizaciones genéricas que permiten utilizar un mismo paquete RPM del núcleo para una amplia variedad de sistemas. Éste incluye

Cómo Compilar El Núcleo Linux

Embed Size (px)

DESCRIPTION

Cómo Compilar El Núcleo Linux

Citation preview

Cmo compilar el ncleo (kernel) de GNU/Linux en CentOS.

Autor:Joel Barrios DueasCorreo electrnico:darkshram en gmail punto com

Sitio de Red:http://www.alcancelibre.org/Jabber ID:[email protected]

Creative CommonsReconocimiento-NoComercial-CompartirIgual 2.1

1999-2008 Joel Barrios Dueas. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales(incluyendo su publicacin, a travs de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legtimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa encastellano. La informacin contenida en este documento y los derivados de ste se proporcionan tal cual son y los autores no asumirn responsabilidad alguna si el usuario o lector hace mal uso de stos.

Introduccin.

Una de las grandes ventajas de que el ncleo (kernel)GNU/Linuxsea equipamiento lgico libre (Software Libre) es el poder descargar el cdigo fuente del ncleo, configurar ste para compilar especficamente con opciones adecuadas a necesidades particulares o con controladores especficos para un sustento fsico (hardware) en particular, compilarlo y obtener como resultado mejoras en el desempeo.

La gran variedad de distribuciones deGNU/Linuxinstalan un ncleo (kernel) que fue configurado y compilado con opciones genricas y que permiten utilizar ste en una gran variedad de dispositivos y computadoras. Esto facilita la vida a los desarrolladores y empaquetadores que trabajan para cada distribucin pues de esta forma con cuatro o cinco versiones del paquete de ncleo abarcan la mayora de los sustentos fsicos en el mercado. sto elimina la necesidad de los usuarios por compilar el ncleo.

Por mencionar un ejemplo, el paquete del ncleo deCentOS 5yRed Hat Enteprise Linux 5que se distribuye para arquitecturasi686incluye opciones y optimizaciones genricas que permiten utilizar un mismo paqueteRPMdel ncleo para una amplia variedad de sistemas. ste incluye el soporte para ser utilizado con microprocesadores comoPentium Pro,Pentium II,Pentium III,Pentium 4,Pentium M,Celeron,Athlon,Duron,Cyrixi686, etc. Evidentemente este soporte genrico impide poder explotar todo el potencial e instrucciones de un modelo de microprocesador en particular.

Un ejemplo del porque conviene recompilar el ncleo.

Si, por ejemplo, se dispone una computadora porttil (Laptop)Compaq Armada M300con microprocesadorPentium III(Coppermine) de 500 MHz, con320 MB RAM, circuitos integradosIntel PIIX4, tarjeta de audioESS Technology ES1978, tarjeta de redEthernet Pro 100y otros ciertos dispositivos en particular, el ncleo genrico incluido en la instalacin funcionar bien, pero se tendr un desempeo inferior. Configurar y compilar el ncleo especficamente para las caractersticas de este modelo de computadora porttil, excluyendo de la configuracin funciones que jams se utilizarn en este sistema, mejorar su desempeo significativamente.

En sistemas caseros y computadoras porttiles con cierta antigedad, pueden excluirse funciones como el soporte para ms de 4 GB de RAM, soporte genrico para arquitecturaix86, soporte para otros modelos de computadoras porttiles, soporte para ms de un microprocesador, soporte paraIPv6y otras opciones que solo seran tiles en otro tipo de sistemas como servidores.

Puede agregarse soporte para ms perifricos, como por ejemplo ms dispositivosUSBy compilar algunos controladores (cmo el soporte paraLVM) dentro del ncleo en lugar de hacerlo como mdulos a fin de mejorar el desempeo durante el arranque del sistema.

En un servidor se puede mejorar mucho el desempeo configurando y compilando exclusivamente las opciones y mdulos especficos para la configuracin de sustento fsico (hardware) y funciones requeridas para los servicios a brindar.

Procedimientos.

Determinar el sustento fsico y controladores.

Este procedimiento es complicado e implica contar con un cierta experiencia y conocimientos generales acerca del sustento fsico (hardware).

Mdulos utilizados por el sistema.

Utilizando el mandatolsmodes posible determinar que controladores se estn utilizando en el sistema. Esta lista de controladores debe tomarse muy en cuenta a fin de evitar excluir alguno de stos. Utilice el mandato de la siguiente forma:

/sbin/lsmod

Lo anterior puede devolver una salida similar a la siguiente, que depender del sustento fsico del sistema:

Module Size Used by

nls_utf8 1888 1

vfat 12768 1

fat 50268 1 vfat

sg 35536 0

sd_mod 28112 2

usb_storage 46848 1

scsi_mod 148044 3 sg,sd_mod,usb_storage

i2c_dev 7492 0

dm_multipath 18856 0

backlight 5220 0

snd_es1968 28192 1

gameport 13608 1 snd_es1968

snd_ac97_codec 97760 1 snd_es1968

ac97_bus 1728 1 snd_ac97_codec

snd_seq_dummy 3556 0

snd_seq_oss 30976 0

snd_seq_midi_event 7008 1 snd_seq_oss

snd_seq 47856 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event

snd_pcm_oss 41184 0

snd_mixer_oss 16192 1 snd_pcm_oss

battery 12932 0

ac 5796 0

snd_pcm 72168 3 snd_es1968,snd_ac97_codec,snd_pcm_oss

button 7984 0

parport_pc 27524 0

snd_timer 22148 2 snd_seq,snd_pcm

snd_page_alloc 10216 2 snd_es1968,snd_pcm

parport 35400 1 parport_pc

snd_mpu401_uart 7872 1 snd_es1968

snd_rawmidi 23392 1 snd_mpu401_uart

joydev 11232 0

snd_seq_device 8044 4 snd_seq_dummy,snd_seq_oss,snd_seq,snd_rawmidi

snd 52068 13 snd_es1968,snd_ac97_codec,snd_seq_oss,snd_seq,

snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,

snd_mpu401_uart,snd_rawmidi,snd_seq_device

e100 34220 0

soundcore 7264 1 snd

mii 5440 1 e100

i2c_piix4 8780 0

pcspkr 2624 0

i2c_core 24432 2 i2c_dev,i2c_piix4

serio_raw 6500 0

floppy 55652 0

dm_snapshot 17472 0

dm_zero 1920 0

dm_mirror 25568 0

ext3 132488 2

jbd 42100 1 ext3

uhci_hcd 23696 0

ohci_hcd 22916 0

ehci_hcd 33740 0

Tipo de microprocesador.

La informacin del microprocesador se puede consultar leyendo el contenido del archivo virtual/proc/cpuinfoutilizando el mandatolessdel siguiente modo:

less /proc/cpuinfo

Lo anterior puede devolver una salida similar a la siguiente, que depender del tipo de microprocesador del que se disponga:

processor: 0vendor_id: GenuineIntelcpu family: 6model: 8model name: Pentium III (Coppermine)stepping: 3cpu MHz: 498.164cache size: 256 KBfdiv_bug: nohlt_bug: nof00f_bug: nocoma_bug: nofpu: yesfpu_exception: yescpuid level: 2wp: yesflags: fpu vme de pse tsc msr pae mce cx8 sepmtrr pge mca cmov pat pse36 mmx fxsr ssebogomips: 996.86clflush size: 32

Dispositivos PCI.

El mandatolspcipermite determinar los dispositivosPCI(PeripheralComponentInterconnect o Interconexin de Componentes Perifricos) presentes en el sistema.

/sbin/lspci

Lo anterior puede devolver una salida similar a la siguiente, que depender de los dispositivosPCIde los que que se disponga:

00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge(AGP disabled) (rev 03)00:04.0 CardBus bridge: Texas Instruments PCI121100:05.0 VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro (rev dc)00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)00:08.0 Multimedia audio controller: ESS Technology ES1978 Maestro 2E (rev 10)00:09.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 09)00:09.1 Serial controller: Agere Systems LT WinModem01:00.0 Ethernet controller: 3Com Corporation 3CRPAG175 Wireless PC Card (rev 01)

Dispositivos USB.

De manera similar al mandatolspci, el mandatolsusbpermite determinar los dispositivosUSB(UniversalSerialBus o Transporte Universal en Serie) presentes en el sistema. Conecte a las ranurasUSBdel sistema los dispositivosUSBms frecuentemente utilizados y utilice el mandatolsusb.

/sbin/lsusb

Lo anterior puede devolver una salida similar a la siguiente, que depender del tipo de dispositivosUSBde los que se disponga:

Bus 001 Device 005: ID 0457:0151 Silicon Integrated Systems Corp. Super Flash1GB / GXT 64MB Flash DriveBus 001 Device 004: ID 05ac:0201 Apple, Inc. USB Keyboard [Alps or Logitech,M2452]Bus 001 Device 003: ID 05ac:1001 Apple, Inc. Keyboard Hub [ALPS]Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Instalacin el equipamiento lgico necesario.

ParaCentOS, a fin de disponer de los paquetesRPMde fuentes, se debe configurar primero los depsitosyumde los paquetesRPMfuentes (.src.rpm) como elnuevoarchivo/etc/yum.repos.d/CentOS-Sources.repo, con el siguiente contenido:

#source packages[sources]name=CentOS-$releasever - Sourcesbaseurl=http://mirror.centos.org/centos/$releasever/os/SRPMS/gpgcheck=1enabled=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5#source packages[sources-updates]name=CentOS-$releasever - Sources Updatesbaseurl=http://mirror.centos.org/centos/5/updates/SRPMS/gpgcheck=1enabled=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

Al terminar se contina con la instalacin de los paquetesRPMbinarios de el compiladorgcc, cabeceras de desarrollo para el lenguaje de programacinC, paquete de desarrollo dencurses, para construir la herramienta de configuracin del ncleo y el paquete para creacin de paqueteraRPM:

yum -y install gcc glibc-devel ncurses-devel rpm-build

Si se va a utilizar la herramienta de configuracin grficos, hay que instalar adems los paquetesqt-develygcc-c++del siguiente modo:

yum -y install qt-devel gcc-c++

Obtener el cdigo fuente del ncleo.

A partir de los depsitos de la distribucin utilizada.

Utilizar el paquete fuente de la distribucin deGNU/Linuxutilizada garantiza que se utilizar la misma versin oficial de ncleo para produccin del distribuidor, la cual seguramente incluye parches especficos para funcionar con la instalacin de esa distribucin deGNU/Linux. Esto garantiza que se mantendr la compatibilidad de losAPI(ApplicationProgrammingInterface o Interfaz de Programacin de Aplicaciones) requeridos por aplicaciones de terceros.

Primero se instala el paqueteyum-utilsde la siguiente forma:

yum -y install yum-utils

El paqueteyum-utilsincluye la herramientayumdownloader, misma que se utilizar para descargar el paquete fuente del paqueteRPMdel kernel, del siguiente modo:

yumdownloader --source kernel

Suponiendo que se tiene instalado el paquete del ncleo denominadokernel-2.6.18-92.1.6.el5, lo anterior descargara desde los depsitos de equipamiento lgico en Internet el paquetekernel-2.6.18-92.1.6.el5.src.rpmdentro del directorio de trabajo actual.

Se procede a instalar el paquete fuentekernel-2.6.18-92.1.6.el5.src.rpmde la siguiente forma:

rpm -ivh kernel-*.src.rpm

Esto instalar los fuentes y parches para el ncleo en el directorio/usr/src/redhat/SOURCES/y el archivo de especificacin para construir el paquete binarioRPMcomo/usr/src/redhat/SPECS/kernel-2.6.spec.

Para poder utilizar el cdigo fuente, hay que descomprimir y aplicar los parches incluidos por el distribuidor. Esto se consigue utilizando el mandatorpmbuildcon las opciones -bpy--target=[arquitectura], donde[arquitectura]representa la arquitectura genrica del microprocesador. En el caso deCentOS 5, estn disponibles las configuraciones genricas parai586,i686,x86_64,ia64,ppc,ppc64,s390ys390xy las variantesi686-PAE, para equipos ,i686-xen,ia64-xenyx86_64-xen, para utilizar las funciones deXenque permiten utilizar paravirtualizacin.

Las opciones-bpinician parcialmente el la construccin del paquete (build) pero solo hasta la seccin%prep(preparativos) del archivo de especificacin, lo que significa que se descomprimir el fuente del ncleo y se aplicarn los parches.

Se debe acceder al directorio/usr/src/redhat/SPECS/.

cd /usr/src/redhat/SPECS/

Posteriormente se procede a descomprimir fuentes y aplicar parches. La opcin--target=i686se utilizar en ejemplo a continuacin para que se instale un archivo previamente configurado conopciones genricaspara la arquitecturai686.

rpmbuild -bp --target=i686 kernel-2.6.spec

Considerando en el ejemplo que se instal el paquete fuenteRPMkernel-2.6.18-92.1.6.el5.src.rpm, solo resta es acceder al directorio/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/para configurar las opciones que se utilizarn.

cd ../BUILD/kernel-2.6.18/linux-2.6.18.i686/

Dentro del paqueteRPMse incluyen varios archivos con configuraciones genricas de acuerdo a la arquitectura, los cuales se instalan dentro del directorio/usr/src/redhat/SOURCES/. Uno de estos archivos se selecciona y copia automticamente dentro del directorio/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/cuando se define la arquitectura con la opcin--targetdel mandatorpmbuild.

kernel-2.6.18-i586.config

Configuracin genrica para arquitecturai586(Pentium, Pentium MMX, AMD K5, AMD K6, AMD K6 II, AMD K6 III).

kernel-2.6.18-i686.config

Configuracin genrica para arquitecturai686(Pentium Pro, Pentium II, Pentium III, Pentium 4, Pentium M, Xeon, Celeron, AMD K7, AMD Athlon XP, AMD Duron).

kernel-2.6.18-i686-debug.config

Configuracin genrica para arquitecturai686, con opciones de depuracin. Solo recomendado para desarrolladores y escenarios donde se requiere diagnstico.

kernel-2.6.18-i686-PAE.config

Configuracin genrica para arquitecturai686, con soportePAE(PhysicalAddressExtension) que aade capacidades para utilizar mayor espacio de intercambio (swapspace). Utilizado en sistemas con ms de 4 GB de RAM.

kernel-2.6.18-i686-xen.config

Configuracin genrica para arquitecturaia64(Intel Itanium), con soporte para Xen. Permite utilizar paravirtualizacin a travs de Xen.

kernel-2.6.18-ia64.config

Configuracin genrica para arquitecturaia64.

kernel-2.6.18-ia64-debug.config

Configuracin genrica para arquitecturaia64, con opciones de depuracin. Solo recomendado para desarrolladores y escenarios donde se requiere diagnstico.

kernel-2.6.18-ia64-xen.config

Configuracin genrica para arquitecturaia64, con soporte para Xen. Permite utilizar paravirtualizacin a travs de Xen.

kernel-2.6.18-ppc64.config

Configuracin genrica para arquitecturaPPCde 64 bit (G5).

kernel-2.6.18-ppc64-debug.config

Configuracin genrica para arquitecturaPPCde 64 bit, con opciones de depuracin. Solo recomendado para desarrolladores y escenarios donde se requiere diagnstico.

kernel-2.6.18-ppc.config

Configuracin genrica para arquitecturaPPCde 32 bit (G3 y G4).

kernel-2.6.18-ppc-smp.config

Configuracin genrica para arquitecturaPPCde 32 bit, con soporte de Multi-Procesamiento Simtrico (SMP).

kernel-2.6.18-s390.config

Configuracin genrica para arquitecturas390.

kernel-2.6.18-s390x.config

Configuracin genrica para arquitecturas390x.

kernel-2.6.18-s390x-debug.config

Configuracin genrica para arquitecturas390, con opciones de depuracin. Solo recomendado para desarrolladores y escenarios donde se requiere diagnstico.

kernel-2.6.18-x86_64.config

Configuracin genrica para arquitecturax86_64(AMD K8, AMD Athlon 64, AMD Opteron).

kernel-2.6.18-x86_64-debug.config

Configuracin genrica para arquitecturax86_64, con opciones de depuracin. Solo recomendado para desarrolladores y escenarios donde se requiere diagnstico.

kernel-2.6.18-x86_64-xen.config

Configuracin genrica para arquitecturax86_64, con soporte para Xen. Permite utilizar paravirtualizacin a travs de Xen.

Descargar desde kernel.org

La principal ventaja de descargar el ncleo desdekernel.orges que se contar con la ms reciente versin, mejoras y ms dispositivos soportados. El inconveniente es que puede perderse la estandarizacin con la distribucin utilizada o bien la compatibilidad con algunas aplicaciones de terceros que dependen directa o indirectamente de una versin en particular del ncleo o unAPIincluido en alguna versin en particular del ncleo.

Se accede haciahttp://www.kernel.org/y se descarga, desde la parte inferior de la portada del sitio, la versin ms reciente del ncleo.

wget \

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.10.tar.bz2

Lo anterior descargar el paquetelinux-2.6.25.10.tar.bz2.

Se procede a descomprimirlinux-2.6.25.10.tar.bz2utilizando lo siguiente:

tar jxvf linux-2.6.25.10.tar.bz2

Lo anterior descomprimir el contenido en un directorio denominadolinux-2.6.25.10. Solo resta es acceder hacia este directorio para configurar las opciones que se utilizarn.

cd linux-2.6.25.10

Configuracin del ncleo.

Se puede utilizar el mandatomakecon la opcinconfigde la siguiente forma:

make config

El inconveniente de sto es que se tendr que responder una a una cada una de las opciones del ncleo. Solo se recomienda para usuario muy experimentados.

Se puede utilizar el mandatomakecon la opcinmenuconfig dela siguiente forma:

make menuconfig

Lo anterior compilar y ejecutar una interfaz hecha enncursesque permitir examinar el rbol de opciones y habilitar y deshabilitar de una forma ms amistosa, pues cada opcin incluye una ayuda que explica para que sirve y si es seguro incluirla, compilarla como mdulo o excluirla.

En general, se puede empezar excluyendo las optimizaciones genricas y funciones que nunca se utilizarn en el sistema como el multiprocesamiento simtrico y soporte para ms de 4 GB de RAM.

Y luego seleccionado el tipo exacto de microprocesador y excluir las funciones genricas.

Pueden habilitarse o excluirse funciones y mdulos, de acuerdo a las necesidades y el sustento fsico determinado previamente con los mandatoslsmod,lspciylsusb, en el resto de las opciones del rbol de configuracin demenuconfig.

En general se puede compilar dentro del ncleo lo siguiente:

Controladores para dispositivos integrados en la tarjeta madre que sean de uso continuo.

Controladores de dispositivos de uso continuo, como controladores de disco y transportes (buses)SCSI(SmallComputersSystemInterface o Sistema de Interfaz para Pequeas Computadoras),ATA(AdvancedTechnologyAttachment),PATA(ParallelAdvancedTechnologyAttachment),SATA(SerialAdvancedTechnologyAttachment),RAID(RedundantArray ofInexpensiveDisks o conjunto redundante de discos independientes), etc.

Soporte deLVM(LogicalVolumeManager o Gestor de Volmenes Lgicos).

Controladores para sistemas de archivos (ext3).

En general se debe evitar incluir dentro del kernel y solo compilar como mdulo lo siguiente:

Controladores de dispositivos perifricos (como los controladores para cmaras digitales).

Controladores para cualquier dispositivo que se pueda remover del sistema (es decir dispositivosUSB,Firewire,Bluetotooth, etc.).

Controladores de dispositivos que se intercambien con frecuencia.

La regla general esmantener el ncleo lo ms pequeo posibley evitar incluir dentro de ste demasiados controladores. Si se compila un controlador dentro del ncleo y el dispositivo es retirado del sistema o ste sufre algn tipo de dao que afecte su funcionamiento, el ncleo puede sufrir conflictos con el resto de los controladores o bien sufrir un fallo. Es preferible compilar como mdulos los controladores de todo aquello que se pueda remover del sistema, incluyendo los dispositivos que utilicen ranurasPCI.

Al terminar de configurar lo anterior, simplemente se sale demenuconfigpara guardar los cambios.

Compilacin del ncleo.

La compilacin se inicia utilizando el mandatomake.

make

Instalacin del ncleo.

Despus de varios minutos, dependiendo de la capacidad del sistema, se procede a instalar primero los mdulos:

make modules_install

Al concluir el procedimiento, se instala el ncleo.

make install

Lo anterior instalar el ncleo en el directorio/boot, crear el archivosystem.mapcorrespondiente, crear la imagen del disco RAM correspondiente y aadir una entrada en el archivo/boot/grub/grub.conf, respetando los ncleos previamente instalados al colocarse como opcin de arranque secundaria.

Simplemente reinicie y pruebe el nuevo ncleo. Si todo parece funcionar correctamente, puede editar el archivo/boot/grub/grub.confy colocar el nuevo ncleo como predeterminado.

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,0)

# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00

# initrd /initrd-version.img

#boot=/dev/hda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.25.10)

root (hd0,0)

kernel /vmlinuz-2.6.25.10 ro root=/dev/VolGroup00/LogVol00

initrd /initrd-2.6.25.10.img

title CentOS (2.6.18-92.1.6.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-92.1.6.el5 ro root=/dev/VolGroup00/LogVol00

initrd /initrd-2.6.18-92.1.6.el5.img

NOTA:Es muy importante siempre conservar una copia del ncleo que viene con la distribucin utilizada en caso de presentarse problemas.

Creando paquete RPM.

Se puede crear un paqueteRPMa partir de los binarios recin compilados. Acceda de nuevo hacia el directorio del ncleo recin compilado y utilice el mandatomakecon la opcinbinrpm-pkgde la siguiente forma:

make binrpm-pkg

Si desea crear un paqueteRPMcompilando todo de nuevo, puede utilizar el mandatomakecon la opcinrpm-pkgde la siguiente forma:

make rpm-pkg

La instalacin del paquete resultante se realiza utilizando el mandatorpmcon las opciones-ivh(instalar, descriptivo y mostrar barra de progreso), a fin de que se mantengan instalados los paquetes del ncleo existentes en el sistema y estos coexistan, permitiendo elegir con cual iniciar el sistema desde el arranque conGrub.

rpm -ivh /usr/src/redhat/RPMS/i386/kernel-2.25.10-2.i386.rpm

Lo anterior instalar el paqueteRPMdel ncleo recin creado, sin afectar a otras versiones de paquetes del ncleo que estn previamente instaladas. Al terminar, solo ser necesario eligir desdeGrubel ncelo con el cual se iniciar el sistema.

Grub version 0.97 (639K lower / 261056K upper memory) _________________________________________________________________ |CentOS (2.6.25.10) | |CentOS (2.6.18-92.1.6.el5) | |CentOS (2.6.18-92.1.1.el5) | | | | | | | | | | | | | | | | | |________________________________________________________________| Use the and the to select which entry is highlighted. Press enter to boot the selected OS or 'p' to enter a password to unlock the next set of features.