1. Parte VI. Configuración del
Kernel y los dispositivos
Los administradores de sistemas pueden sobre los kernels y las distintas maneras de personalizarlo.
Red Hat Enterprise Linux contiene herramientas para asistir a los administradores en las tareas de
personalización.
2. 579
Actualización Manual del Kernel
El kernel que viene junto con Red Hat Enterprise Linux está personalizado por el equipo de desarrollo
del kernel de Red Hat Enterprise Linux para asegurar su integridad y compatibilidad con el hardware
soportado. Antes que Red Hat libere un kernel, este debe pasar un conjunto de evaluaciones
rigurosas para asegurar su calidad.
Los kernels de Red Hat Enterprise Linux se encuentran empacados en un formato RPM para que
seán fáciles de actualizar y verificar utilizando el comando Package Management Tool o yum.
Package Management Tool automáticamente le consulta a los servidores de Red Hat Enterprise
Linux y determina que paquetes deben ser actualizados en su máquina, incluyendo el kernel. Este
capítulo sólo es útil para aquellos individuos que necesitan una actualización manual de los paquetes
del kernel sin utilizar el comando yum.
Aviso
El grupo de soporte de servicios a nivel global de Red Hat no soporta la construcción
de un kernel personalizado y por lo tanto esto no se cubre en este manual.
Tip
Red Hat recomienda la utilización del comando yum para instalar kernel actualizados.
For more information on Red Hat Network, the Pack age Management Tool, and yum, refer to
Capítulo 13, Red Hat Network.
40.1. Descripción general de los Paquetes del Kernel
Red Hat Enterprise Linux contiene los siguientes paquetes del kernel (algunos puede que no se
apliquen a su arquitectura):
• kernel — Contiene el kernel para sistemas multiprocesos. Para el sistema x86 sólamente se
utilizan los primeros 4GB de RAM. Como tal, los sistemas x86 con más de 4GB de RAM deben
utilizar el kernel-PAE.
• kernel-devel — Contiene las cabeceras del kernel y los makefiles suficientes para construir
módulos contra el paquete kernel.
• kernel-PAE (only for i686 systems) — This package offers the following key configuration option
(in addition to the options already enabled for the kernel package):
• PAE (Physical Address Extension) support for systems with more than 4GB of RAM, and reliably
up to 16GB.
3. 580
Descarga
Importante
Physical Address Extension allows x86 processors to address up to 64GB of
physical RAM, but due to differences between the Red Hat Enterprise Linux
4 and 5 kernels, only Red Hat Enterprise Linux 4 (with the kernel-hugemem
package) is able to reliably address all 64GB of memory. Additionally, the Red
Hat Enterprise Linux 5 PAE variant does not allow 4GB of addressable memory
per-process like the Red Hat Enterprise Linux 4 kernel-hugemem variant does.
However, the x86_64 kernel does not suffer from any of these limitations, and is
the suggested Red Hat Enterprise Linux 5 architecture to use with large-memory
systems.
• kernel-PAE-devel — Contains the kernel headers and makefiles required to build modules
against the kernel-PAE package.
• kernel-doc — Contiene los archivos de documentación de la fuente del kernel. Varias partes del
kernel de Linux y los controladores de dispositivos enviados con este se encuentran documentados
en estos archivos. La instalación de este paquete proporciona una referencia de las opciones que
se pueden pasar a la módulos de kernel de Linux al ser cargado.
By default, these files are placed in the /usr/share/doc/kernel-doc-<version>/ directory.
• kernel-headers — Incluye los archivos de cabecera de C que especifican la interfaz entre el
kernel de Linux y las bibliotecas del espacio de usuario y los programas. Los archivos de cabecera
definen estructuras y constantes que se necesitan para construir la mayoría de los programas
estándares.
• kernel-xen — Incluye una versión del kernel de Linux la cual se necesita para ejecutar
Virtualización.
• kernel-xen-devel — Contiene las cabeceras del kernel y los makefiles requeridos para
construir módulos contra el paquete kernel-xen.
Nota
The kernel-source package has been removed and replaced with an RPM that
can only be retrieved from Red Hat Network. This *.src.rpm package must then
be rebuilt locally using the rpmbuild command. For more information on obtaining
and installing the kernel source package, refer to the latest updated Release Notes
(including all updates) at http://www.redhat.com/docs/manuals/enterprise/
40.2. Preparación para la actualización
Antes de actualizar el kernel, tome algunas precauciones. La primera es asegurarse que tiene un
disco de arranque funcional en caso de que se presenten problemas. Si el gestor de arranque no está
configurado apropiadamente para arrancar el nuevo kernel, no será capaz de arrancar su sistemaen
Red Hat Enterprise Linux a menos que tenga un disquete de arranque.
Para crear un disco de arranque, conéctese como usuario root y en el intérprete de comandos ejecute
el comando /sbin/mkbootdisk `uname -r`.
4. 581
Descarga
Tip
Consulte la página del manual mk bootdisk para obtener más opciones. Puede
crear medios de arranque por medio de CD-Rs, CD-RWs y dispositivos de memoria
USB dado que su sistema BIOS también lo soporte.
Reinicie la máquina con el medio de arranque y verifique que funciona antes de continuar.
Para determinar cuáles paquetes del kernel están instalados, ejecute el comando rpm -qa | grep
kernel en el intérprete de comandos:
The output contains some or all of the following packages, depending on the system's architecture (the
version numbers and packages may differ):
kerne l-2.6.9-5.EL
kerne l-de vel-2.6.9-5.EL
kernel-utils-2.6.9-5.EL
kernel-doc-2.6.9-5.EL
kernel-smp-2.6.9-5.EL
kerne l-smp-de vel-2.6.9-5.EL
kernel-hugemem-devel-2.6.9-5.EL
From the output, determine which packages need to be download for the kernel upgrade. For a
single processor system, the only required package is the kernel package. Refer to Sección 40.1,
“Descripción general de los Paquetes del Kernel” for descriptions of the different packages.
In the file name, each kernel package contains the architecture for which the package was built. The
format is kernel-<variant>-<version>.<arch>.rpm, where <variant> is one of either PAE, xen,
and so forth. The <arch> is one of the following:
• x86_64 para las arquitecturas AMD64 e Intel EM64T
• ia64 para la arquitectura Intel® Itanium™.
• ppc64pseries para la arquitectura IBM® eServer™ pSeries™.
• s390 para la arquitectura IBM® S/390®.
• s390x para la arquitectura IBM® eServer™ System z®.
• i686 para sistemas Intel® Pentium® II, Intel® Pentium® III, Intel® Pentium® 4, AMD Athlon® y
sistemas AMD Duron®.
40.3. Descarga
Hay varias maneras de saber si hay un kernel actualizado disponible para su sistema.
• Security Errata — Refer to http://www.redhat.com/security/updates/ for information on security
errata, including kernel upgrades that fix security issues.
• Use Red Hat Network — para descargar los paquetes RPM del kernel e instalarlos. Red Hat
Network puede descargar el kernel más reciente, actualizarlo en el sistema, crear una imagen de
5. 582
Descarga
disco RAM inicial si se necesita y configurar el gestor de arranque para arrancar el nuevo kernel.
Para obtener mayor información consulte http://www.redhat.com/docs/manuals/RHNetwork/
1
.
If Red Hat Network was used to download and install the updated kernel, follow the instructions in
Sección 40.5, “Verificación de la imagen de disco RAM inicial” and Sección 40.6, “Configuración
del gestor de arranque”, only do not change the kernel to boot by default. Red Hat Network
automatically changes the default kernel to the latest version. To install the kernel manually, continue
to Sección 40.4, “Realizando la actualización”.
40.4. Realizando la actualización
Después de obtener todos los paquetes necesarios,es hora de actualizar el kernel existente.
Importante
Se recomienda guardar el kernel anterior por si tiene problemas con el kernel nuevo.
En el intérprete de comandos cambie el directorio que contiene los paquetes RPM del kernel.Utilice
el argumento -i con el comando rpm para mantener el viejo kernel. No utilice la opción -U ya que
sobreescribirá el kernel instalado actualmente, lo cual genera problemas con el gestor de arranque.
Por ejemplo:
rpm -ivh kernel-<kernel version>.<arch>.rpm
The next step is to verify that the initial RAM disk image has been created. Refer to Sección 40.5,
“Verificación de la imagen de disco RAM inicial” for details.
40.5. Verificación de la imagen de disco RAMinicial
Si el sistema usa un sistema de archivos ext3, un controlador SCSI, o etiquetas para referenciar
particiones en /etc/fstab, necesitará un disco RAM inicial. Este disco permite a un kernel modular
tener acceso a los módulos desde donde puede necesitar arrancar antes de que el kernel tenga
acceso a los dispositivos donde normalmente residen los módulos.
On architectures other than IBM eServer iSeries, the initial RAM disk can be created with the
mkinitrd command. However, this step is performed automatically if the kernel and its associated
packages are installed or upgraded from the RPM packages distributed by Red Hat; in such cases,
you do not need to create the initial RAM disk manually. To verify that an initial RAM disk already
exists, use the command ls -l /boot to make sure the initrd-<version>.img file was created
(the version should match the version of the kernel just installed).
On iSeries systems, the initial RAM disk file and vmlinux file are combined into one file, which is
created with the addRamDisk command. This step is performed automatically if the kernel and its
associated packages are installed or upgraded from the RPM packages distributed by Red Hat, Inc.;
thus, it does not need to be executed manually. To verify that it was created, use the command ls
-l /boot to make sure the /boot/vmlinitrd-<kernel-version> file already exists (the
<kernel-version> should match the version of the kernel just installed).
The next step is to verify that the boot loader has been configured to boot the new kernel. Refer to
Sección 40.6, “Configuración del gestor de arranque” for details.
6. 583
Configuración del gestor de arranque
40.6. Configuración del gestor de arranque
El paquete RPM kernel configura el gestor de arranque para arrancar el nuevo kernel (excepto par a
sistemas IBM eServer iSeries). Sin embargo, no configura el gestor de arranque para cargar el nuevo
kernel por defecto.
Es una buena idea confirmar que el gestor de arranque se ha configurado correctamente. Esto es un
paso crucial. Si el gestor de arranque está configurado de forma incorrecta, no podrán arrancar Red
Hat Enterprise Linux correctamente. Si esto ocurre, arranque el sistema con el disquete de arranque
que creó anteriormente e intente configurar de nuevo el gestor de arranque.
40.6.1. Sistemas x86
Todos los sistemas x86 (incluyendo todos los sistemas AMD64) utilizan GRUB como gestor de
arranque.
40.6.1.1. GRUB
Confirme que el archivo /boot/grub/grub.conf contiene una sección title con la misma
versión que el paquete kernel que acaba de instalar
# Note that you do not ha ve to re run 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 -ve rsion ro root=/de v/hda2
# initrd /initrd-version.img
#boot=/dev/hda default=1 timeout=10
splashimage =(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux (2.6.9-5.EL)
root (hd0,0)
kernel /vmlinuz-2.6.9-5.EL ro root=LABEL=/
initrd /initrd-2.6.9-5.EL.img
title Red Hat Enterprise Linux (2.6.9-1.906_EL)
root (hd0,0)
kernel /vmlinuz-2.6.9-1.906_EL ro root=LABEL=/
initrd /initrd-2.6.9-1.906_EL.img
Si ha creado una partición separada para /boot/ la ruta al kernel y la imagen initrd serán
relativas a /boot/.
Observe que el nuevo kernel no está configurado para ser el kernel por defecto. Para configurar
GRUB para que arranque el nuevo kernel por defecto, cambie el valor de la variable default al
número del título de la sección que contiene el nuevo kernel. La cuenta comienza con 0. Por ejemplo,
si el nuevo kernel es el primer título en la sección, configure default a 0.
Comience evaluando el nuevo kernel reiniciando el computador y vigilando los mensajes para
asegurarase de que el hardware es detectadoadecuadamente.
40.6.2. Sistemas Itanium
Los sistemas Itanium utilizan ELILO como el gestor de arranque, que usa /boot/efi/EFI/
redhat/elilo.conf como archivo de configuración. Confirme que este archivo contiene una
sección image con la misma versión que el paquete kernel que acaba de instalar:
7. 584
Configuración del gestor de arranque
prompt timeout=50 defa ult=old ima ge=vmlinuz-2.6.9-5.EL
la bel=linux
initrd=initrd-2.6.9-5.EL.img rea d-only
append="root =LA BEL =/" image=vmlinuz-2.6.9-1.906_EL
labe l=old
initrd=initrd-2.6.9-1.906.img rea d-only
append="root =LA BEL =/"
Observe que el nuevo kernel no está configurado para ser el kernel por defecto. Para configurar
ELILO para que arranque el nuevo kernel por defecto, cambie el valor de la variable default al valor
de label de la sección image del nuevo kernel. Debe ejecutar el comando /sbin/lilo como root
para activar los cambios. Después de ejecutarlo, verá un resultado similar al siguiente:
Comience evaluando el nuevo kernel reiniciando el computador y vigilando los mensajes para
asegurarase de que el hardware es detectadoadecuadamente.
40.6.3. Sistemas IBM S/390 e IBM System z
Los sistemas IBM S/390 e IBM System z utilizan z/IPL como gestor de arranque, el cual usa /etc/
zipl.conf como archivo de configuración. Confirme que el archivo contiene una sección con la
misma versión que el paquete kernel que acaba de instalar:
[defaultboot] default=old target=/boot/
[linux]
image=/boot/vmlinuz-2.6.9-5.EL
ra mdisk=/boot/initrd-2.6.9-5.EL.img
parameters="root=LABEL=/"
[old]
image=/boot/vmlinuz-2.6.9-1.906_EL
ramdisk=/boot/initrd-2.6.9-1.906_EL.img
parameters="root=LABEL=/"
Observe que el nuevo kernel no está configurado para ser el kernel predeterminado. Para configurar
z/IPL para que arranque el nuevo kernel por defecto, cambie el valor de la variable default al
número de la sección que contiene el nuevo kernel. La primera línea de cada sección contiene el
nombre en corchetes.
Después de modificar el archivo de configuración ejecute el comando /sbin/zipl como root para
activar los cambios.
Comience evaluando el nuevo kernel reiniciando el computador y vigilando los mensajes para
asegurarase de que el hardware es detectadoadecuadamente.
40.6.4. Sistemas IBM eServeriSeries
The /boot/vmlinitrd-<kernel-version> file is installed when you upgrade the kernel.
However, you must use the dd command to configure the system to boot the new kernel:
1. Como root, escriba el comando cat /proc/iSeries/mf/side para determinar el lado por
defecto (bien sea A, B, o C).
2. As root, issue the following command, where <kernel-version> is the version of the new
kernel and <side> is the side from the previous command:
8. 585
Configuración del gestor de arranque
dd if=/boot/vmlinitrd-<kernel-version> of=/proc/iSeries/mf/<side>/
vmlinux bs=8k
Comience evaluando el nuevo kernel reiniciando el computador y vigilando los
mensajes para asegurarase de que el hardware es detectado adecuadamente.
40.6.5. Sistemas IBM eServer
pSeries
Los sistemar IBM eServer pSeries utiliza YABOOT como el gestor de arranque, el cual usa
/etc/ aboot.conf como archivo de configuración.Confirme que el archivo contiene una
secciónimage con la misma versión que el paquete kernel que acaba de instalar:
boot=/dev/sda1 init-message=Welcome to Red Hat Enterprise Linux! Hit <TAB> for boot
options pa rtition=2 timeout=30 install=/usr/lib/yaboot/yaboot delay =10 nonvram
image=/vmlinux--2.6.9-5.EL
l
abel=ol
d rea d-
only
initrd=/initrd--2.6.9-
5.EL.img
append="root =LA BEL =/"
image=/vmlinux-2.6.9-5.EL
la b
el=
lin
ux
rea
d-
onl
y
initrd=/initrd-2.6.9-
5.EL.im g
append="root =LA BEL =/"
Observe que el kernel no esta configurado para arrancarse por defecto. El kernel en la
primera imagen es arrancado por defecto. Para cambiar el kernel a arrancar por defecto,
mueva su estrofa imagen para que sea la primera listada o añada la directiva default y
configurelo a la etiqueta de la estrofa imagen que contiene el nuevo kernel.
Comience evaluando el nuevo kernel reiniciando el computador y vigilando los
mensajes para asegurarase de que el hardware es detectado adecuadamente.