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.

Clasificadas desde las menos involucradas con el control sobre las actualizaciones hasta las más involucradas con el control sobre las actualizaciones:


 * Automatización completa: un Núcleo de Distribución se usa para configurar, compilar e instalar automáticamente el núcleo Linux, sus módulos asociados y (opcionalmente, pero habilitado de manera predeterminada) un archivo initramfs. Las actualizaciones futuras del núcleo están completamente automatizadas, ya que se gestionan a través del administrador de paquetes, como cualquier otro paquete del sistema. Es posible proporcionar un archivo de configuración personalizado del núcleo si es necesaria la personalización. Este es el proceso menos complicado y es perfecto para los nuevos usuarios de Gentoo, pero ofrece el menor control de actualizaciones.
 * Genkernel (híbrido): Las nuevas fuentes del núcleo se instalan a través del administrador de paquetes del sistema. Los administradores de sistemas usan la herramienta de Gentoo para configurar, compilar e instalar automáticamente el núcleo Linux, sus módulos asociados y (opcionalmente, pero no habilitado por defecto) un archivo initramfs archivo. Es posible proporcionar un archivo de configuración personalizado del núcleo si es necesaria la personalización. La configuración, compilación e instalación futuras del núcleo requieren la participación del administrador del sistema en la forma de ejecutar,  y potencialmente otros comandos para cada actualización.
 * Manual configuration: Las nuevas fuentes del núcleo se instalan a través del administrador de paquetes del sistema. El núcleo se configura, construye e instala manualmente usando y una serie de comandos . Las futuras actualizaciones del núcleo repiten el proceso manual de configuración, creación e instalación de los archivos del núcleo. Este es el proceso más complicado, pero ofrece el máximo control sobre el proceso de actualización del núcleo.

El eje alrededor del cual se construyen todas las distribuciones es el núcleo Linux. Es la capa entre los programas del usuario y el hardware del sistema. Aunque el manual proporciona a sus usuarios varias fuentes posibles del núcleo, hay disponible una lista más completa y con descripciones más detalladas en la página de descripción general del núcleo.

Instalar las fuentes del núcleo
Al instalar y compilar el núcleo para sistemas basados en, Gentoo recomienda el paquete.

Elija una fuente del núcleo adecuada e instálela usando :

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: Genkernel
Si una configuración completamente manual parece demasiado desafiante, los administradores del sistema deberían considerar usar como un enfoque híbrido para el mantenimiento del núcleo.

Genkernel proporciona un archivo de configuración de núcleo genérico, automáticamente genera el kernel (núcleo), initramfs y los módulos asociados, y luego instala los archivos binarios resultantes en las ubicaciones apropiadas. Esto da como resultado una compatibilidad con el hardware mínima y genérica para el primer arranque del sistema y permite un control adicional de actualizaciones y personalización de la configuración del núcleo en el futuro.

Queda avisado: si bien el uso de para mantener el núcleo brinda a los administradores del sistema un mayor control de actualización sobre el núcleo del sistema, initramfs y otras opciones, "requerirán" un compromiso de tiempo y esfuerzo para materializar las futuras actualizaciones del núcleo a medida que se lanzan nuevas fuentes. Aquellos que busquen un enfoque de no intervención para el mantenimiento del núcleo deberían usar un núcleo de distribución.

Para mayor claridad, es un "concepto erróneo" creer que genkernel genera automáticamente una configuración del núcleo "personalizada" para el hardware en el que se ejecuta; utiliza una configuración del núcleo determinada que admite la mayoría del hardware genérico y maneja automáticamente los comandos necesarios para ensamblar e instalar el núcleo, los módulos asociados y el archivo initramfs.

Grupo de licencias de software binario redistribuible
Si el paquete de firmware de linux se instaló previamente, salte a la sección de instalación.

Como requisito previo, debido a que el valor USE  está habilitado de forma predeterminada para el paquete, el administrador de paquetes también intentará instalar el paquete. Las licencias de software binario redistribuible deben aceptarse antes de que se instale el linux-firmware.

Este grupo de licencias se puede aceptar de forma global para cualquier paquete agregando  como un valor ACCEPT_LICENSE en el archivo. Se puede aceptar exclusivamente para el paquete de linux-firmware agregando una inclusión específica a través de un archivo.

Si es necesario, revise los métodos para aceptar licencias de software disponibles en el capítulo Instalando el sistema base del manual, luego realice algunos cambios para las licencias de software aceptables.

Si no sabe que que decidir sobre este tema, lo siguiente funcionará:

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.