[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
7. Configurando el kernel
Contenido:
7.a. Zona Horaria
Primero necesita seleccionar su zona horaria para que su sistema sepa
dónde está localizado. Busque su zona horaria en
/usr/share/zoneinfo, luego cópiela a
/etc/localtime. Por favor, evite las zonas
horarias /usr/share/zoneinfo/Etc/GMT* pues sus nombres no
indican las zonas esperadas. Por ejemplo, GMT-8 es, de hecho,
GMT+8.
Listado de Código 1.1: Configurar la Zona Horaria |
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. Instalar las fuentes
Elegir un núcleo
El punto de encuentro alrededor del cual se construyen todas las
distribuciones es el núcleo Linux. Es la capa entre los programas de
usuario y el hardware del sistema. Gentoo proporciona a sus usuarios
varias fuentes del núcleo. Una lista completa está disponible en la Guía Gentoo del núcleo.
Para los sistemas basados en AMD64 tenemos las
gentoo-sources (fuentes para el kernel 2.6 parcheados
especialmente para estabilidad, desempeño y soporte de hardware en
amd64).
Elija sus fuentes del núcleo e instálelas usando emerge.
El parámetro USE="-doc" es necesario para evitar la instalación de
xorg-x11 u otras dependencias en este punto. El parámetro USE="symlink"
no es necesario para una instalación nueva, pero asegura la creación adecuada
del enlace simbólico /usr/src/linux.
Listado de Código 2.1: Instalar las fuentes del núcleo |
# USE="-doc symlink" emerge gentoo-sources
|
Cuando mire en /usr/src, verá un enlace simbólico llamado
linux apuntando hacia las fuentes del núcleo. En este caso,
las fuentes del núcleo instaladas apuntan a gentoo-sources-2.6.12-r10.
Su versión puede ser diferente, así que mantenga esto en mente.
Listado de Código 2.2: Ver el enlace a las fuentes del kernel |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Jul 28 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r10
|
Ahora es tiempo de configurar y compilar las fuentes del núcleo. Para
esto puede usar genkernel, que construirá un núcleo genérico como el
usado por el CD de instalación. Aquí explicaremos la configuración
"manual", ya que es la mejor manera de optimizar el entorno.
Si desea configurar manualmente el núcleo, continúe con Predeterminado: Configuración manual. En cambio,
si quiere usar genkernel debe leer Alternativa: Usando genkernel.
7.c. Predeterminado: Configuración manual
Introducción
Configurar manualmente un núcleo frecuentemente se ve como el
procedimiento más difícil que tiene que realizar un usuario de
Linux. Nada mas lejos de la verdad -- después de configurar un par de
núcleos no recordará si fue difícil ;)
Sin embargo, una cosa sí es cierta: debe conocer su sistema cuando
empiece a configurar su núcleo manualmente. Mucha información se puede
recolectar haciendo emerge al paquete pciutils (emerge
pciutils), que contiene lspci. Ahora podrá hacer uso de
lspci dentro del entorno enjaulado. Puede ignorar las
advertencias pcilib (como pcilib: cannot open
/sys/bus/pci/devices) emitidas por lspci. Como alternativa,
puede ejecutar lspci en el entorno no enjaulado. Los
resultados serán iguales. También puede ejecutar lsmod para ver
cuáles módulos usa el CD de Instalación (tal vez provea algunas ideas
acerca de qué activar).
Ahora vaya al directorio de fuentes del núcleo y ejecute make
menuconfig. Esto presentará un menú de configuración basado en
ncurses.
Listado de Código 3.1: Invocar a menuconfig |
# cd /usr/src/linux
# make menuconfig
|
Será saludado con varias secciones de configuración. Primero listaremos
algunas opciones que debe activar (de otro modo Gentoo no
funcionará, o no funcionará adecuadamente sin ajustes adicionales).
Activar las opciones necesarias
Primero que nada, active el uso de código y dispositivos en desarrollo
y experimentales. Esto es necesario, porque sino algunos dispositivos
o código importante no se verán:
Listado de Código 3.2: Seleccionar código/dispositivo experimental |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
General setup --->
[*] Support for hot-pluggable devices
|
Luego procederemos a seleccionar el tipo exacto de procesador. El mantenedor
del núcleo x86_64 recomienda fervorosamente activar las características MCE
de manera que puedan ser notificados ante cualquier falla de hardware. En
x86_64 estos errores no son impresos a dmesg tal como sucede en
otras arquitecturas pero sí a /dev/mcelog. Esto requiere del
paquete app-admin/mcelog.
Listado de Código 3.3: Seleccionar el tipo de procesador y características |
Processor type and features --->
[ ] Intel MCE Features
[ ] AMD MCE Features
Processor family (AMD-Opteron/Athlon64) --->
( ) AMD-Opteron/Athlon64
( ) Intel EM64T
( ) Generic-x86-64"
|
Vaya ahora a File systems y seleccione el soporte para los
sistemas de archivos que usará. No los compile como módulos,
porque sino su sistema Gentoo no será capaz de montar sus
particiones. También seleccione Virtual memory y /proc file
system.
Listado de Código 3.4: Seleccionar los sistemas de ficheros necesarios |
File systems --->
Pseudo Filesystems --->
<*> /proc file system support
<*> Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> JFS filesystem support
<*> Second extended fs support
<*> XFS filesystem support
|
Si está usando PPPoE para conectarse a Internet o está usando un módem
dial-up, necesitará además las siguientes opciones en el núcleo:
Listado de Código 3.5: Seleccionar los controladores PPPoE necesarios |
Device Drivers --->
Networking Support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
|
Las dos opciones de compresión no harán ningún daño pero en definitiva
no son necesarias, tampoco la opciónPPP over Ethernet, que tal
vez sólo sea usada por rp-pppoe cuando esté configurado para
realizar PPPoE en modo kernel.
Si lo requiere, no se olvide incluir el soporte en el núcleo para su
tarjeta ethernet:
Si tiene un sistema Opteron con múltiples CPUs o multi-núcleo (por ejemplo:
AMD64 X2), active "Symmetric multi-processing support":
Listado de Código 3.6: Activar el soporte SMP |
Processor type and features --->
[*] Symmetric multi-processing support
|
Nota:
En sistemas multi-núcleo (multi-core), cada núcleo cuenta como un procesador.
|
Si usa dispositivos de entrada USB (como un ratón o un teclado) no olvide
activarlos también:
Listado de Código 3.7: Activar el soporte para dispositivos de entrada USB |
Device Drivers --->
USB Support --->
<*> USB Human Interface Device (full HID) support
[*] HID input layer support
|
Si desea ejecutar un sistema con "multilib" (opción predeterminada), debe
asegurarse que esté activado el soporte para ejecutables de 32 bits:
Listado de Código 3.8: Activar el soporte de emulación de 32 bits |
Executable file formats / Emulations --->
[*] IA32 Emulation
[*] IA32 a.out support
|
Cuando haya terminado de configurar el núcleo, continúe con Compilar e Instalar.
Compilar e instalar
Ahora que ya está configurado el núcleo, es hora de compilarlo e
instalarlo. Salga de la configuración y empiece el proceso de compilación:
Listado de Código 3.9: Compilar el núcleo |
# make && make modules_install
|
Cuando el núcleo ha terminado de compilar, copie la imagen a
/boot. Use cualquier nombre que sienta que es apropiado para el
núcleo de su elección y recuérdelo pues lo necesitará luego cuando configure su
gestor de arranque. Recuerde reemplazar <versión-del-núcleo>
con el nombre y versión de su núcleo.
Listado de Código 3.10: Instalar el núcleo |
# cp arch/x86_64/boot/bzImage /boot/<versión-del-núcleo>
|
Ahora continúe con Configurar los módulos del
núcleo.
7.d. Alternativa: Usar genkernel
Si está leyendo esta sección, es porque ha escogido usar nuestro script
genkernel para configurar el kernel por Ud.
Ahora que está instalado el árbol de fuentes del núcleo, es hora
de compilarlo usando nuestro script genkernel que automáticamente
construirá un núcleo. genkernel trabaja configurando un núcleo
prácticamente idéntico al núcleo de nuestro CD de Instalación. Esto
significa que al usar genkernel para construir su núcleo, el
sistema generalmente detectará todo su hardware al arrancar, tal como el
CD de Instalación. Debido a que genkernel no requiere ninguna
configuración manual del núcleo, es una solución ideal para los
usuarios que no se sienten cómodos compilando sus propios núcleos.
Ahora veamos cómo usar genkernel. Primero, instale con emerge al ebuild de
genkernel:
Listado de Código 4.1: Instalar genkernel |
# emerge genkernel
|
Ahora, compile las fuentes del núcleo ejecutando genkernel
all. Recuerde que, como genkernel compila un núcleo que
soporta casi todo el hardware, ¡esta compilación tardará un rato en
terminar!
Observe que si su partición de arranque no usa ext2 o ext3 como
sistema de ficheros, necesitará configurar manualmente su núcleo
usando genkernel --menuconfig all para agregar soporte para su
sistema de archivos en el núcleo (no como módulo).
Listado de Código 4.2: Ejecutar genkernel |
# genkernel all
|
Una vez que genkernel haya terminado, serán creados un núcleo,
un conjunto completo de módulos y un disco raíz de inicio (initrd)
creados. Usaremos el núcleo y el initrd para configurar el gestor de
arranque más adelante. Anote los nombres del núcleo y del initrd
porque los necesitará al escribir el archivo de configuración del
gestor de arranque. El initrd iniciará inmediatamente después del
arranque para llevar a cabo la auto-detección del hardware (tal como
ocurre en el CD de Instalación) previo al inicio de su verdadero
sistema.
Listado de Código 4.3: Verificar los nombres del núcleo e initrd creados |
# ls /boot/kernel* /boot/initramfs*
|
Ahora realicemos un paso más para que nuestro sistema sea más
parecido al del CD de instalación -- instalaremos
coldplug. Mientras el initrd autodetecta el hardware necesario
para arrancar el sistema, coldplug autodetecta todo lo
demás. Para instalar y activar coldplug, escriba lo siguiente:
Listado de Código 4.4: Instalar y habilitar coldplug |
# emerge coldplug
# rc-update add coldplug boot
|
7.e. Configuración de los módulos del núcleo
Configurar los módulos
Debe listar los módulos que desee cargar automáticamente en
/etc/modules.autoload.d/kernel-2.4 (o en
/etc/modules.autoload.d/kernel-2.6). Puede agregar
opcionales adicionales también, si así lo desea.
Para ver todos los módulos disponibles, ejecute el siguiente comando
find. No olvide sustituir "<versión del núcleo>" con la
versión del núcleo que acaba de compilar:
Listado de Código 5.1: Ver todos los módulos disponibles |
# find /lib/modules/<versión del núcleo>/ -type f -iname '*.o' -or -iname '*.ko'
|
Por ejemplo, para cargar automáticamente el módulo 3c59x.o,
modifique el archivo kernel-2.6 agregándole el nombre del
módulo.
Listado de Código 5.2: Editar /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
Listado de Código 5.3: /etc/modules.autoload.d/kernel-2.6 |
3c59x
|
Continúe la instalación con Configurar el sistema.
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|