Gentoo Logo

Renuncia de responsabilidad: Este manual ha sido sustituido por una versión más reciente y no tendrá soporte de aquí en adelante.


[ << ] [ < ] [ 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 haga un vínculo simbólico a /etc/localtime usando ln:

Listado de Código 1.1: Configurar la Zona Horaria

# ls /usr/share/zoneinfo
(Suponga que quiere usar el GMT)
# ln -sf /usr/share/zoneinfo/GMT /etc/localtime

7.b. Instalar las Fuentes

Elegir un Kernel

El punto alrededor del cual se construyen todas las distribuciones es el Kernel de Linux. Es la capa entre los programas de usuario y el hardware del sistema. Gentoo proporciona a sus usuarios varias fuentes de kernel. Una lista completa está disponible en la Guía Gentoo del Kernel.

Para los sistemas basados en x86 tenemos, entre otros kernel, las vanilla-sources (las fuentes predeterminadas del kernel 2.4, desarrolladas por los desarrolladores del kernel de linux), las gentoo-sources (kernel 2.4 con parches de caracterísiticas que mejoran su desempeño), las gentoo-dv-sources (fuentes del kernel v2.6 con parches que mejoran el desempeño), las development-sources (fuentes vanilla del kernel 2.6), ...

Si está realizando una instalación sin red, las opciones del kernel estarán limitadas a las proporcionadas en el CD. Para la versión 2004.s estas son:

  • gentoo-sources
  • vanilla-sources
  • gentoo-dev-sources
  • development-sources

Elija sus fuentes de kernel e instálela usando emerge.

Listado de Código 2.1: Instalar unas fuentes del kernel

# emerge gentoo-sources

Cuando vea en /usr/src verá un enlace simbólico llamado linux apuntando a las fuentes de su kernel. Se asume que las fuentes instaladas son las gentoo-sources-2.4.26-r6:

Listado de Código 2.2: Ver el enlace a las fuentes del kernel

# ls -l /usr/src/linux
lrwxrwxrwx    1 root     root           12 Oct 13 11:04 /usr/src/linux -> linux-2.4.26-gentoo-r6

Si no es su caso (por ej. los enlaces apuntan a unas fuentes de kernel diferentes) cambie el enlace simbólico antes de continuar:

Listado de Código 2.3: Cambiar el en enlace a las fuentes del kernel

# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.4.26-gentoo-r6 linux

Ahora vamos a configurar y compilar las fuentes del kernel. Puede usar para esto genkernel, que construirá un kernel genérico como el usado por el LiveCD. Aquí explicaremos la configuración "manual", ya que es la mejor manera de optimizar su entorno.

Si quiere configurar manualmente su kernel, continue con Predeterminado: Configuración Manual. En cambio, si quiere usar genkernel debe leer Alternativa: Usar genkernel.

7.c. Predeterminado: Configuración Manual

Introducción

Configurar manualmente un kernel 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 kernels no recordará si fue difícil ;)

Sin embargo, una cosa es cierta: debe conocer su sistema cuando empiece a configurar su kernel manualmente. Mucha información se puede recolectar viendo el contenido de /proc/pci (o usando lspci si está disponible). Tambien puede correr lsmod para ver que módulos del kernel usa el LiveCD (puede proporcionarle buenos consejos sobre qué habilitar).

Ahora vaya al directorio de sus fuentes y ejecute make menuconfig. Esto lanzará un menú de configuración basado en ncurses.

Listado de Código 3.1: Invocar a menuconfig

# cd /usr/src/linux
# make menuconfig

Le darán la bienvenida varias secciones de configuración. Listaremos primero algunas opciones que debe activar (de otro modo Gentoo no funcionará, o no funcionará adecuadamente sin configuración adicional).

Activar Opciones Necesarias

Primero que nada, active el uso de código y dispositivos en desarrollo y experimentales. Esto es necesario, porque algunos dispositivos o código importante no se verá:

Listado de Código 3.2: Seleccionar código/dispositivo expremiental

Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers

Asegúrese de compilar su kernel para la familia correcta de procesadores:

Listado de Código 3.3: Seleccionar la familia de procesador correcta

Processor type and features --->
  (Selecciónelo de acuerdo a su sistema)
  (Athlon/Duron/K7) Processor family

Vaya ahora a File Systems y seleccione los soportes para los sistemas de achivos 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, /dev file system + Automatically mount at boot:

Listado de Código 3.4: Seleccionar los sistemas de archivos necesarios

(Con un kernel 2.4.x)
File systems --->
  [*] Virtual memory file system support (former shm fs)
  [*] /proc file system support
  [*] /dev file system support (EXPERIMENTAL)
  [*]   Automatically mount at boot
  [ ] /dev/pts file system for Unix98 PTYs

