Una vez acabada la instalación, su sistema es totalmente funcional. No obstante, puede que aun quiera realizar ciertas configuraciones adicionales. Este capítulo describe algunas de esas configuraciones que puede necesitar.
Construyendo un nucleo a medida
Desde la introducción de la modularidad en el nucleo 2.0.
x de Linux ha habido algunos cambios significativos para la creación de un nucleo a la medida de nuestras necesidades. En el pasado, si quería tener soporte para cierto componente de hardware o sistema de ficheros, tenía que compilarlo en su nucleo. Con ciertas configuraciones de hardware el tamaño del nucleo alcanzaba rápidamente niveles críticos. El tener soporte en el nucleo para ciertos componentes que tan sólo se utilizaban ocasionalmente, era un uso ineficiente de los recursos del sistema. Con las capacidades del nucleo 2.0.
x, los módulos de esos componentes de hardware o sistemas de ficheros que raramente se usan pueden cargarse según la demanda.
Construyendo un nucleo modular
Sólo Red Hat/Intel y Red Hat/SPARC soportan nucleos con módulos; los usuarios de Red Hat Linux/Alpha deben construir un nucleo monolítico.
Estas instrucciones le aportarán el conocimiento necesario para obtener provecho de la flexibilidad y la potencia de un nucleo modular. Asumimos que ha instalado los paquetes de los ficheros
fuentes del nucleo, los ficheros
cabecera del nucleo y que ejecuta las ordendes desde el directorio
/usr/src/linux/.
Es importante empezar la construción del nucleo conociendo la estructura del árbol de directorios de los ficheros fuente en. Por consiguiente, se recomienda que empiece con la orden
make mrproper. Ésta borrará cualquier fichero de configuración y los restos de anteriores construcciones que podrían quedar alrededor del árbol de directorios de las fuentes. Ahora debe crear un fichero de configuración que determinará que componentes incluirá en su nuevo nucleo. Dependiendo de su hardware y de sus preferencias personales, hay tres métodos de configuración del nucleo.
- make config Programa de texto interactivo. Se presentan los componentes y usted responde con Y (sí), N (no) o M (módulo).
- make menuconfig Programa gráfico, mediante menús. Se presentan los componentes en un menú dividido en diferentes categorías y usted debe seleccionar los componentes que desee de la misma forma que en el programa de instalación de Linux Red Hat. Escoja la etiqueta correspondiente al componente que quiere incluir; Y (sí), N (no) o M (módulo).
- make xconfig Programa para X-Windows. Se ofrece una lista con los componenes en diferentes niveles de menús. Los componentes se seleccionan usando el ratón. De nuevo, escoja Y (sí), N (no) o M (módulo).
Por favor, observe que: Para poder usar
kerneld y módulos, durante la configuración debe contestar
Sí a
kerneld support y
module version (CONFIG_MODVERSIONS) support.
Por favor, observe que: Si está contruyendo un nucleo de Linux/Intel en (o para) una máquina que usa un procesador ``clónico
(por ejemplo, uno hecho por Cyrix o AMD), se recomienda que escoja Tipo de Procesador 386.
Si desea construir un nucleo con un fichero de configuración (/usr/src/linux/.config) que usted creó con alguno de los métodos descritos anteriormente, puede omitir las ordenes make mrproper y make config y utilizar el comando make dep seguido de make clean para preparar el árbol fuente para la estructura.
El siguiente paso consiste en la compilación del código fuente de los componentes, en un programa ejecutable que su máquina pueda usar en el arranque. El método descrito aquí es el más sencillo para reestablecer en caso de tener algún percance. Si está interesado en otras posibilidades, puede encontrar más detalles en el Kernel-HOWTO (o en su traducción española) o en Makefile, en el directorio /usr/src/linux de su sistema Linux.
- Construya el nucleo con make boot.
- Construya cualquier módulo que haya configurado con make modules.
- Mueva el conjunto de módulos antiguos del arbol de directorios con:
rm -rf /lib/modules/2.0.29-old
mv /lib/modules/2.0.29 /lib/modules/2.0.29-old
Por supuesto, si está actualizando su nucleo, reemplace 2.0.29 por la versión que esté usando.
- Instale los nuevos módulos (incluso si usted no ha construido ninguno) con
make modules_install.
Si usted tiene un adaptador SCSI y ha hecho modular su controlador SCSI, construya una nueva imagen initrd (ver Sección 6.1.2; advierta que no hay muchas razones prácticas para crear el manejador SCSI modular en un nucleo hecho a medida).
Con el fin de proporcionar una fuente de arranque redundante, para proteger el nuevo nucleo de un posible error, debería mantener disponible el nucleo original. Añadir un nucleo al menú de LILO es tan simple como dejar el nucleo original en /boot, copiar el nuevo nucleo en /boot, añadir unas líneas en el fichero /etc/lilo.conf y ejecutar /sbin/lilo. Aquí hay un ejemplo del fichero /etc/lilo.conf por defecto distribuido con Linux Red Hat:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=100
image=/boot/vmlinuz
label=linux
root=/dev/hda1
read-only
En estos momentos debería actualizar /etc/lilo.conf. Si ha construido una nueva imagen initrd, debe decirse a LILO que la use. En este ejemplo de /etc/lilo.conf hemos añadido cuatro líneas al final del fichero para indicar otro nucleo desde el que poder arrancar. Hemos renombrado /boot/vmlinuz a /boot/vmlinuz.antiguo y hemos cambiado su etiqueta a antiguo. También hemos añadido una línea initrd para el nuevo nucleo:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=100
image=/boot/vmlinuz
label=linux
initrd=/boot/initrd
root=/dev/hda1
read-only
image=/boot/vmlinuz.antiguo
label=antiguo
root=/dev/hda1
read-only
Cuando el sistema arranque, si usted pulsa [Tab] en LILO boot: le aparecerán dos opciones:
LILO boot:
linux antiguo
Para arrancar el nucleo nuevo (linux) simplemente pulse [Enter] o espere a que pase el margen de tiempo especificado en LILO. Si quiere arrancar el nucleo antiguo (antiguo), simplemente teclee antiguo y pulse [Enter].
Aquí tiene un resumen de los pasos:
- mv /boot/vmlinuz /boot/vmlinuz.antiguo
- cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz
- edit /etc/lilo.conf
- run /sbin/lilo
Puede empezar probando su nucleo arrancando de nuevo su sistema y comprobando los mensajes que irán apareciendo, para asegurarse que su hardware se detecta correctamente.
Creando una imagen initrd
Se necesita tener una imagen initrd para cargar el módulo SCSI durante el arranque. El guión /sbin/mkinitrd puede contruir la imagen initrd adecuada para su máquina si cumple las siguientes condiciones:
- El dispositivo de bloque de loopback está disponible.
- El fichero /etc/conf.modules tiene una línea para su adaptador SCSI; por ejemplo:
alias scsi_hostadapter BusLogic
Para construir la nueva imagen initrd, ejecute /sbin/mkinitrd con los parámetros tales como los indicados a continuación:
/sbin/mkinitrd /boot/newinitrd-image 2.0.12
donde /boot/newinitrd-image es el fichero que usará su nueva imagen y 2.0.12 es el nucleo cuyos módulos (de /lib/modules) serán usados en la imagen initrd (el número no tiene que ser necesariamente el mismo que el número de versión del nucleo que esté usando).
Construyendo un nucleo monolítico
Para construir un nucleo monolítico, tiene que seguir los mismos pasos explicados para construir un nucleo modular con algunas excepciones.
- Cuando configure el nucleo únicamente conteste Sí y No a las preguntas (no haga nada modular).
- Omita los pasos:
make modules
make modules_install
- Edite el fichero /etc/rc.d/rc.sysinit y comente la línea depmod -a, insertando ``#
al principio de la línea.