Configurando el kernel

Lo primero que debemos hacer es configurar la zona horaria para esto usaremos los comandos:
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/America/Guatemala /etc/localtime
# echo “America/Guatemala” > /etc/timezone
INSTALAR LAS FUENTES:
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 x86 tenemos, entre otros núcleos, gentoo-sources (fuentes del núcleo modificadas para obtener algunas características adicionales).
# emerge gentoo-sources

Emerge se encargará de descargar, desempaquetar e instalar las fuentes necesarias para compilar el kernel.
Existen dos maneras de configurar y compilar las fuentes del núcleo:
1. Podemos usar genkernel, que construirá un nucleo genérico como el usado por el cd de instalación.
2. La configuración manual que es la recomendable para optimizar el entorno gentoo.

USAR GENKERNEL
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.
Primero, instalaremos genkernel
# emerge genkernel
Ahora, compilaremos las fuentes del núcleo ejecutando genkernel all. Recordemos que genkernel compila un núcleo que soporta casi todo el hardware, ¡esta compilación tardará un rato en terminar!
# 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".
Nota: A este punto podría darnos un error en “BUSY_BOX”. Para solucionar éste problema debemos cambiar un archivo asi:
#nano -w usr/share/genkernel/defaults/busy-config

de:
CONFIG_FEATURE_MOUNT_NFS=y
a:
CONFIG_FEATURE_MOUNT_NFS=n

y luego vamos nuevamente a "genkernel all".
Existe otra forma de compilar nuestras fuentes de kernel, y es haciendo una copia del LiveCD en el computador. Luego de instalar las gentoo-sources y genkernel se hace lo siguiente:

#zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config

y luego:

#genkernel all
Esta configuración está recomendada para novatos en linux. Para las personas que quieran personalizar su kernel pueden usan “genkernel –menuconfig all” en vez de “genkernel all”.
Sí a este punto emerge nos da error, es porque el servidor rsync que elegimos (en nuestro caso Giorgia Tech) está temporalmente fuera de servicio o sobre cargado. Simplemente hay que volver a la configuración de los mirrors y elegir otro, ya sea desde ésta consola o cambiar de consola con la combinación Alt + F2, la que sigue portando liveCD.
Para ver el nombre de nuestro kernel y el initramfs escribimos

ls /boot/kernel* /boot/initramfs*

initramfs-genkernel-x86-3.2.12-gentoo
kernel-genkernel-x86-3.2.12-gentoo

Recordemos copiar estos nombres puesto que nos servirán para configurar el arranque del sistema.

CONFIGURACION Y COMPILACION MANUAL DEL KERNEL (si usó genkernel, saltarse este paso)
Empezamos ingresando al directorio de sus fuentes y ejecute make menuconfig. Esto producirá un menú de configuración basado en ncurses
# 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).
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.
Seleccione la familia correcta de procesadores:
Processor type and features --->
  (Selecciónelo de acuerdo a su sistema)
  (Athlon/Duron/K7) Processor family
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
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.
File systems --->
(Seleccione una o más de las siguientes opciones según las necesite su sistema)
  <*> 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
Si tiene un CPU Intel que soporte HyperThreading (tm), o tiene un sistema multi-CPU, debe activar "Symmetric multi-processing support"
Processor type and features  --->
  [*] Symmetric multi-processing support
Si se dispone de más de 4GB de RAM, es necesario activar "High Memory Support (64G)".
Si usa dispositivos de entrada USB (como un ratón o teclado) no olvide activarlos también
Device Drivers --->
USB Devices --->
  [*]   USB Human Interface Device (full HID) support
Se debe tomar en cuenta que las configuraciones anteriores son solo una peque;a parte de lo que podemos configurar en el núcleo de gentoo. Tomese el tiempo que necesite para revisar las opciones que necesitará, en caso se nos olvidara configurar algo no hay problema ya que podemos acceder a las configuraciones del kernel y volver a compilarlo con nuevas opciones.
Una vez hemos configurado el kernel preiconamos esc esc para salir a la consola compilamos
# make
#make modules_install
Una vez terminado debemos escribir el siguiente comando para ver el nombre de nuestro kernel
# ls /boot/kernel
Es importante que anotemos el nombre de nuestro kernel ya que este nos ayudara a configurar el arranque del sistema.
Copiamos la imagen a /boot.
# cp arch/i386/boot/bzImage /boot/kernel-3.2.12-gentoo
 
No olvidemos cambiar kernel-3.2.12-gentoo por el nombre de nuestro kernel.

7 comentarios:

  1. La verdad que nunca he usado genkernel, pero me surge una duda.

    Que pasa si compilo el núcleo con ayuda de genkernel y en un futuro ocupo agregar un nuevo modulo eso lo podría hacer con #genkernel --menuconfig all, bueno la pregunta es que si de esa forma el núcleo se va a recompilar completamente o para que no se compile completamente debo usar #genkernel --menuconfig -no-clean --no-mrproper all.

    Pregunta ya que cuando compilo el kernel de la forma manual solo la primera vez se compila totalmente (obvio) y en futuras ocasiones se tarda muy poco porque solo compila las nuevas partes y recompila las necesarias.

    ResponderEliminar
  2. Es recomendable usar genkernel solo la primera compilación, y luego al hacer modificaciones a otros módulos, hacerlo de forma manual. Para serte sincera desde que leí que Genkernel construía un kernel parecido al del liveCD lo trabajé de esta manera y me funcionó bastante bien. Suerte.
    Tai

    ResponderEliminar
  3. Entiendo la respuesta que me das, pero bueno solo quería saber como se trabaja completamente con genkernel.

    Personalmente me gusta de la forma manual y dejarlo bien configurado a mi maquina. Para que tener "cosas" innecesarias.

    Existos.

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Tienes razón, no había entendido tu pregunta. Sí corres Genkernel all SI se compila todo el kernel de nuevo, debes usar #genkernel --menuconfig -no-clean --no-mrproper all, lo siento esque creí que lo que estabas diciendo era un comentario, no entendí que era pregunta. Cada vez que utilizas Genkernel all, las configuraciones por "default" vuelven a establecerse, en capitulos más adelante lo sugiero en caso te dé error al instalar el servidor X, claro que es un último recurso para nuevos en gentoo, por que toma bastante tiempo familiarizarse con todas las configuraciones de tu hardware si no lo conoces bien. Saludos.
    Tai

    ResponderEliminar
  6. hola, espero todavia esten vigentes.

    instale el genkernel pero no me levanta la tarjeta de red alambrica algun comentario con respecto a eso???

    saludos y gracias

    ResponderEliminar