(Con un kernel 2.6.x)
File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] /dev file system support (OBSOLETE)
    [*]   Automatically mount at boot
    [*] Virtual memory file system support (former shm fs)

(Seleccione una o mas 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 su BIOS no puede manejar discos duros grandes y reporta un tamaño limitado, debe habilitar la siguiente opción para tener acceso al disco duro completo:

Listado de Código 3.5: Seleccionar soporte para redimensionamiento automático por geometría

(Solo kernel 2.4.x)
ATA/IDE/MFM/RLL support --->
  IDE, ATA and ATAPI Block devices --->
    <*>   Include IDE/ATA-2 DISK support
    [ ]     Use multi-mode by default
    [*]     Auto-Geometry Resizing support

Si está usando PPPoE para conectarse a Internet o está usando un modem dial-up, necesitará las siguientes opciones en el kernel:

Listado de Código 3.6: Seleccionar los controladores PPPoE necesarios

(Con un kernel 2.4.x)
Network device support --->
  <*> PPP (point-to-point protocol) support
  <*>   PPP support for async serial ports
  <*>   PPP support for sync tty ports

(Con un kernel 2.6.x)
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 lo afectan pero no son necesarias, ni para la opciónPPP over Ethernet, tal vez solo sea usada por rp-pppoe cuando configure un kernel en modo PPPoE.

Si lo requiere, no olvide incluir el soporte en el kernel para su tarjeta ethernet:

Si tiene un CPU Intel que soporte HyperThreading (tm), o tiene un sistema multi-CPU, debe activar "Symmetric multi-processing support":

Listado de Código 3.7: Activar el soporte SMP

Processor type and features  --->
  [*] Symmetric multi-processing support

Si usa dispositivos de entrada USB (como un ratón o teclado) no olvide activarlos también:

Listado de Código 3.8: Activar Soporte para Dispositivos de Entrada USB

USB Support --->
  <*>   USB Human Interface Device (full HID) support

Los usuarios de laptops que quieran soporte PCMCIA no deben usar los controladores PCMCIA si eligen usar un kernel 2.4. Controladores más recientes están disponibles a través del paquete pcmcia-cs que será instalado después. Los usuarios de kernel 2.6 sin embargo, si deben usar los controladores PCMCIA desde el kernel.

Cuando haya terminado de configurar el kernel, continue con Compilar e Instalar.

Compilar e Instalar

Ahora que ya está configurado su kernel, es hora de compilarlo e instalarlo. Salga de la configuración y ejecute make dep && make bzImage modules modules_install:

Listado de Código 3.9: Compilar el kernel

(Para un kernel 2.4)
# make dep && make bzImage modules modules_install

(Para un kernel 2.6)
# make && make modules_install

Cuando el kernel ha terminado de compilar, copie la imagen a /boot. De aquí en adelante asumimos que el kernel que está instalando es la versión 2.4.26 de las gentoo-sources. Use el nombre que le parezca apropiado y recuerde que lo necesitará después cuando configure el gestor de arranque.

Listado de Código 3.10: Instalar el kernel

# cp arch/i386/boot/bzImage /boot/kernel-2.4.26-gentoo-r6
# cp System.map /boot/System.map-2.4.26-gentoo-r6

También sería bueno que copiara el archivo de configuración del kernel a /boot, por si acaso :)

Listado de Código 3.11: Respaldar la configuración del kernel

# cp .config /boot/config-2.4.26-gentoo-r6

Ahora continue con Instalar Módulos del Kernel Separadamente.

7.d. Alternativa: Usar genkernel

Si está leyendo esta sección, eligió usar nuestro guión genkernel para configurar el kernel.

Ahora que el árbol de las fuentes del kernel está instalado, es hora de compilarlo usando nuestro guión genkernel que automáticamente construirá un kernel. genkernel trabaja configurando un kernel prácticamente idéntico al kernel de nuestro LiveCD. Esto significa que cuando use genkernel para construir su kernel, su sistema generalmente detectará todo su hardware en el arranque, tal como lo hace el LiveCD. Debido a que genkernel no requiere ningúna configuración manual del kernel, es una solución ideal para esos usuarios que no se sienten cómodos compilando sus propios kernels.

Ahora, veamos como usar genkernel. Primero, haga emerge al ebuild de genkernel:

Listado de Código 4.1: Instalando genkernel

# emerge genkernel

Ahora, compile las fuentes de su kernel ejecutando genkernel all. Recuerde que como genkernel compila un kernel 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 archivos, necesitará configurar manualmente su kernel usando genkernel --menuconfig all y agregar soporte para su sistema de archivos en el kernel (no como módulo).

Listado de Código 4.2: Ejecutar genkernel

# genkernel all

