Red Hat Enterprise Linux 3: Manual de administración del sistema | ||
---|---|---|
Anterior | Apéndice A. Construcción de un kernel personalizado | Siguiente |
Para construir un kernel personalizado (realice todos los pasos como root):
![]() | Nota |
---|---|
Este ejemplo usa la versión del kernel 2.4.21-1.1931.2.399.ent (su versión del kernel puede diferir). Para determinar la versión del kernel, teclee el comando uname -r y reemplace 2.4.21-1.1931.2.399.ent por la versión del kernel devuelta. |
Abra un intérprete de comandos y cámbiese al directorio /usr/src/linux-2.4/. Todos los comandos desde este punto en adelante deben ser ejecutados desde este directorio.
Es importante que empiece la construcción del kernel con el árbol de las fuentes en perfectas condiciones. Esto es, es recomendable que comience con el comando make mrproper. Esto borrará cualquier fichero de configuración remanente de configuraciones previas que pueda estar disperso por el árbol de las fuentes. Si ya tiene un fichero de configuración funcional /usr/src/linux-2.4/.config, haga una copia de respaldo en un directorio diferente antes de ejecutar este comando.
Se recomienda que use la configuración del kernel de Red Hat Enterprise Linux por defecto como punto de partida. Para hacer esto, copie el archivo de configuración para la arquitectura del sistema desde el directorio /usr/src/linux-2.4/configs/ a /usr/src/linux-2.4/.config. Si el sistema tiene más de un procesador, copie el archivo que contiene la palabra clave smp. Sin embargo, si el sistema tiene más de 4 gigabytes de memoria, copie el archivo que contiene la palabra clave hugemem.
Luego, personalice los parámetros. El método recomendado es usar el comando make menuconfig para ejecutar la Linux Kernel Configuration. No se requiere el Sistema X Window.
Después de terminar la configuracion, seleccione Exit y seleccione Yes para guardar el nuevo archivo de configuración (/usr/src/linux-2.4/.config).
Aún si no se efectuó ningún cambio en los parámetros, se requiere la ejecución del comando make menuconfig (o alguno de los otros métodos para la configuración del kernel) antes de continuar.
Los otros métodos disponibles para la confifuración del kernel incluyen:
make config — Un programa de texto interactivo. Los componentes le son presentados de forma lineal y los va respondiendo uno a uno. Este método no requiere el Sistema X Window y no le permite cambiar sus respuestas a preguntas previas.
make xconfig — Este método requiere del Sistema X Window y del paquete tk. Este método no se recomienda porque no analiza los archivos de configuración de forma confiable.
make oldconfig — Esto es un script no interactivo que lee el archivo de configuración existente (.config) y sólo solicita respuestas a cualquier pregunta que no existían previamente.
![]() | Nota |
---|---|
Para usar kmod y los módulos del kernel conteste Yes a kmod support y module version (CONFIG_MODVERSIONS) support durante la configuración. |
Después de crear el archivo /usr/src/linux-2.4/.config, use el comando make dep para configurar las dependencias correctamente.
Use el comando make clean para preparar el árbol fuente para construir.
Se le recomienda que el kernel personalizado tenga un número de versión modificada de manera que no sobreescriba el kernel ya existente. El método descrito aquí es el más sencillo para recuperar el sistema en caso de problemas. Si está interesado en otras posibilidades, puede encontrar más detalles en http://www.redhat.com/mirrors/LDP/HOWTO/Kernel-HOWTO.html o en el Makefile en /usr/src/linux-2.4/.
Por defecto, /usr/src/linux-2.4/Makefile incluye la palabra custom al final de la línea que empieza por EXTRAVERSION. Añadir a la cadena le permitirá tener contemporaneamente en su sistema el kernel antiguo en funcionamiento y el kernel nuevo (versión 2.4.21-1.1931.2.399.ent personalizado).
Si el sistema contiene más de un kernel personalizado, un buen método es anexar la fecha al final (u otro identificador).
Para las arquitecturas x86, AMD64 y Intel® EM64T, construya el kernel con make bzImage. Para la arquitectura Itanium, construya el kernel con make compressed. Para las arquitecturas S/390 y zSeries, construya el kernel con make image. Para las arquitecturas iSeries y pSeries, construya el kernel con make boot.
Compile cualquier módulo que haya configurado con make modules.
Use el comando make modules_install para instalar los módulos del kernel (aún si no se compiló ninguno). Observe el guión (_) en el comando. Esto instala los módulos kernel en la ruta del directorio /lib/modules/<KERNELVERSION>/kernel/drivers (donde KERNELVERSION es la versión especificada en el Makefile). En este ejemplo sería /lib/modules/2.4.21-1.1931.2.399.entcustom/kernel/drivers/.
Use make install para copiar su nuevo kernel y sus ficheros asociados a los directorios apropiados.
Además de instalar los ficheros del kernel en el directorio /boot, este comando ejecuta el script /sbin/new-kernel-pkg que construye una nueva imagen initrd y añade nuevas entradas para el fichero de configuración del gestor de arranque.
Si posee un adaptador SCSI y ha compilado el controlador SCSI como un módulo o si el kernel fue construido con el soporte ext3 como un módulo (predeterminado en Red Hat Enterprise Linux), se necesitará la imagen initrd.
Aunque la imagen initrd y las modificaciones del gestor de arranque se han llevado a cabo, debería verificar que ha sido realizado correctamente y también asegurarse de usar la versión del kernel personalizado en vez de la 2.4.21-1.1931.2.399.ent. Consulte la Sección 39.5 y la Sección 39.6 para más detalles.