[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
7. Configurar el núcleo
Contenido:
7.a. Instalar las fuentes
Elegir un núcleo
El eje alrededor del cual se construyen todas las distribuciones es
el núcleo de Linux. Es la capa entre los programas de usuario y el
hardware del sistema. Gentoo proporciona a sus usuarios varias fuentes
de núcleos. Una lista completa está disponible en la Guía del Núcleo de Gentoo.
Para los sistemas basados en AMD64 tenemos, entre otros
núcleos, gentoo-sources (fuentes del núcleo modificadas para
obtener algunas características adicionales).
Elija sus fuentes del núcleo e instálelas usando emerge.
Listado de Código 1.1: Instalar unas fuentes del núcleo |
# emerge gentoo-sources
|
Cuando vea en /usr/src verá un enlace simbólico llamado
linux apuntando a las fuentes del núcleo. En este caso,
asumimos que la fuentes del núcleo instaladas apuntan a
gentoo-sources-3.4.9. Su versión podría
ser distinta, así que por favor tenga esto presente.
Listado de Código 1.2: Visualizar el enlace a las fuentes del núcleo |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-3.4.9
|
Ahora vamos a configurar y compilar las fuentes del núcleo. Puede usar
para esto 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 su entorno.
Si quiere configurar manualmente su núcleo, continúe con Predeterminado: Configuración Manual. En cambio,
si quiere usar genkernel debe leer Alternativa: Usar genkernel.
7.b. Predeterminado: Configuración manual
Introducción
Configurar manualmente un núcleo frecuentemente es visto como el
procedimiento más difícil que tiene que realizar un usuario de
Linux. Nada más 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 al
empezar a configurar el núcleo manualmente. Se puede recolectar mucha
información instalando pciutils (emerge pciutils), que contiene
lspci. Ahora podrá usar lspci en el entorno
chroot. Puede ignorar tranquilamente los avisos sobre pcilib
(como pcilib: cannot open /sys/bus/pci/devices) desplegado por
lspci. Alternativamente, puede ejecutar lspci desde un
entorno no-chroot. Los resultados son iguales. También puede
ejecutar lsmod para ver qué módulos del núcleo está usando el
CD de instalación (puede darle indicaciones acerca de qué activar).
Ahora vaya al directorio de sus fuentes y ejecute make
menuconfig. Esto producirá un menú de configuración basado en
ncurses.
Listado de Código 2.1: Invocar a menuconfig |
# cd /usr/src/linux
# make menuconfig
|
Aparecerá una pantalla con diversas secciones de
configuración. Primero listaremos algunas opciones que debe activar
(sino Gentoo no funcionará, o no funcionará bien sin configuración
adicional).
Activar las opciones necesarias
Asegúrese que todos los controladores vitales para el arranque del
sistema (como pueden ser los de SCSI, ...) están compilados
dentro del núcleo y no como módulos o, de lo contrario, su
sistema no será capaz de arrancar correctamente.
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. Asegúrese de que selecciona la emulación
IA32 Emulation si desea ejecutar programas de 32 bits. Gentoo
instalará un sistema multi-librería (computación mixta 32/64 bit)
por defecto, por lo que esta opción es necesaria.
Nota:
Si planea usar un perfil que no sea multi-librería (para un sistema
64 bits puro) entonces no tendrá que seleccionar el soporte de
emulación IA32. Sin embargo necesitará también seguir las
instrucciones
para cambiar a un
perfil no multi-librería
, así como elegir el gestor de arranque
correcto.
|
Listado de Código 2.2: Seleccionar el tipo de procesador y características |
Processor type and features --->
[ ] Machine Check / overheating reporting
[ ] Intel MCE Features
[ ] AMD MCE Features
Processor family (AMD-Opteron/Athlon64) --->
( ) Opteron/Athlon64/Hammer/K8
( ) Intel P4 / older Netburst based Xeon
( ) Core 2/newer Xeon
( ) Intel Atom
( ) Generic-x86-64
Executable file formats / Emulations --->
[*] IA32 Emulation
|
A continuación seleccione
Maintain a devtmpfs file system to mount at /dev de modo que los
ficheros de dispositivo críticos estén disponibles cuanto antes en el
proceso de inicio.
Listado de Código 2.3: Habilitar soporte devtmpfs |
Device Drivers --->
Generic Driver Options --->
[*] Maintain a devtmpfs filesystem to mount at /dev
[ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs
|
Vaya ahora a File Systems y seleccione los soportes para los
sistemas de archivos que use. No los compile como módulos, de
otro modo su sistema Gentoo no será capaz de montar sus
particiones. También seleccione Virtual memory y el /proc file
system.
Listado de Código 2.4: Seleccionar los sistemas de archivos necesarios |
File systems --->
<*> Second extended fs support
<*> Ext3 journalling file system support
<*> The Extended 4 (ext4) filesystem
<*> Reiserfs support
<*> JFS filesystem support
<*> XFS filesystem support
...
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
-*- Enable the block layer --->
...
[*] Advanced partition selection
...
[*] EFI GUID Partition support
|
Si está usando PPPoE para conectarse a Internet o está usando un módem
dial-up, necesitará las siguientes opciones en el núcleo:
Listado de Código 2.5: Seleccionar los controladores PPPoE necesarios |
Device Drivers --->
Network device 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 le afectan pero no son necesarias,
ni para la opción PPP over Ethernet, tal vez solo sea usada por
ppp cuando configure un núcleo en modo PPPoE.
Si lo requiere, no 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 2.6: Activar el soporte SMP |
Processor type and features --->
[*] Symmetric multi-processing support
|
Nota:
En sistemas multi-núcleo, cada núcleo cuenta como un procesador.
|
Si usa dispositivos de entrada USB (como un ratón o teclado) no olvide
activarlos también:
Listado de Código 2.7: Activar Soporte para Dispositivos de Entrada USB |
Device Drivers --->
USB Devices --->
[*] USB Human Interface Device (full HID) support
|
Compilar e instalar
Ahora que hemos configurado el núcleo, es hora de compilarlo e
instalarlo. Salga de la configuración y comience con el proceso de
compilación:
Listado de Código 2.8: Compilar el núcleo |
# make && make modules_install
|
Al terminar de compilar el núcleo, copie la imagen a
/boot. Use cualquier nombre que estime apropiado para el
núcleo y recuérdelo, ya que le hará falta más adelante al configurar
el gestor de arranque. Recuerde reemplazar kernel-3.4.9-gentoo con el nombre y versión del núcleo.
Listado de Código 2.9: Instalar el núcleo |
# cp arch/x86_64/boot/bzImage /boot/kernel-3.4.9-gentoo
|
(Opcional) Construir un sistema de ficheros Initramfs
Si utiliza un esquema de particionamiento específico en el que las
localizaciones de ficheros de sistema importantes (como
/usr o /var) se encuentran en particiones
separadas, entonces necesitará configurar un sistema de ficheros
initramfs de modo que esta partición se pueda montar antes de que
se acceda a la misma.
Sin un sistema de ficheros initramfs, se corre el riesgo de que el
sistema no se inicie de forma correcta ya que las herramientas
responsables de montar los sistemas de ficheros necesitan información
que se encuentra en éstos. Un sistema de ficheros initramfs
obtendrá los ficheros necesarios en un archivo que se utiliza una
vez se inicie el núcleo, pero antes de que el control se ceda a la
herramienta init. Los guiones en el sistema de ficheros
initramfs se asegurará de que las particiones se han montado
correctamente antes de que el sistema continúe con su inicio.
Para instalar un sistema de ficheros initramfs, en primer lugar
instale genkernel, a continuación genere el sistema de ficheros
initramfs.
Listado de Código 2.10: Construir un sistema de ficheros initramfs |
# emerge genkernel
# genkernel --install initramfs
|
Si necesita soporte específico en el sistema de ficheros initramfs, tal
como lvm o raid, añada la opción apropiada a genkernel. Lea
genkernel --help para obtener más información. En el ejemplo
mostrado a continuación se habilita el soporte para LVM y el software
raid (mdadm):
Listado de Código 2.11: Construir un sistema de ficheros initramfs con soporte para LVM y software raid |
# genkernel --lvm --mdadm --install initramfs
|
El sistema de ficheros initramfs se almacenará en /boot.
Puede encontrar este fichero simplemente listando aquéllos ficheros
que comienzan por initramfs:
Listado de Código 2.12: Comprobar el nombre del fichero initramfs |
# ls /boot/initramfs*
|
Ahora continúe cono Los módulos del núcleo.
7.c. Alternativa: Usar genkernel
Si está leyendo esta sección, eligió usar nuestro guión
genkernel para configurar el núcleo.
Ahora que el árbol de las fuentes del núcleo está instalado, es hora
de compilarlo usando nuestro guión 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 cuando use genkernel para
construir su núcleo, su sistema generalmente detectará todo su
hardware en el arranque, tal como lo hace el CD de instalación. Debido
a que genkernel no requiere ninguna configuración manual del núcleo,
es una solución ideal para esos usuarios que no se sienten cómodos
compilando sus propios núcleos.
Ahora, veamos como usar genkernel. Primero, haga emerge al ebuild de
genkernel:
Listado de Código 3.1: Instalar genkernel |
# emerge genkernel
|
Ahora, compile las fuentes del núcleo ejecutando genkernel all
Recuerde que 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 el sistema de archivos
ext2 o ext3, necesitará configurar manualmente su núcleo con
genkernel --menuconfig all y agregar soporte para su sistema de
archivos en el núcleo (no como módulo). Los usuarios de
LVM2 probablemente querrán añadir también el argumento --lvm2.
Listado de Código 3.2: Ejecutar genkernel |
# genkernel all
|
Una vez que genkernel haya terminado, un núcleo, un conjunto
completo de módulos y un disco ram de inicio (initramfs) serán
creados. Usaremos el núcleo e initrd para configurar un gestor de
arranque más tarde en este documento. Escriba los nombres del núcleo y
de initrd ya que los necesitará para el archivo de configuración del
gestor de arranque. El initrd iniciará inmediatamente después del
arranque para realizar la autodetección de hardware (igual que en el CD
de instalación) antes que inicie su sistema "real".
Listado de Código 3.3: Verificar los nombres del núcleo e initrd creados |
# ls /boot/kernel* /boot/initramfs*
|
7.d. Módulos del núcleo
Configurar los Módulos
Debe listar los módulos que quiera cargar automáticamente en
/etc/conf.d/modules. Puede agregar opciones extra a los
módulos si así lo desea.
Para ver todos los módulos disponibles, ejecute el comando find.
No olvide sustituir "<kernel version>" por la versión
del kernel que acaba de compilar:
Listado de Código 4.1: Ver todos los módulos disponibles |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less
|
Por ejemplo, para cargar automáticamente el módulo 3c59x.ko (el
driver para una tarjeta de red específica de la familia 3Com), edite el
archivo /etc/conf.d/modules y escriba el nombre del módulo.
Listado de Código 4.2: Editar /etc/conf.d/modules |
# nano -w /etc/conf.d/modules
modules_2_6="3c59x"
|
Continúe la instalación con Configurar
su 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.
|