Una vez que genkernel haya terminado, un kernel, un conjunto completo de módulos y un disco raíz de inicio (initrd) serán creados. Usaremos el kernel e initrd para configurar un gestor de arranque mas tarde en este documento. Escriba los nombres del kernel 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 (tal como en el LiveCD) antes que inicie su sistema "real".

Listado de Código 4.3: Verificar los nombres del kernel e initrd creados

# ls /boot/kernel* /boot/initrd*

Ahora vamos a realizar un paso más para que nuestro sistema sea mas parecido al LiveCD -- vamos a instalar hotplug. Mientras initrd autodetecta el hardware necesario para arrancar su sistema, hotplug autodetecta todo lo demás. Para instalar y habilitar hotplug, escriba lo siguiente:

Listado de Código 4.4: Instalar y habilitar hotplug

# emerge hotplug
# rc-update add hotplug default

7.e. Instalar Módulos del Kernel Separadamente

Instalar Módulos Adicionales

Sí es apropiado, debe instalar ebuilds para el hardware adicional en su sistema. A continuación se muestra una lista de ebuilds relacionados con el kernel que podría instalar:

Ebuild Propósito Comando
nvidia-kernel Aceleración de gráficos NVIDIA para xorg-x11 emerge nvidia-kernel
nforce-audio Placas madre con audio NVIDIA NForce(2) emerge nforce-audio
e100 Adaptadores Intel e100 Fast Ethernet emerge e100
e1000 Adptadores Intel e1000 Gigabit Ethernet emerge e1000
emu10k1 Soporte para Creative Sound Blaster Live!/Audigy support (solo kernels 2.4) emerge emu10k1
ati-drivers Aceleración de gráficos ATI Radeon 8500+/FireGL para xorg-x11 emerge ati-drivers
ati-drivers-extra Herramientas gráficas ATI emerge ati-drivers-extra

Tenga cuidado, algunos de esos ebuild pueden tener grandes dependencias. Para verificar que paquetes serán instalador al instalar un ebuild, use emerge --pretend. Por ejemplo, para el paquete emu10k1:

Listado de Código 5.1: Ver el listado completo de paquetes a instalar

# emerge --pretend emu10k1

Si no le gustan los paquetes que se instalarán, use emerge --pretend --verbose para ver que parámetros USE están activados cuando decide las dependencias:

Listado de Código 5.2: Ver el uso de parámetros USE

# emerge --pretend --verbose emu10k1
...
[ebuild  N    ] media-sound/aumix-2.8  +gpm +nls +gtk +gnome +alsa -gtk2

En el ejemplo anterior puede ver que una de las dependencias de emu10k1 (aumix) tiene los parámetros USE gtk y gnome, lo que hace que gtk (que depende de xorg-x11) también se compile.

Si no quiere que todo esto se compile, desmarque las parámetros USE, por ejemplo:

Listado de Código 5.3: Instalar emu10k1 con todas los parámetros USE desmarcados

# USE="-gpm -nls -gtk -gnome -alsa" emerge --pretend emu10k1

Cuando esté contento con los resultados, remueva el --pretend para empezar a instalar emu10k1.

Configurar los Módulos

Debe listar los módulos que quiera cargar automáticamente en /etc/modules.autoload.d/kernel-2.4 (o en kernel-2.6). Puede agregar opciones estra a los módulos si lo desea.

Para ver todos los módulos disponibles, ejecute el comando find. No olvide sustituir "<versión del kernel>" con la versión del kernel que acaba de compilar:

Listado de Código 5.4: Ver todos los módulos disponibles

# find /lib/modules/<versión del kernel>/ -type f -iname '*.o' -or -iname '*.ko'

Por ejemplo, para cargar automáticamente el módulo 3c59x.o, edite el archivo kernel-2.4 o kernel-2.6 y escriba el nombre del módulo ahí.

Listado de Código 5.5: Editar /etc/modules.autoload.d/kernel-2.4

(Ejemplo para un kernel 2.4)
# nano -w /etc/modules.autoload.d/kernel-2.4

Listado de Código 5.6: /etc/modules.autoload.d/kernel-2.4 ó kernel-2.6

3c59x

Ahora ejecute modules-update para enviar los cambios al archivo /etc/modules.conf:

Listado de Código 5.7: Ejecutar modules-update

# modules-update

Continúe la instalación con Configurar su Sistema.


[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


Imprimir

Ver completo

Página actualizada 21 de octubre, 2004

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 hacerlo.

Daniel Robbins
Autor

Sven Vermeulen
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
Desarrollador Gentoo 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

Grant Goodyear
Revisor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

Lars Weiler
Contribuidor

José Alberto Suárez López
Editor-Es

John Christian Stoddart
Editor-Es Adjunto

Donate to support our development efforts.

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