Gentoo Logo

[ << ] [ < ] [ 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
(Supongamos que quiere usar GMT)
# 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 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

(Elija lo que corresponda)
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)

(Seleccione una o más de las siguientes opciones según las necesite su sistema)
  <*> 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 ] [ > ] [ >> ]


Imprimir

Ver completo

Página actualizada 28 de mayo, 2006

Esta traducción ha dejado de tener soporte

Sumario: El kernel Linux kernel es el núcleo de cada distribución de Linux. Este capítulo explica cómo configurarlo.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Desarrollador Gentoo x86

Tavis Ormandy
Desarrollador Gentoo Alpha

Jason Huebel
Desarrollador Gentoo AMD64

Guy Martin
Desarrollador Gentoo HPPA

Pieter Van den Abeele
DesarrolladorGentoo PPC

Joe Kallar
Desarrollador Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Reviewer

Gerald J. Normandin Jr.
Reviewer

Donnie Berkholz
Reviewer

Ken Nowack
Reviewer

Lars Weiler
Colaborador

José Alberto Suárez López
Traductor

John Christian Stoddart
Traductor

José Luis Rivero
Traductor

Carles Ferrer
Traductor

Andrés Pereira
Traductor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.