Handbook:Parts/Installation/Kernel/es

Opcional: Instalar firmware y/o microcódigo
Algunos controladores (drivers) requieren que haya un firmware instalado previamente para poder hacer su trabajo. A menudo ocurre con las interfaces de red, especialmente con las de redes inalámbricas. Igualmente, los chips de vídeo actuales de fabricantes como AMD, NVidia e Intel cuando utilizan controladores de código abierto, a menudo necesitan ficheros de firmware externos. La mayoría del firmware está agrupado en :

In addition to discrete graphics hardware and network interfaces, CPUs also can require firmware updates. Typically this kind of firmware is referred to as microcode. Newer revisions of microcode are sometimes necessary to patch instability, security concerns, or other bugs in CPU hardware.

Microcode updates for AMD CPUs are typically distributed with the aforementioned linux-firmware package. Microcode for Intel CPUs can be found in the package, which will need to be installed separately. See the Microcode article for more information on how to apply microcode updates.

Kernel configuration and compilation
Es el momento de configurar y compilar las fuentes del núcleo. Hay dos maneras de hacer esto:


 * 1) Se configura y construye el núcleo manualmente.
 * 2) Se utiliza una herramienta llamada  para construir e instalar automáticamente el núcleo Linux.

Explicaremos la configuración manual como la opción por defecto ya que es la mejor manera para optimizar un entorno concreto.

El eje 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 de núcleo. Una lista completa está disponible en la página resumen del Núcleo.

Instalar las fuentes
Para sistemas basados en Gentoo recomienda el paquete.

Elija sus fuentes del núcleo e instálelas usando.

Esto instalará las fuentes del núcleo Linux en junto con un enlace simbólico llamado  que estará apuntando a las fuentes del núcleo instaladas:

It is conventional for a symlink to be maintained, such that it refers to whichever sources correspond with the currently running kernel. However, this symbolic link will not be created by default. An easy way to create the symbolic link is to utilize eselect's kernel module.

For further information regarding the purpose of the symlink, and how to manage it, please refer to Kernel/Upgrade.

First, list all installed kernels:

In order to create a symbolic link called, use:

Introducción
Configurar manualmente un núcleo frecuentemente es considerado el procedimiento más difícil que tiene que realizar un usuario de Linux. Nada más lejos de la realidad, después de configurar un par de núcleos nadie recuerda lo difícil que era ;&#41;

Sin embargo, una cosa sí es cierta: es vital conocer el sistema para configurar manualmente un núcleo. La mayor cantidad de información se puede obtener instalando que contiene la orden :

Otra fuente de información sobre nuestro sistema consiste en ejecutar para ver los módulos del nucleo que ha usado el CD de instalación y tener así buenas indicaciones sobre qué habilitar.

Ahora vaya al directorio de las fuentes del núcleo y ejecute. Esto generará una pantalla de configuración basada en menús.

La configuración del núcleo Linux tiene muchas, muchas secciones. Veamos primero una lista con algunas opciones que deben ser activadas (en caso contrario Gentoo no funcionará o no funcionará adecuadamente sin ajustes adicionales). También tenemos la Guía de configuración del núcleo Gentoo en la wiki de Gentoo que también podría ayudar.

Activar opciones necesarias
Si está utilizando, le recomendamos encarecidamente que habilite las opciones de configuración específicas de Gentoo. Estas aseguran que un mínimo de características del núcleo requeridas para un funcionamiento adecuado estén disponibles:

Naturalmente su elección en las dos últimas líneas depende de su elección del sistema de inicio (OpenRC vs. Systemd).

Naturally the choice in the last two lines depends on the selected init system (OpenRC vs. systemd). It does not hurt to have support for both init systems enabled.

Si usa, deberá encontrar las opciones requeridas por si mismo.

Asegúrese que todos los controladores vitales para el arranque del sistema (como pueden ser los de SCSI, etc.) están compilados dentro del núcleo y no como módulos o, de lo contrario, su sistema no será capaz de arrancar correctamente.

A continuación seleccione con exactitud el tipo de procesador. Se recomienda habilitar las funcionalidades MCE (si están disponibles) de manera que los usuarios puedan ser informados de cualquier problema en este hardware. En algunas arquitecturas (como x86_64) estos errores no son presentados a través de sino de. Para ello se requiere el paquete.

A continuación seleccione Maintain a devtmpfs file system to mount at /dev de modo que los archivos de dispositivo críticos estén disponibles cuanto antes en el proceso de inicio ( CONFIG_DEVTMPFS y CONFIG_DEVTMPFS_MOUNT ):

Verificar que se ha activado el soporte de disco SCSI ( CONFIG_BLK_DEV_SD ):

