Handbook:Parts/Installation/Kernel/es

Firmware
Antes de comenzar a configurar las secciones del núcleo, es conveniente tener en cuenta que algunos dispositivos físicos requieren la instalación de firmware adicional, a veces no compatible con FOSS, en el sistema antes de que funcionen correctamente. Este suele ser el caso de las interfaces de red inalámbrica que se encuentran comúnmente en las computadoras de escritorio y portátiles. Los chips de video modernos de proveedores como AMD, Nvidia e Intel, a menudo también requieren archivos de firmware externos para ser completamente funcionales. La mayoría del firmware para dispositivos hardware modernos se puede encontrar en el paquete.

Se recomienda tener instalado el paquete antes del reinicio inicial del sistema para tener el firmware disponible en caso de que sea necesario:

Es importante tener en cuenta que los símbolos del núcleo que se construyen como módulos (M) cargarán sus archivos de firmware asociados desde el sistema de archivos cuando el núcleo los cargue. No es necesario incluir los archivos de firmware del dispositivo dentro de la imagen binaria del núcleo para los símbolos cargados como módulos.

Microcódigo
Además del específico para el hardware de gráficos y las interfaces de red, las CPUs también pueden requerir actualizaciones de firmware. Normalmente, este tipo de firmware se conoce como microcódigo. A veces se necesitan revisiones más recientes del microcódigo para parchear la inestabilidad, los problemas de seguridad u otros errores diversos en el hardware de la CPU.

Las actualizaciones de microcódigo para las CPUs de AMD se distribuyen dentro del paquete mencionado anteriormente. El microcódigo para CPUs Intel se puede encontrar dentro del paquete, que deberá instalarse por separado. Consulte el artículo sobre microcódigo para obtener más información sobre cómo aplicar actualizaciones de microcódigo.

Configuración y compilación del núcleo
Ahora es el momento de configurar y compilar las fuentes del núcleo. A efectos de instalación, se presentarán tres enfoques para la gestión del núcleo; sin embargo, en cualquier momento posterior a la instalación, se puede cambiar de enfoque.

Ranked from least involved with least control over updates, to most involved with most control over updates:


 * 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.
 * 3) Usar un núcleo de la Distro para compilar e instalar automáticamente el núcleo Linux como cualquier otro paquete.

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
When installing and compiling the kernel for -based systems, Gentoo recommends the package.

Choose an appropriate kernel source and install it using :

Esto instalará las fuentes del núcleo Linux en usando la versión específica del kernel en el nombre de la ruta. No creará un enlace simbólico de forma automática a no ser que la  esté habilitada en el paquete de fuentes del núcleo elegido.

Es una convencion que se mantenga el enlace simbólico, de modo que se refiera a las fuentes que correspondan con el núcleo que se está ejecutando actualmente. Sin embargo, este enlace simbólico no se creará por defecto. Una manera fácil de crear el enlace simbólico es utilizar el módulo kernel de eselect.

Para obtener más información sobre la finalidad del enlace simbólico y cómo administrarlo, consulte Kernel/Upgrade.

Primero, enumere todos los núcleos instalados:

Para crear un enlace simbólico llamado, use:

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

Genkernel provides a generic kernel configuration file, automatically generates the kernel, initramfs, and associated modules, and then installs the resulting binaries to the appropriate locations. This results in minimal and generic hardware support for the system's first boot, and allows for additional update control and customization of the kernel's configuration in the future.

Be informed: while using to maintain the kernel provides system administrators with more update control over the system's kernel, initramfs, and other options, it will require a time and effort commitment to perform future kernel updates as new sources are released. Those looking for a hands-off approach to kernel maintenance should use a distribution kernel.

For additional clarity, it is a misconception to believe genkernel automatically generates a custom kernel configuration for the hardware on which it is run; it uses a per-determined kernel configuration that supports most generic hardware and automatically handles the commands necessary to assemble and install the kernel, the associate modules, and the initramfs file.

Binary redistributable software license group
If the linux-firmware package has been previously installed, then skip onward to the to the installation section.

As a prerequisite, due to the  USE flag being enabled by default for the  package, the package manager will also attempt to pull in the  package. The binary redistributable software licenses are required to be accepted before the linux-firmware will install.

This license group can be accepted system-wide for any package by adding the  as an ACCEPT_LICENSE value in the  file. It can be exclusively accepted for the linux-firmware package by adding a specific inclusion via a file.

If necessary, review the methods of accepting software licenses available in the Installing the base system chapter of the handbook, then make some changes for acceptable software licenses.

If in analysis paralysis, the following will do the trick:

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

Generation
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".

Introducción
La configuración manual de un núcleo a menudo se considera el procedimiento más difícil que un usuario de Linux debe realizar. Nada mas falso - ¡después de configurar un par de núcleos, nadie recuerda que fuera difícil!

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
Al usar, se recomienda encarecidamente que se habiliten las opciones de configuración específicas de Gentoo. Ésto asegura que estén disponibles un mínimo de características del núcleo requeridas para el funcionamiento adecuado:

Naturalmente, la elección en las últimas dos líneas depende del sistema de inicio seleccionado (OpenRC vs. systemd). No está de más tener habilitado el soporte para ambos sistemas de inicio.

Al usar, las selecciones adicionales para los sistemas de inicio no estarán disponibles. Es posible habilitar el soporte, pero va más allá del alcance del manual.

Enabling support for typical system components
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 ):

Verify basic NVMe support has been enabled:

It does not hurt to enable the following additional NVMe support:

Vaya ahora a File Systems y seleccione el soporte para los sistemas de archivos que se vayan a usar en el sistema. No compile como módulo el sistema de archivos que vaya a utilizar para el sistema de archivos raíz, de lo contrario su sistema Gentoo podría no conseguir 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 (initial ram-based file system). 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 riesgo de que el sistema no se inicie de forma correcta ya que las herramientas responsables de montar los sistemas de archivos requieren información que se encuentra en sistemas de archivos que aún no están montados. 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.

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:

Force loading particular kernel modules
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.

Note that the module's file suffix is insignificant to the loading mechanism and left out of the configuration file:

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