Vaya ahora a File Systems y seleccione el soporte para los sistemas de archivos que vaya a utilizar. No compile como módulo el sistema de ficheros que vaya a utilizar para el raíz, de lo contrario su sistema Gentoo no podrá montar la partición raíz. También deberá seleccionar Virtual memory y /proc file system. Selecionar una o más de las siguientes opciones según las necesidades del sistema ( CONFIG_EXT2_FS, CONFIG_EXT3_FS , CONFIG_EXT4_FS , CONFIG_MSDOS_FS , CONFIG_VFAT_FS , CONFIG_PROC_FS y CONFIG_TMPFS ):

Si está usando PPPoE para conectarse a Internet, o está usando un módem telefónico, habilite las siguientes opciones ( CONFIG_PPP, CONFIG_PPP_ASYNC y CONFIG_PPP_SYNC_TTY ):

Las dos opciones de compresión no están de más aunque no son necesarias, como tampoco lo es la opción PPP sobre Ethernet, que sólo podría utilizarse cuando se configure un núcleo en modo PPPoE.

No olvide incluir el soporte en el núcleo para su tarjeta de red (Ethernet o inalámbrica).

Muchos sistemas también tienen varios núcleos a su disposición, así que es importánte activar Symmetric multi-processing support ( CONFIG_SMP ):

Si utiliza dispositivos de entrada USB (como un teclado o un ratón) u otros, no olvide activarlos también ( CONFIG_HID_GENERIC y CONFIG_USB_HID, CONFIG_USB_SUPPORT , CONFIG_USB_XHCI_HCD , CONFIG_USB_EHCI_HCD , CONFIG_USB_OHCI_HCD ):

(Opcional) Construir un sistema de archivos de inicio en memoria -Initramfs-
En ciertos casos es necesario construir un initramfs - un sistema de archivos inicial basado en memoria. El caso mas común se da cuando partes importantes del sistema de archivos (como o ) están en particiones separadas. Con un initramfs, estas particiones pueden ser montadas utilizando las herramientas disponibles dentro del initramfs.

Sin un initramfs, hay un gran riesgo de que el sistema no se inicie de forma correcta ya que las herramientas responsables de montar los sistemas de archivos necesitan información que se encuentra en esos mismos sistemas de archivos. Un initramfs obtendrá los archivos necesarios y los pondrá en otro 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 initramfs se asegurarán de que las particiones se han montado correctamente antes de que el sistema continúe con su inicio.

Para instalar un initramfs, en primer lugar instale, a continuación genere el initramfs:

El initramfs se almacenará en. Puede encontrar este archivo simplemente listando aquéllos ficheros que comienzan por initramfs:

Ahora continúe con Módulos del núcleo.

Alternativa: Usar genkernel
Si la configuración manual parece demasiado complicada, entonces se recomienda usar. La configuración y construcción del núcleo se hará de forma automática.

La herramienta trabaja configurando un núcleo prácticamente idéntico al núcleo del CD de instalación. Esto significa que cuando use para construir el núcleo, el sistema normalmente detectará todo su hardware durante el proceso de arranque, tal como lo hace el CD de instalación. Debido a que no requiere ninguna configuración manual del núcleo, es una solución ideal para aquellos usuarios que no se sienten cómodos compilando sus propios núcleos.

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

A continuación, edite el fichero de modo que la línea que contiene  en el segundo campo tenga el primer campo apuntando al dispositivo correcto. Si se sigue el ejemplo de particionamiento del manual, entonces este dispositivo es, seguramente con un sistema de archivos ext2. Esto haría que la línea en el archivo tuviera el siguiente aspecto:

Ahora, compile las fuentes del núcleo ejecutando. Tenga en cuenta que, dado que compila un núcleo que soporta casi todo el hardware, ¡esta compilación tardará un rato en terminar!

Una vez que genkernel haya terminado, un núcleo, un conjunto completo de módulos y un disco de inicio en ram (initramfs) se habrán creado. Usaremos el núcleo e initramfs para configurar un gestor de arranque más tarde en este documento. Anote los nombres del núcleo y de initramfs ya que los necesitará cuando edite el archivo de configuración del gestor de arranque. El initramfs se iniciará inmediatamente después del arranque para realizar la autodetección de hardware (igual que en el CD de instalación) antes del inicio del sistema "real".

Configurar los módulos
Los módulos que necesitan ser cargados automáticamente se listan en los ficheros indicando un módulo en cada línea. Las opciones extra para los módulos, en caso de ser necesarias, se deben definir en los ficheros.

Para ver todos los módulos disponibles, ejecute la siguiente orden. No olvide sustituir "" por la versión del núcleo que acaba de compilar:

Por ejemplo, para cargar automáticamente el módulo (que es un controlador para una tarjeta de red específica de la familia 3Com), edite el archivo  y escriba el nombre del módulo. El nombre real del fichero no es representativo para el cargador.

Continúe la instalación con Configurar el sistema.