Manual de Gentoo Linux x86: Instalar Gentoo

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:X86/Full/Installation and the translation is 100% complete.



Introducción

Bienvenido

¡Bienvenidos a Gentoo! Gentoo es un sistema operativo gratuito basado en Linux que se puede optimizar y personalizar automáticamente para casi cualquier aplicación o necesidad. Está construido sobre un ecosistema de software libre y no oculta a sus usuarios lo que hay bajo el capó.

Franqueza

Las principales herramientas de Gentoo están construidas a partir de lenguajes de programación simples. Portage, el sistema de mantenimiento de paquetes de Gentoo, está escrito en Python. Ebuilds, que proporcionan definiciones de paquetes para Portage están escritos en bash. Se anima a nuestros usuarios a revisar, modificar y mejorar el código fuente de todas las partes de Gentoo.

De forma predeterminada, los paquetes sólo se parchean cuando es necesario para corregir errores o proporcionar interoperabilidad dentro de Gentoo. Se instalan en el sistema compilando el código fuente proporcionado por proyectos externos en formato binario (aunque también se incluye soporte para paquetes binarios precompilados). La configuración de Gentoo se realiza a través de archivos de texto.

Por las razones anteriores y otras: la "franqueza" está incorporada como un "principio de diseño".

Elección

La "elección" es otro "principio de diseño" de Gentoo.

Al instalar Gentoo, la elección se ve claramente a lo largo del Manual. Los administradores del sistema pueden elegir entre dos sistemas de inicio totalmente compatibles (el propio OpenRC de Gentoo y el systemd de Freedesktop.org), la estructura de partición para los discos de almacenamiento, qué sistemas de archivos usar en el disco( s), un perfil del sistema de referencia, elimine o agregue funciones a nivel global (en todo el sistema) o específico de cada paquete a través de indicadores USE, cargador de arranque, utilidad de administración de red y mucho, mucho más.

Como filosofía de desarrollo, Los autores de Gentoo intentan evitar forzar a los usuarios a utilizar un perfil de sistema o entorno de escritorio específico. Si se ofrece algo en el ecosistema GNU/Linux, es probable que esté disponible en Gentoo. Si no, nos encantaría que lo estuviera. Para solicitudes de nuevos paquetes, presente una petición o cree su propio repositorio de ebuilds.

Potencia

Ser un sistema operativo basado en código fuente permite que Gentoo pueda ser portado a nuevos conjuntos de instrucciones de arquitectura de procesador y también permite que todos los paquetes instalados sean ajustados. Esta fortaleza hace emerger otro “principio de diseño” de Gentoo: la “potencia”.

Un administrador de sistemas que haya instalado y personalizado Gentoo con éxito habrá compilado un sistema operativo personalizado a partir del código fuente. Todo el sistema operativo se puede ajustar a nivel binario a través de los mecanismos incluidos en el archivo make.conf de Portage. Si así lo desea, se pueden realizar ajustes por paquete o por grupos de paquetes. De hecho, se pueden agregar o eliminar conjuntos completos de funciones utilizando indicadores USE.

Es muy importante que el lector del Manual comprenda que estos principios de diseño son los que hacen que Gentoo sea único. Con los principios de gran potencia, muchas opciones y franqueza extrema resaltados, se debe emplear rigor, reflexión e intencionalidad al usar Gentoo.

Cómo se estructura la instalación

La instalación de Gentoo puede verse como un procedimiento de diez pasos. Después de cada paso se alcanza cierto estado:

Paso Resultado
1 El usuario dispone de un entorno de trabajo listo para instalar Gentoo.
2 La conexión a Internet estará preparada para instalar Gentoo.
3 Los discos duros están inicializados para alojar la instalación Gentoo.
4 El entorno de instalación está preparado y el usuario puede entrar en una jaula chroot.
5 Los paquetes principales, que son los mismos en toda instalación Gentoo, están instalados.
6 El núcleo Linux está instalado.
7 Se crean la mayoría de los archivos de configuración del sistema.
8 Las herramientas del sistema necesarias están instaladas.
9 Se ha instalado y configurado el cargador de arranque apropiado.
10 El entorno Gentoo Linux recién instalado está preparado para ser explorado.

Siempre que se presenta cierta elección, se tratará de explicar en el manual los pros y los contras de cada opción. Aunque el texto continuará con una opción por defecto (Identificada con "Por defecto:" en el título). No crea que esta opción por defecto es la recomendada por Gentoo. Es, sin embargo y así lo creemos en Gentoo por la que la mayoría de los usuarios optará.

Algunas veces se puede seguir un paso opcional. Estos pasos están marcados como "Opcional: " y por tanto no son necesarios para instalar Gentoo. Sin embargo, algunos pasos opcionales dependen de una decisión tomada previamente. Le informaremos cuando se dé el caso, tanto cuando tome la decisión, como cuando se describa el paso opcional.

Opciones de instalación para Gentoo

Gentoo se puede instalar de formas muy diversas. Se puede descargar e instalar desde un medio de instalación oficial de Gentoo como nuestras imágenes ISO arrancables. Los medios se pueden instalar desde un dispositivo de almacenamiento USB o se pude acceder a ellos a través de un entorno arrancado desde red. Alternativamente, se puede instalar Gentoo desde medios no oficiales como una distribución ya instalada o un disco que no contenga Gentoo (por ejemplo Knoppix).

Este documento cubre la instalación utilizando un medio de instalación oficial de Gentoo o, en algunos casos, instalación por red.

Nota
Para encontrar ayuda acerca de otros procedimientos de instalación, incluyendo el uso de medios arrancables ajenos a Gentoo, por favor, lea nuestra guía sobre métodos alternativos de instalación.

También ofrecemos un documento de consejos y trucos para instalar Gentoo que también puede ser de utilidad.

Problemas

Si encuentra algún problema durante la instalación (o con el documento de instalación), por favor, visite nuestro sistema de seguimiento de incidencias y compruebe si el problema es ya conocido. Si no lo es, por favor, cree un informe sobre él para que podamos echarle un vistazo. No tema a los desarrolladores a los que se les han asignado los informes de error, (normalmente) no se comen a nadie.

Aunque este documento es específico de la arquitectura puede contener referencias a otras arquitecturas ya que muchas partes del manual de Gentooo utilizan texto que es idéntico para todas las arquitecturas (con el fin de evitar la duplicación de esfuerzos). Estas referencias se conservan mínimamente para evitar confusiones.

Si hay alguna duda sobre si el problema es o no un problema del usuario (algún error cometido a pesar de haber leído la documentación cuidadosamente) o un problema de software (algún error que cometimos a pesar de haber probado la instalación/documentación cuidadosamente), todo el mundo es bienvenido a unirse al canal #gentoo (webchat) en irc.libera.chat. Por supuesto, cualquier otro es bienvenido también, ya que nuestro canal de chat cubre el amplio espectro de Gentoo.

Hablando de esto, si tiene cualquier pregunta adicional concerniente a Gentoo, eche un vistazo al artículo FAQ. También están disponibles las FAQs en los Foros de Gentoo.





Requisitos del hardware

Antes de continuar con el proceso de instalación, se deben cumplir los requisitos mínimos de hardware para instalar Gentoo exitosamente para la arquitectura del sistema x86.


CD minimalista LiveDVD
CPU i486 o posterior i686 o posterior
Memoria 256 MB 512 MB
Espacio en disco 2.5 GB (excluyendo espacio de intercambio)
Espacio de intercambio Al menos 256 MB

El proyecto X86 es un buen lugar al que ir para obtener mas información sobre el soporte a x86 de Gentoo.


Medios de instalación de Gentoo Linux

Consejo
Aunque se recomienda utilizar el medio de arranque oficial de Gentoo durante la instalación, es posible utilizar otros entornos de instalación. Sin embargo, no hay garantía de que contengan los componentes necesarios. Si se utiliza un entorno de instalación alternativo, vaya a Preparando de los discos.

El CD mínimalista de instalación

El CD de instalación mínima de Gentoo es una pequeña imagen de arranque: un entorno Gentoo autónomo. Esta imagen es mantenida por Desarrolladores Gentoo y está diseñada para permitir que cualquier usuario con conexión a Internet instale Gentoo. Durante el proceso de arranque, se detecta el hardware y se cargan automáticamente los controladores adecuados.

Las versiones de CD de instalación mínima se denominan con el formato: install-<arch>-minimal-<marca de tiempo de lanzamiento>.iso.

El LiveGUI de Gentoo

A algunos usuarios puede resultarles más fácil instalar Gentoo utilizando el LiveGUI, que ofrece un entorno de escritorio KDE. Además de proporcionar un entorno gráfico útil, el LiveGUI tiene más módulos del kernel y firmware, que pueden resultar útiles si se usan chipsets Wi-Fi modernos.

Nota
La imagen del LiveGUI USB de Gentoo se crea semanalmente para las plataformas amd64 y arm64.

Entonces, ¿Qué son los stages?

Un archivo de stage es un archivo que sirve como semilla para un entorno Gentoo.

Los archivos de stage 3 se pueden descargar desde releases/x86/autobuilds/ en cualquiera de los mirrors oficiales de Gentoo. Las stages se actualizan con frecuencia y, por lo tanto, no se incluyen en las imágenes live oficiales.

Consejo
Por ahora, los archivos stage se pueden ignorar. Se describirán con mayor detalle más adelante cuando sean necesarios
Nota
Históricamente, el manual describía los pasos de instalación para archivos stage con versiones inferiores a 3. Estas stages contenían entornos inadecuados para instalaciones típicas y ya no están cubiertos en el manual.

Descargar

Obtener los medios

El medio de instalación predeterminado utilizado por Gentoo Linux son los CD de instalación mínima, que proporcionan un entorno Gentoo Linux muy pequeño y de arranque. Este entorno contiene las herramientas necesarias para instalar Gentoo. Las imágenes en sí se pueden descargar desde la página de descargas (recomendado) o navegando manualmente a la ubicación ISO en una de las muchas mirrors disponibles.

Navegando por los mirrors de Gentoo

Si descarga desde un mirroe, los CD de instalación mínima se pueden encontrar en:

  1. Conéctese al mirror, normalmente usando uno local que se encuentre en mirrors de fuentes de Gentoo.
  2. Navegue hasta el directorio releases/.
  3. Seleccione el directorio para la arquitectura adecuada (por ejemplo x86/).
  4. Seleccione el directorio autobuilds/.
  5. Para las arquitecturas amd64 and x86 seleccione, bien el directorio current-install-amd64-minimal/, bien el directorio current-install-x86-minimal/ (respectivamente). Para las demás arquitecturas, navegar al directorio current-iso/.
Nota
Algunas arquitecturas como arm, mips y s390 no tendrán CDs mínimos de instalación. Por el momento El proyecto de ingeniería de liberaciones de Gentoo no ofrece el soporte para la construcción de ficheros .iso para estas arquitecturas.

Dentro de esta localización el fichero del medio de instalación es el que tiene el sufijo .iso. Por ejemplo, eche un vistazo a la siguiente lista:

CÓDIGO Ejemplo de listado de archivos descargables en releases/amd64/autobuilds/current-install-amd64-minimal/
[TXT]	install-amd64-minimal-20231112T170154Z.iso.asc	        2023-11-12 20:41        488
[TXT]	install-amd64-minimal-20231119T164701Z.iso.asc	        2023-11-19 18:41        488
[TXT]	install-amd64-minimal-20231126T163200Z.iso.asc	        2023-11-26 18:41        488
[TXT]	install-amd64-minimal-20231203T170204Z.iso.asc	        2023-12-03 18:41        488
[TXT]	install-amd64-minimal-20231210T170356Z.iso.asc	        2023-12-10 19:01        488
[TXT]	install-amd64-minimal-20231217T170203Z.iso.asc	        2023-12-17 20:01        488
[TXT]	install-amd64-minimal-20231224T164659Z.iso.asc	        2023-12-24 20:41        488
[TXT]	install-amd64-minimal-20231231T163203Z.iso.asc	        2023-12-31 19:01        488
[ ]     install-amd64-minimal-20240107T170309Z.iso              2024-01-07 20:42        466M
[ ]     install-amd64-minimal-20240107T170309Z.iso.CONTENTS.gz	2024-01-07 20:42        9.8K
[ ]     install-amd64-minimal-20240107T170309Z.iso.DIGESTS      2024-01-07 21:01        1.3K
[TXT]   install-amd64-minimal-20240107T170309Z.iso.asc	        2024-01-07 21:01        488
[ ]     install-amd64-minimal-20240107T170309Z.iso.sha256       2024-01-07 21:01        660
[TXT]	latest-install-amd64-minimal.txt                        2024-01-08 02:01        653

En el ejemplo anterior, el archivo install-amd64-minimal-20240107T170309Z.iso es el CD de instalación mínima. Pero como puede verse, también existen otros archivos relacionados:

  • Un archivo .CONTENTS.gz que es un archivo de texto comprimido con gz que enumera todos los archivos disponibles en el medio de instalación. Este archivo puede ser útil para verificar si un firmware o controladores específicos están disponibles en el medio de instalación antes de descargarlo.
  • Un archivo .DIGESTS que contiene el hash del propio archivo ISO, en varios formatos/algoritmos de hash. Este archivo se puede utilizar para verificar la integridad del archivo ISO.
  • Un archivo .asc que es una firma criptográfica del archivo ISO. Esto se puede utilizar para verificar la integridad y autenticidad de la imagen: que la descarga haya sido proporcionada por el equipo de ingeniería de lanzamientos de Gentoo, libre de manipulaciones.

Ignore por ahora los otros ficheros que aparecen en esta localización, éstos se usarán más adelante en la instalación. Descargue el fichero .iso y, si desea verificar la descarga, descargue también el fichero .iso.asc para el fichero .iso.

Consejo
El archivo .DIGESTS solo es necesario si la firma en el archivo .iso.asc no está verificada.

Verificar los ficheros descargados

Nota
Este paso es opcional y no es necesario para instalar Gentoo Linux. Sin embargo, se recomienda realizarlo y con él se asegura que el fichero que se ha descargado no está corrupto y que de hecho lo ha generado el equipo de Infraestructura de Gentoo.

El archivo .asc proporciona una firma criptográfica del ISO. Al validarlo, uno puede asegurarse de que el archivo de instalación lo proporciona el equipo de ingeniería de lanzamientos de Gentoo y está intacto y sin modificaciones.

Verificación basada en Microsoft Windows

En primer lugar, para verificar la firma criptográfica, se pueden utilizar herramientas como GPG4Win. Después de la instalación se necesita importar las claves públicas del equipo de Ingeniería de Lanzamientos de Gentoo. La lista de claves está disponible en la página de firmas. Una vez importadas, el usuario puede verificar la firma en el fichero .asc.

Verificación en sistemas basados en Linux

En un sistema Linux, el método más común para verificar la firma criptográfica es el uso del software app-crypt/gnupg. Con este paquete instalado, se pueden utilizar la siguiente órden para verificar la firma criptográfica en el fichero .asc.

Consejo
Al importar claves de Gentoo, verifique que la huella digital (BB572E0E2D182910) coincida.

Las claves de Gentoo se pueden descargar desde hkps://keys.gentoo.org usando las huellas digitales disponibles en la página de firmas:

user $gpg --keyserver hkps://keys.gentoo.org --recv-keys 13EBBDBEDE7A12775DFDB1BABB572E0E2D182910

Alternativamente, puede utilizar en su lugar el WKD para descargar la clave:

user $gpg --auto-key-locate=clear,nodefault,wkd --locate-key releng@gentoo.org
gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported
gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported
gpg: Total number processed: 2
gpg:               imported: 2
gpg: no ultimately trusted keys found
pub   dsa1024 2004-07-20 [SC] [expires: 2025-07-01]
      D99EAC7379A850BCE47DA5F29E6438C817072058
uid           [ unknown] Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>
sub   elg2048 2004-07-20 [E] [expires: 2025-07-01]

O si utiliza medios de lanzamiento oficiales de Gentoo, importe la clave desde /usr/share/openpgp-keys/gentoo-release.asc (proporcionada por sec-keys/openpgp-keys-gentoo-release):

user $gpg --import /usr/share/openpgp-keys/gentoo-release.asc
gpg: directory '/home/larry/.gnupg' created
gpg: keybox '/home/larry/.gnupg/pubring.kbx' created
gpg: key DB6B8C1F96D8BF6D: 2 signatures not checked due to missing keys
gpg: /home/larry/.gnupg/trustdb.gpg: trustdb created
gpg: key DB6B8C1F96D8BF6D: public key "Gentoo ebuild repository signing key (Automated Signing Key) <infrastructure@gentoo.org>" imported
gpg: key 9E6438C817072058: 3 signatures not checked due to missing keys
gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported
gpg: key BB572E0E2D182910: 1 signature not checked due to a missing key
gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported
gpg: key A13D0EF1914E7A72: 1 signature not checked due to a missing key
gpg: key A13D0EF1914E7A72: public key "Gentoo repository mirrors (automated git signing key) <repomirrorci@gentoo.org>" imported
gpg: Total number processed: 4
gpg:               imported: 4
gpg: no ultimately trusted keys found

A continuación, verifique la firma criptográfica:

user $gpg --verify install-x86-minimal-20240107T170309Z.iso.asc
gpg: assuming signed data in 'install-x86-minimal-20240107T170309Z.iso'
gpg: Signature made Sun 07 Jan 2024 03:01:10 PM CST
gpg:                using RSA key 534E4209AB49EEE1C19D96162C44695DB9F6043D
gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD  B1BA BB57 2E0E 2D18 2910
     Subkey fingerprint: 534E 4209 AB49 EEE1 C19D  9616 2C44 695D B9F6 043D

Para estar completamente seguro de que todo está en su sitio, verifique que la huella digital coincide con la huella digital que se muestra en la página de firmas.

Nota
En general, es una buena práctica marcar una clave importada como confiable, una vez que esté seguro de que es confiable. Cuando se verifican las claves confiables, gpg no dirá "desconocido" ni advertirá sobre que la firma no es confiable.

Grabar el medio de arranque

Por supuesto, sólo con descargar un archivo ISO, no se puede iniciar la instalación de Gentoo Linux. El archivo ISO debe escribirse en un dispositivo de arranque. Esto generalmente requiere que la imagen se extraiga a un sistema de archivos o se escriba directamente en un dispositivo.

Escribir un USB de arranque

La mayoría de los sistemas modernos admiten el arranque desde un dispositivo USB.

Escribiendo con Linux

dd normalmente está disponible en la mayoría de las distribuciones de Linux y se puede usar para escribir el medio de arranque de Gentoo en una unidad USB.

Determinar la ruta del dispositivo USB

Antes de escribir, se debe determinar la ruta al dispositivo de almacenamiento deseado.

dmesg mostrará información detallada que describe el dispositivo de almacenamiento a medida que se agrega al sistema:

root #dmesg
[268385.319745] sd 19:0:0:0: [sdd] 60628992 512-byte logical blocks: (31.0 GB/28.9 GiB)

Alternativamente, se puede usar lsblk para mostrar los dispositivos de almacenamiento disponibles:

root #lsblk
sdd           8:48   1  28.9G  0 disk
├─sdd1        8:49   1   246K  0 part
├─sdd2        8:50   1   2.8M  0 part
├─sdd3        8:51   1 463.5M  0 part
└─sdd4        8:52   1   300K  0 part

Una vez que se ha determinado el nombre del dispositivo, se puede agregar al prefijo de ruta /dev/ para obtener la ruta del dispositivo /dev/sdd.

Consejo
Se recomienda usar la ruta del dispositivo base, es decir sdd frente a sdd1, ya que el medio de arranque de Gentoo contiene un esquema de partición GPT completo.
Escribir con dd
Advertencia
Asegúrese de verificar la ruta de destino (of=target) antes de ejecutar dd, ya que se sobrescribirá.

Con la ruta del dispositivo (/dev/sdd) y el medio de arranque install-amd64-minimal-<marca de tiempo de lanzamiento>.iso listos:

root #dd if=install-amd64-minimal-<marca de tiempo de lanzamiento>.iso of=/dev/sdd bs=4096 status=progress && sync
Nota
if= especifica el archivo de entrada, of= especifica el archivo de salida, que en este caso , es un dispositivo.
Consejo
bs=4096 se utiliza ya que acelera las transferencias en la mayoría de los casos, status=progress muestra estadísticas de transferencia.

Grabar un disco

See also
Puede encontrar un conjunto de instrucciones más elaborado en CD/DVD/BD_writing#Image_writing.

Grabación con Microsoft Windows 7 y superior

Las versiones de Microsoft Windows 7 y superiores pueden montar y grabar imágenes ISO en medios ópticos sin el requisito de software de terceros. Simplemente inserte un disco grabable, busque los archivos ISO descargados, haga clic con el botón derecho en el archivo en el Explorador de Windows y seleccione "Grabar imagen de disco".

Grabar con Linux

La utilidad cdrecord del paquete app-cdr/cdrtools puede grabar imágenes ISO en Linux.

Para grabar el archivo ISO en el CD usando el dispositivo /dev/sr0 (este es el primer dispositivo de CD en el sistema, sustituir con el dispositivo apropiado si es necesario):

user $cdrecord dev=/dev/sr0 install-x86-minimal-20141204.iso

Los usuarios que prefieran una interfaz gráfica de usuario puede utilizar K3B, parte del kde-apps/k3b. En K3B, vaya a Herramientas y utilice Grabar Imagen de CD.

Arrancar

Arrancar el medio de instalación

Una vez se ha preparado el medio de instalación es el momento de arrancarlo. Inserte el medio en el sistema, reinicie y entre en la interfaz de usuario del firmware de la placa base. Esto se hace normalmente pulsando un tecla del teclado como Supr, F1, F10 o ESC durante el proceso de chequeo durante el arranque (llamado POST o Power-On Self-Test ). La tecla que dispara este proceso depende del sistem y de la placa base. Si no es obvia, busque en Internet e investigue utilizando el manual del modelo de su placa base como indicio para el motor de búsqueda. Una vez dentro del menú del firmware de la placa base, cambie el orden de arranque del sistema de modo que se intente arrancar antes desde los los medios externos (Discos CD o DVD o dicos USB) que sean arrancables que desde los discos interno. Si no se realiza este cambio, el sistema probablemente reinicie desde el dispositivo de disco interno ignorando el dispositivo de arranque recién conectado.

Importante
Al instalar Gentoo en un sistema con una interfaz de firmware UEFI, asegúrese de que la imagen live se haya iniciado en modo UEFI. En el caso accidental de que se haya iniciado el arranque de DOS/BIOS heredado, será necesario reiniciar en modo UEFI antes de finalizar la instalación de Gentoo Linux.

Asegúrese de que los medios de instalación estén insertados o conectados al sistema y reinicie. Debería mostrarse un mensaje de inicio de GRUB con varias entradas de inicio. En esta pantalla, Enter comenzará el proceso de inicio con las opciones de inicio predeterminadas. Para iniciar el medio de instalación con opciones de inicio personalizadas, como pasar parámetros adicionales del kernel o las siguientes opciones de hardware, resalte una entrada de inicio y luego presione la tecla e para editar la entrada de inicio. Realice las modificaciones necesarias y luego presione ctrl+x o F10 para iniciar la entrada modificada.

Nota
Con toda probabilidad, el núcleo predeterminado de Gentoo, como se mencionó anteriormente, sin especificar ninguno de los parámetros opcionales, funcionará bien. Para la resolución de problemas de arranque y las opciones de expertos, continúe con esta sección. De lo contrario, simplemente presione Enter y vaya directamente a Configuración adicional del hardware.

En el símbolo de espera de órdenes durante el arranque, los usuarios pueden listar los núcleos disponibles (F1) así como las opciones de arranque (F2). Si no se opta por ninguna opción (bien mostrar información o bien seleccionar un núcleo) durante quince segundos entonces el medio de instalación arrancará desde el disco. Esto permite que la instalaciones reinicien e intenten su entorno instalado sin necesidad de retirar el CD de la bandeja del lector (algo que es de gran ayuda en instalaciones remotas).

Hemos mencionado cómo especificar un núcleo. En el medio instalación minimalista solo se ofrecen dos entradas predefinidas de arranque para el núcleo. La opción por defecto se llama gentoo. La otra opción con la variante -nofb deshabilitan el soporte para framebuffer en el núcleo.

La siguiente sección muestra una visión general breve de los núcleos disponibles y sus descripciones:

Opciones para el núcleo

gentoo
Núcleo por defecto con soporte para CPUs K8 (incluyendo las que tienen soporte para NUMA) y EM64T
gentoo-nofb
El mismo que gentoo pero sin soporte para framebuffer
memtest86
Prueba la RAM del sistema en busca de errores

Junto con el núcleo, las opciones de arranque ayudan para ajustar el proceso de arranque aún más.

Opciones del hardware

acpi=on
Esto carga el soporte de ACPI y también hace que el demonio acpid se arranque desde el CD. Esto sólo es necesario si el sistema requiere de ACPI para funcionar correctamente. No es necesario para ofrecer soporte a Hyperthreading.
acpi=off
Desactiva completamente ACPI. Esto es útil en algunos sistemas antiguos y también es un requisito para el uso de APM. Esto deshabilitará el soporte para Hyperthreading de su procesador.
console=X
Esta opción configura acceso serie a la consola para el CD. La primera opción es el dispositivo, normalmente ttyS0 en x86, seguido de cualesquiera opciones de conexión que deben estar separadas por coma. Las opciones predeterminadas son: 9600,8,n,1.
dmraid=X
Esta opción permite pasar opciones al subsistema de mapeo de dispositivo RAID. Las opciones deben ir entre comillas.
doapm
Esta opción carga el controlador APM de apoyo. También requiere que acpi=off.
dopcmcia
Esta opción carga el soporte para PCMCIA y Cardbus hardware y también causa que el gestor de tarjetas pcmcia se arranque desde el CD en el inicio. Esto sólo es necesario cuando se arranque desde dispositivos PCMCIA/Cardbus.
doscsi
Esta opción carga el soporte para la mayoría de los controladores SCSI. Este es también un requisito para el arranque de la mayoría de los dispositivos USB, ya que utilizan el subsistema SCSI del núcleo.
sda=stroke
Esto permite al usuario particionar el disco duro entero, incluso cuando el BIOS no es capaz de gestionar discos grandes. Esta opción sólo se usa en máquinas con BIOS antiguos. Reemplace sda por el dispositivo que requiera esta opción.
ide=nodma
Esta opción fuerza la desactivación de la DMA en el núcleo. Varios chipsets IDE lo necesitan y también algunas unidades de CDROM. Se debe probar esta opción si el sistema tiene problemas para leer desde el CDROM IDE. También deshabilita que los ajustes predeterminados de hdparm se ejecuten.
noapic
Esta opción deshabilita el Controlador Avanzado de Interrupciones Programado (APIC) presente en las placas base modernas. Se sabe que puede causar algunos problemas en hardware antiguo.
nodetect
Esto desactiva toda la detección automática realizada por el CD, incluida la detección automática del dispositivo y el sondeo DHCP. Esto es útil para depurar un CD o controlador defectuoso.
nodhcp
Esta opción deshabilita DHCP en las tarjetas de red que se han detectado. Esto es útil en redes que tienen únicamente direcciones estáticas.
nodmraid
Deshabilita el soporte para el mapeador de dispositivos RAID, tales como el que se utiliza en los controladores RAID IDE/SATA integrados en la placa base.
nofirewire
Esta opción deshabilita la carga de módulos Firewire. Esto sólo debería ser necesario si su hardware Firewire está causando un problema durante el arranque del CD.
nogpm
Esta opción deshabilita el soporte gpm para el ratón en la consola.
nohotplug
Esto deshabilita la carga de los scripts de inicio hotplug y coldplug en el arranque. Esto es útil para depurar un CD o controlador defectuoso.
nokeymap
Esta opción deshabilita la selección del mapa de teclado para seleccionar distribuciones de teclado que no sean la estadounidense (US).
nolapic
Esta opción deshabilita el APIC local en los núcleos para sistemas monoprocesador.
nosata
Esta opción deshabilita la carga de los módulos Serial ATA. Esto se utiliza cuando el sistema tiene problemas con el subsistema SATA.
nosmp
Esta opción deshabilita SMP, o el Multiprocesamiento Simétrico, en los núcleos con SMP habilitado. Esto es útil para la depuración de problemas relacionados con SMP que tienen algunos controladores y placas base.
nosound
Esta opción deshabilita el soporte para sonido y ajuste de volumen. Esto es útil para sistemas donde el sopore para sonido causa problemas.
nousb
Esta opción deshabilita la carga automática de los módulos USB. Esto es útil para la depuración de problemas con USB.
slowusb
Esta opción añade pausas extra en el proceso de arranque para CDROMs USB como en el IBM BladeCenter.

Gestión de volúmenes y dispositivos lógicos

dolvm
Habilita el soporte para la gestión de volúmenes lógicos (LVM) de Linux.

Otras opciones

debug
Habilita la depuración de código. Esto puede causar problemas, ya que muestra una gran cantidad de datos en la pantalla.
docache
Esta opción hace que se se almacene en caché (RAM) toda la porción de CD que contiene código que se va a ejecutar lo que permite al usuario desmontar /mnt/cdrom y montar otro CDROM. Esta opción necesita al menos el doble de capacidad en RAM que el tamaño del CD.
doload=X
Esta opción hace que el disco RAM de inicio cargue cualquier módulo de la lista, así como sus dependencias. Reemplace la X con el nombre del módulo. Se puede especificar varios módulos separándolos por comas.
dosshd
Inicia sshd en el arranque, lo cual es útil para instalaciones desatendidas.
passwd=foo
Establece lo que sigue al igual como la contraseña de root, lo cual es necesario para dosshd ya que la contraseña de root se ofusca por defecto.
noload=X
Esta opción hace que el disco RAM de inicio evite la carga de un módulo específico que puede estar causando un problema. La sintaxis es la misma que para doload.
nonfs
Deshabilita el inicio de portmap/nfsmount en el arranque.
nox
Esta opción hace LiveCD con X habilitado no inicie automáticamente X, sino que muestre la línea de órdenes.
scandelay
Esta opción hace que el CD pause durante diez segundos en algunas partes del proceso de arranque para permitir a los dispositivos lentos que se inicialicen y estén listos para su uso.
scandelay=X
Esta opción permite al usuario especificar un determinado retardo en segundos que se añade a algunas partes del proceso de arranque para permitir a los dispositivos lentos que se inicialicen y estén listos para su uso. Reemplace la X por el número de segundos a pausar.
Nota
El medio arrancable comprobará la existencia de opciones no* antes de las opciones do*, de modo que las opciones se pueden revocar en el orden exacto en el que se han especificado.

Ahora arranque desde el medio, seleccione un núcleo (si no le sirve el núcleo por defecto gentoo) y las opciones de arranque. A modo de ejemplo, iniciamos el núcleo gentoo con dopcmcia como parámetro del núcleo:

boot:gentoo dopcmcia

A continuación se presentará al usuario una pantalla de inicio y una barra de progreso. Si las instalación se realiza en un sistema con un teclado que no sea el estadounidense (US), asegúrese de presionar cuanto antes Alt + F1 para cambiar al modo detallado y seguir el símbolo de espera de órdenes. Se no se realiza ninguna selección en diez segundos, se aceptarán los valores por defecto (teclado US) y el proceso de arranque continuará. Una vez haya finalizado el proceso de arranque, el usuario ingresa automáticamente en el entorno Gentoo Linux "Vivo" como el usuario root, el superusuario. Se mostrará un símbolo de espera de órdenes de root en la consola actual y se puede cambiar a otras consolas pulsando Alt+F2, Alt+F3 y Alt+F4. Se puede volver a la primera consola pulsando Alt+F1.



Configuración adicional del hardware

Cuando el medio de instalación arranca, trata de detectar todos los dispositivos hardware y carga los módulos del núcleo adecuados para dar soporte a ese hardware. En la gran mayoría de los casos, hace muy buen trabajo. Sin embargo, en algunos casos puede que no cargue automáticamente los módulos del núcleo necesitados por el sistema. Si la detección automática de PCI perdió algunos de los dispositivos hardware del sistema, se tendrán que cargar manualmente los módulos del núcleo adecuados.

En el siguiente ejemplo se carga el módulo 8139too (que soporta ciertos tipos de interfaces de red):

root #modprobe 8139too

Opcional: Cuentas de Usuario

Si otras personas necesitan tener acceso al entorno de la instalación, o se necesita lanzar órdenes como un usuario que no sea root en el medio de instalación (por ejemplo para chatear usando con irssi sin privilegios de root por razones de seguridad), entonces se necesita crear una cuenta de usuario y definir la contraseña de root para que sea robusta.

Para cambiar la contraseña de root, utilice la utilidad passwd:

root #passwd
Nueva contraseña: (Introduzca la nueva contraseña)
Vuelva a escribir la nueva contraseña: (Introduzca la contraseña)

Para crear una cuenta de usuario, en primer lugar introduzca las credenciales de la nueva cuenta seguidas de la contraseña. Las órdenes useradd y passwd se utilizan para esta tarea.

En el siguiente ejemplo, se crea un usuario llamado juan:

root #useradd -m -G users juan
root #passwd juan
Nueva contraseña: (Introduzca la contraseña de juan)
Vuelva a escribir la nueva contraseña: (Introduzca de nuevo la contraseña de juan)

Para cambiar del (actual) usuario root a la cuenta del usuario recién creado, utilice la orden su:

root #su - juan

Opcional: Ver la documentación mientras se realiza la instalación

TTYs

Para ver el manual de Gentoo desde un TTY durante la instalación, primero cree una cuenta de usuario como se describe arriba, luego presione Alt+F2 para ir a una nueva terminal (TTY) e inicie sesión como el usuario recién creado. Siguiendo el principio de privilegio mínimo, es una buena práctica evitar navegar por la web o, en general, realizar cualquier tarea con privilegios superiores a los necesarios. La cuenta root tiene control total del sistema y, por lo tanto, debe usarse con moderación.

Durante la instalación, se puede usar en navegador web links para navegar por el manual de Gentoo. Por supuesto, solo desde el momento en que se dispone de conexión a Internet.

user $links https://wiki.gentoo.org/wiki/Handbook:X86/es

Para volver al terminal original, pulse Alt + F1.

Consejo
Cuando se inicia en los entornos mínimos de Gentoo o de administración de Gentoo, estarán disponibles siete TTY. Se pueden cambiar presionando Alt y luego una tecla de función entre F1-F7. Puede resultar útil cambiar a una nueva terminal mientras se espera que se complete el trabajo, para abrir documentación, etc.

GNU Screen

La utilidad Screen se incluye por defecto en los medios de instalación oficiales de Gentoo. Puede ser más eficiente para los entusiastas más experimentados utilizar screen para ver las instrucciones de instalación utilizando varios paneles en lugar del método de tener múltiples TTYs mencionado arriba.

Opcional: Iniciar el demonio SSH

Para permitir que otros usuarios tengan acceso al sistema durante la instalación (tal vez para ofrecer/recibir ayuda durante la misma o incluso hacerlo de forma remota), se necesita crear una cuenta de usuario (como se documentó anteriormente) y se debe inicar el demonio SSH.

Para iniciar el demonio SSH en un inicio de OpenRC, lance la siguiente orden:

root #rc-service sshd start
Nota
Si los usuarios inician sesión en el sistema, verán un mensaje de que la clave de host para este sistema debe ser confirmada (a través de lo que se denomina huella digital). Este comportamiento es típico y se puede esperar para las conexiones iniciales a un servidor SSH. Sin embargo, más adelante, cuando se configura el sistema y alguien inicia sesión en el sistema recién creado, el cliente SSH le advertirá que la clave de host ha sido cambiada. Esto se debe a que el usuario que ahora inicia sesión - para SSH - en un servidor diferente (es decir, el sistema Gentoo recién instalado en lugar del entorno vivo de la instalación está usando actualmente). Siga las instrucciones que aparecen en la pantalla y luego reemplace la clave de host en el sistema cliente.

Para poder utilizar sshd, la red debe funcionar correctamente. Continúe con el capítulo sobre Configuración de la red





Configuración automática de la red

¿Es posible que simplemente funcione?

Si el sistema está conectado a una red Ethernet con un enrutador IPv6 o un servidor DHCP, es muy probable que la red del sistema se haya configurado automáticamente. Si no se requiere una configuración avanzada adicional, se puede probar la conectividad a Internet.

Usar DHCP

DHCP (Protocolo de configuración dinámica de host) ayuda en la configuración de la red y puede proporcionar automáticamente la configuración para una variedad de parámetros que incluyen: dirección IP, máscara de red, rutas, servidores DNS, servidores NTP, etc.

DHCP requiere que un servidor se ejecute en el mismo segmento de "Capa 2" ("Ethernet") que el cliente que solicita una "concesión". DHCP se utiliza a menudo en redes RFC1918 ("privadas"), pero también se utiliza para adquirir información de IP pública de los ISP.

Consejo
El medio de arranque oficial de Gentoo ejecuta dhcpcd automáticamente al inicio. Este comportamiento se puede desactivar agregando el argumento nodhcp al medio de arranque en la linea de comando del núcleo.

Si aún no se está ejecutando, dhcpcd se puede iniciar en enp1s0 con:

root #dhcpcd enp1s0

Algunos administradores de red requieren que el sistema utilice el nombre de host y el nombre de dominio proporcionados por el servidor DHCP. En ese caso, utilice:

root #dhcpcd -HD enp1s0

Para detener dhcpcd, se puede utilizar -x:

root #dhcpcd -x
sending signal Term to pid 10831
waiting for pid 10831 to exit
See also
Uso de Dhcpcd

Probar la red

Una ruta "predeterminada" correctamente configurada es un componente crítico de la conectividad a Internet; la configuración de la ruta se puede verificar con:

root #ip route
default via 192.168.0.1 dev enp1s0

Si no hay definida ninguna ruta "predeterminada", la conectividad a Internet no está disponible y se requiere configuración adicional.

La conectividad básica a Internet se puede confirmar con un ping:

root #ping -c 3 1.1.1.1
Consejo
Es útil comenzar haciendo ping a una dirección IP conocida en lugar de a un nombre de host. Esto puede aislar los problemas de DNS de los problemas básicos de conectividad a Internet.

El acceso HTTPS saliente y la resolución DNS se pueden confirmar con:

root #curl --location gentoo.org --output /dev/null

A menos que curl informe un error u otras pruebas fallen, el proceso de instalación puede continuar con preparación del disco.

Si curl informa un error, pero los pings vinculados a Internet funcionan, DNS puede necesitar configuración.

Si no se ha establecido la conectividad a Internet, primero se debe verificar la información de la interfaz, luego:

Obtener información de la interfaz

Si la conexión en red no funciona de inmediato, se deben tomar medidas adicionales para habilitar la conectividad a Internet. Generalmente, el primer paso es enumerar las interfaces de red del host.

El comando ip, que forma parte del paquete sys-apps/iproute2, se puede utilizar para consultar y configurar las redes del sistema.

El argumento link se puede utilizar para mostrar enlaces de interfaz de red:

root #ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
4: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff

El argumento address se puede utilizar para consultar la información de la dirección del dispositivo:

root #ip address
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000<pre>
    link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff
    inet 10.0.20.77/22 brd 10.0.23.255 scope global enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::ea40:f2ff:feac:257a/64 scope link 
       valid_lft forever preferred_lft forever

El resultado de este comando contiene información para cada interfaz de red del sistema. Las entradas comienzan con el índice del dispositivo, seguido del nombre del dispositivo: enp1s0.

Consejo
Si no se muestra ninguna interfaz aparte de lo (loopack), entonces el hardware de red está defectuoso o el controlador de la interfaz no se ha cargado en el kernel. Ambas situaciones van más allá del alcance de este Manual. Por favor solicite soporte en contacto #gentoo (webchat).

Para mantener la coherencia, el manual asumirá que la interfaz de red principal se llama enp1s0.

Nota
Como resultado del cambio hacia nombres de interfaz de red predecibles, el nombre de la interfaz en el sistema puede ser bastante diferente a la antigua convención de nomenclatura eth0. Los medios de arranque modernos de Gentoo utilizan nombres de interfaz con prefijos como eno0, ens1 o enp5s0.

Opcional: configuración específica de la aplicación

Los siguientes métodos generalmente no son necesarios, pero pueden resultar útiles en situaciones en las que se requiere configuración adicional para la conectividad a Internet.

Opcional: Configurar proxys web

Si se accede a internet a través de un proxy web, será necesario definir la información del proxy para que Portage acceda correctamente al proxy para cada protocolo admitido. Portage observa las variables de entorno http_proxy, ftp_proxy y RSYNC_PROXY para descargar paquetes a través de su wget y rsync mecanismos de recuperación.

Ciertos navegadores web en modo texto, como links, también pueden utilizar variables de entorno que definen la configuración del proxy web; en particular para el acceso HTTPS, también será necesario definir la variable de entorno https_proxy. Si bien Portage se verá afectado sin pasar parámetros adicionales en tiempo de ejecución durante la invocación, links requerirá que se establezcan configuraciones de proxy.

En la mayoría de los casos, es suficiente definir variables de entorno utilizando el nombre de host del servidor. En el siguiente ejemplo, se supone que el host del servidor proxy se llama proxy.gentoo.org y el puerto es 8080.

Nota
El símbolo # en los siguientes comandos es un comentario. Se ha agregado solo para mayor claridad y no es necesario escribirlo al ingresar los comandos.

Para definir un proxy HTTP (para tráfico HTTP y HTTPS):

root #export http_proxy="http://proxy.gentoo.org:8080" # Se aplica a Portage y a Links
root #export https_proxy="http://proxy.gentoo.org:8080" # Sólo aplica para Links

Si el proxy HTTP requiere autenticación, establezca un nombre de usuario y contraseña con la siguiente sintaxis:

root #export http_proxy="http://username:password@proxy.gentoo.org:8080" # Se aplica a Portage y a Links
root #export https_proxy="http://username:password@proxy.gentoo.org:8080" # Sólo aplica para Links

Inicie links usando los siguientes parámetros para soporte de proxy:

user $links -http-proxy ${http_proxy} -https-proxy ${https_proxy}

Para definir un proxy FTP para Portage y/o links:

root #export ftp_proxy="ftp://proxy.gentoo.org:8080" # Se aplica a Portage y a Links

Inicie links usando el siguiente parámetro para un proxy FTP:

user $links -ftp-proxy ${ftp_proxy}

Para definir un proxy RSYNC para Portage:

root #export RSYNC_PROXY="proxy.gentoo.org:8080" # Se aplica a Portage; Links no admite un proxy rsync

Usar pppoe-setup para ADSL

Si se requiere PPPoE para acceder a Internet, el medio de arranque de Gentoo incluye el script pppoe-setup para simplificar la configuración de ppp.

Durante la configuración, pppoe-setup solicitará:

  • El nombre de la interfaz Ethernet conectada al módem ADSL.
  • El nombre de usuario y contraseña de PPPoE.
  • IP del servidor DNS.
  • Si se necesita o no un firewall.
root #pppoe-setup
root #pppoe-start

En caso de error, se deben verificar las credenciales en /etc/ppp/pap-secrets o /etc/ppp/chap-secrets. Si las credenciales son correctas, se debe verificar la selección de la interfaz Ethernet para PPPoE.

Usar PPTP

Si se necesita compatibilidad con PPTP, se puede utilizar pptpclient, pero requiere configuración antes de su uso.

Edite /etc/ppp/pap-secrets o /etc/ppp/chap-secrets para que contenga la combinación correcta de nombre de usuario y contraseña:

root #nano /etc/ppp/chap-secrets

Ajuste ahora /etc/ppp/options.pptp si es necesario:

root #nano /etc/ppp/options.pptp

Una vez completada la configuración, ejecute pptp (junto con las opciones que no se pudieron configurar en options.pptp) para conectar el servidor:

root #pptp <server ipv4 address>

Configuración de WEP

Advertencia
No utilice WEP a menos que sea la única opción. WEP prácticamente no proporciona seguridad en una red abierta.
Importante
El comando iw solo está disponible en las siguientes arquitecturas: amd64, x86, arm, arm64 , ppc, ppc64 y riscv.

Si está empleando una tarjeta inalámbrica (802.11), quizá necesite configurar sus opciones antes seguir. Para revisar la configuración inalámbrica actual de su tarjeta, puede utilizar iw. Al ejecutar iw se debería mostrar algo como esto:

root #iw dev wlp9s0 info
Interface wlp9s0
	ifindex 3
	wdev 0x1
	addr 00:00:00:00:00:00
	type managed
	wiphy 0
	channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz
	txpower 30.00 dBm

Para comprobar la conexión actual:

root #iw dev wlp9s0 link
Not connected.

o

root #iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0)
	SSID: GentooNode
	freq: 2462
	RX: 3279 bytes (25 packets)
	TX: 1049 bytes (7 packets)
	signal: -23 dBm
	tx bitrate: 1.0 MBit/s
Nota
Algunas tarjetas inalámbricas pueden tener un nombre de dispositivo como wlan0 o ra0 en lugar de wlp9s0. Lanzar ip link para determinar el nombre correcto del dispositivo.

Para la mayoría de los usuarios, solo hay dos ajustes necesarios para conectarse, el ESSID (también conocido como nombre de red inalámbrica) y, opcionalmente, la clave WEP.

  • En primer lugar, asegurarse de que la interfaz está activa:
root #ip link set dev wlp9s0 up
  • Para conectar a una red abierta llamada NodoGentoo:
root #iw dev wlp9s0 connect -w NodoGentoo
  • Para conectar con una clave WEP hexadecimal, anteponer la clave con d::
root #iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
  • Para conectar con una clave WEP ASCII:
root #iw dev wlp9s0 connect -w GentooNode key 0:alguna-contraseña
Nota
Si la red inalámbrica está configurada para usar claves WPA o WPA2, tendrá que usar wpa_supplicant. Para más información acerca de la configuración de redes inalámbricas en Gentoo Linux, por favor lea el capítulo de redes inalámbricas del Manual Gentoo.

Puede volver a comprobar la configuración inalámbrica utilizando iw dev wlp9s0 link. Una vez que tenga la conexión funcionando, puede continuar configurando las opciones de red de nivel IP como se describe en la siguiente sección (Comprender la terminología de red) o utilizar la herramienta net-setup como se describió anteriormente.

Usar net-setup

En los casos en los que la configuración automática de la red no tiene éxito, el medio de arranque de Gentoo proporciona scripts para ayudar en la configuración de la red. net-setup se puede utilizar para configurar información de red inalámbrica e IP,s estáticas.

root #net-setup enp1s0

net-setup hará algunas preguntas sobre el entorno de red y utilizará esa información para configurar wpa_supplicant o direccionamiento estático.

Importante
El estado de la red debe ser probado después de realizar cualquier paso de configuración. En caso de que los scripts de configuración no funcionen, se requiere configuración de red manual.

Conceptos básicos de Internet e IP

Si todo lo anterior falla, la red debe configurarse manualmente. Esto no es particularmente difícil, pero debe hacerse con reflexión. Esta sección sirve para aclarar la terminología y presentar a los usuarios conceptos básicos de redes relacionados con la configuración manual de una conexión a Internet.

Consejo
Algunos CPE (Equipo proporcionado por el operador) combinan las funciones de un enrutador, punto de acceso, módem, servidor DHCP y servidor DNS en una sola unidad. Es importante diferenciar las funciones de un dispositivo del aparato físico.

Interfaces y direcciones

Las interfaces de red son representaciones lógicas de dispositivos de red. Una interfaz necesita una dirección para comunicarse con otros dispositivos en la red. Si bien sólo se requiere una única dirección, se pueden asignar varias direcciones a una única interfaz. Esto es especialmente útil para configuraciones de doble pila (IPv4 + IPv6).

Para mantener la coherencia, este manual asumirá que la interfaz enp1s0 utilizará la dirección 192.168.0.2.

Importante
Las direcciones IP se pueden configurar arbitrariamente. En consecuencia, es posible que varios dispositivos utilicen la misma dirección IP, lo que genera un conflicto de direcciones. Los conflictos de direcciones se deben evitar utilizando DHCP o SLAAC.
Consejo
IPv6 normalmente utiliza la configuración StateLess Address AutoConfiguration (SLAAC) para la configuración de direcciones. En la mayoría de los casos, configurar manualmente las direcciones IPv6 es una mala práctica. Si se prefiere un sufijo de dirección específico, se pueden usar tokens de identificación de interfaz.

Redes y CIDR

Una vez elegida una dirección, ¿cómo sabe un dispositivo cómo hablar con otros dispositivos?

Las direcciones IP están asociadas con redes. Las redes IP son rangos lógicos contiguos de direcciones.

La notación Enrutamiento entre dominios sin clases o CIDR se utiliza para distinguir los tamaños de red.

  • El valor CIDR, a menudo anotado comenzando con /, representa el tamaño de la red.
    • La fórmula 2 ^ (32 - CIDR) se puede utilizar para calcular el tamaño de la red.
    • Una vez calculado el tamaño de la red, el número de nodos utilizables se debe reducir en 2.
      • La primera IP de una red es la Dirección de red y la última suele ser la Dirección de difusión. Estas direcciones son especiales y no pueden ser utilizadas por hosts normales.
Consejo
Los valores CIDR más comunes son /24 y /32, que representan 254 nodos y un solo nodo respectivamente.

Un CIDR de /24 es el tamaño de red predeterminado de-facto. Esto corresponde a una máscara de subred de 255.255.255.0, donde los últimos 8 bits están reservados para las direcciones IP de los nodos de una red.

La notación: 192.168.0.2/24 se puede interpretar como:

  • La dirección 192.168.0.2
  • En la red 192.168.0.0
  • Con un tamaño de 254 (2 ^ (32 - 24) - 2)
    • Las IP,s utilizables están en el rango 192.168.0.1 - 192.168.0.254
  • Con una dirección de difusión de 192.168.0.255
    • En la mayoría de los casos, la última dirección de una red se utiliza como "dirección de difusión", pero esto se puede cambiar.

Con esta configuración, un dispositivo debería poder comunicarse con cualquier host en la misma red (192.168.0.0).

Internet

Una vez que un dispositivo está en una red, ¿cómo sabe cómo hablar con dispositivos en Internet?

Para comunicarse con dispositivos fuera de las redes locales, se debe utilizar enrutamiento. Un enrutador es simplemente un dispositivo de red que reenvía tráfico a otros dispositivos. El término ruta predeterminada o puerta de enlace normalmente se refiere a cualquier dispositivo de la red actual que se utilice para el acceso a la red externa.

Consejo
Es una práctica estándar hacer que la puerta de enlace sea la primera o la última IP de una red.

Si hay un enrutador conectado a Internet disponible en 192.168.0.1, se puede utilizar como ruta predeterminada, proporcionando acceso a Internet.

Para resumir:

  • Las interfaces deben configurarse con una dirección y una información de red, como el valor CIDR.
  • El acceso a la red local se utiliza para acceder a un enrutador en la misma red.
  • Se configura la ruta predeterminada, por lo que el tráfico destinado a redes externas se reenvía a la puerta de enlace, proporcionando acceso a Internet.

El Sistema de Nombres de Dominio

Recordar IP,s es difícil. El Sistema de Nombres de Dominio fue creado para permitir el mapeo entre Nombres de Dominio y direcciones IP.

Los sistemas Linux utilizan /etc/resolv.conf para definir servidores de nombres que se utilizarán para la resolución DNS.

Consejo
Muchos enrutadores también pueden funcionar como servidores DNS, y el uso de un servidor DNS local puede aumentar la privacidad y acelerar las consultas mediante el almacenamiento en caché.

Muchos ISP ejecutan un servidor DNS que generalmente se anuncia en la puerta de enlace a través de DHCP. El uso de un servidor DNS local tiende a mejorar la latencia de las consultas, pero la mayoría de los servidores DNS públicos arrojarán los mismos resultados, por lo que el uso del servidor se basa en gran medida en las preferencias.

Configuración de red manual

Configuración de dirección de interfaz

Importante
Al configurar manualmente las direcciones IP, se debe considerar la topología de la red local. Las direcciones IP se pueden configurar arbitrariamente; Los conflictos pueden causar interrupciones en la red.

Para configurar enp1s0 con la dirección 192.168.0.2 y CIDR /24:

root #ip address add 192.168.0.2/24 dev enp1s0
Consejo
El inicio de este comando se puede acortar a ip a.

Configuración de ruta predeterminada

La configuración de la dirección y la información de red para una interfaz configurará rutas link, lo que permitirá la comunicación con ese segmento de red:

root #ip route
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.2
Consejo
Este comando se puede abreviar a ip r.

La ruta default se puede configurar en 192.168.0.1 con:

root #ip route add default via 192.168.0.1

Configuración DNS

La información del servidor de nombres normalmente se adquiere mediante DHCP, pero se puede configurar manualmente agregando entradas nameserver a /etc/resolv.conf.

Advertencia
Si dhcpcd se está ejecutando, los cambios en Template:Ruta no se mantendrán. El estado se puede comprobar con ps x | grep dhcpcd.

nano está incluido en el medio de arranque de Gentoo y puede usarse para editar /etc/resolv.conf con:

root #nano /etc/resolv.conf

Las líneas que contienen la palabra clave nameserver seguida de la dirección IP del servidor DNS se consultan en orden de definición:

ARCHIVO /etc/resolv.confUsar Quad9 DNS.
nameserver 9.9.9.9
nameserver 149.112.112.112
ARCHIVO /etc/resolv.confUsar Cloudflare DNS.
nameserver 1.1.1.1
nameserver 1.0.0.1

El estado del DNS se puede verificar haciendo ping a un nombre de dominio:

root #ping -c 3 gentoo.org

Una vez que se haya verificado la conectividad, continúe con Preparando los discos.





Introducción a los dispositivos de bloque

Dispositivos de bloque

Examinaremos de forma detallada los aspectos de Gentoo Linux así como Linux en general que tengan que ver con discos, incluyendo dispositivos de bloques, particiones y sistemas de archivos de Linux. Una vez familiarizados con las entrañas de los discos y sistemas de archivos, podemos establecer las particiones y sistemas de archivos para la instalación.

Para empezar, veamos los dispositivos de bloque. Los discos SCSI y Serial ATA (SATA) aparecen ambos etiquetados entre los dispositivos gestionados como /dev/sda, /dev/sdb, /dev/sdc, etc. En los equipos mas modernos, los discos de estado sólido NVMe sobre PCI Express tienen nombres de dispositivo como /dev/nvme0n1, /dev/nvme0n2, etc..

La siguiente tabla ayudará a los lectores a saber dónde encontrar un tipo concreto de dispositivo de bloque en su sistema:

Tipo de dispositivo Nombre del dispositivo por defecto Notas y consideraciones
IDE, SATA, SAS, SCSI, o USB flash /dev/sda Se puede encontrar desde aproximadamente 2007 hasta la actualidad, es quizá el mas comunmente usado en Linux. Estos tipos de dispositivos pueden se conectados

via bus SATA, SCSI, USB como almacenamiento de bloque. Como ejemplo, la primera partición en el primer dispositivo SATA es nombrada /dev/sda1.

NVM Express (NVMe) /dev/nvme0n1 Lo último en tecnología de estado sólido, los discos NVMe son conectados al bus PCI Express y tienen la mejor velocidad de transferencia de bloques del mercado. Equipos desde alrededor de 2014 hasya la actualidad pueden tener soporte para el hardware NVMe. La primera partición en el primer dispositivo NVMe en nombrada /dev/nvme0n1p1.
MMC, eMMC, and SD /dev/mmcblk0 Los dispositivos embedded MMC, tarjetas SD, y otros tipos de tarjetas de memoria pueden ser útiles para el almacenamiento de datos. No obstante, es posible que muchos sistemas no permitan el arranque desde este tipo de dispositivos. Se segiere no usar estos dispositivos para instalaciones Linux activas; más bien considere usarlos para transferir archivos, que es la idea de diseño típica. Alternativamente, este tipo de almacenamiento podría resultar útil para copias de seguridad de archivos o instantáneas a corto plazo.

Los dispositivos de bloque mencionados anteriormente representan una interfaz abstracta de disco. Las aplicaciones pueden hacer uso de estas interfaces para interactúar con el disco duro de la máquina sin tener que saber el tipo de unidad que tiene: SATA, SCSI, o cualquier otra. La aplicación puede simplemente dirigirse al almacenamiento en el disco como a una serie de bloques contiguos de acceso aleatorio de 4096-bytes (4K).



Tablas de particionamiento

Aunque teóricamente es posible utilizar un disco de forma directa, sin particionar, para albergar la instalación Linux (por ejemplo cuando se crea un RAID btrfs), en la práctica, esto casi nunca ocurre. En su lugar, los dispositivos de bloque se dividen en partes más pequeñas y manejables. En los sistemas x86 éstas se llaman particiones. Actualmente hay dos tecnologías estándar de particionamiento en uso: MBR (a veces también llamado etiqueta de disco DOS) y GPT; estos están vinculados a los dos tipos de procesos de arranque: arranque BIOS heredado y UEFI.

Tabla de Particiones GUID (GPT)

La configuración de la Tabla de particiones GUID (GPT) (también llamada etiqueta de disco GPT) utiliza identificadores de 64 bits para las particiones. La ubicación en la que almacena la información de la partición es mucho mayor que los 512 bytes de la tabla de particiones MBR (etiqueta de disco DOS), lo que significa que prácticamente no hay límite en el número de particiones para un disco GPT. Además, el tamaño máximo de partición es mucho mayor (casi 8 ZiB, sí, zettabytes).

Cuando se utiliza UEFI (en lugar de BIOS) como interfaz de software de sistema entre el sistema operativo y el firmware, se requiere el uso de GPT ya que se podrían producir problemas de compatibilidad si se utiliza una etiqueta de disco DOS.

GPT también utiliza sumas de comprobación y redundancia. Realiza sumas de comprobación CRC32 para detectar errores en la cabecera y el las tablas de particiones y dispone de una copia de respaldo GPT al final del disco. Esta copia de respaldo puede utilizarse para recuperarse en caso de que se produzcan daños en la GPT primaria que se almacena al comienzo del disco.

Importante
Hay algunas advertencias con respecto a GPT:
  • El uso de GPT en un ordenador con BIOS funciona, pero no se puede realizar un arranque dual con un sistema operativo Microsoft Windows. La razón es que Microsoft Windows se iniciará en modo UEFI si detecta una etiqueta de partición GPT.
  • Algunos firmware de placa base con errores (antiguos) configurados para arrancar en modo BIOS/CSM/legacy también pueden tener problemas con el arranque desde discos etiquetados con GPT.

Registro maestro de arranque (MBR) o sector de arranque DOS

El sector de arranque Registro de arranque maestro (también llamado sector de arranque de DOS, etiqueta de disco de DOS y, más recientemente, en oposición a las configuraciones GPT/UEFI, arranque de BIOS heredado) fue el primero en introducido en 1983 con PC DOS 2.x. MBR utiliza identificadores de 32 bits para el sector de inicio y la longitud de las particiones, y admite tres tipos de particiones: primaria, extendida y lógica. Las particiones primarias tienen su información almacenada en el propio registro de arranque maestro: una ubicación muy pequeña (generalmente 512 bytes) al comienzo de un disco. Debido a este pequeño espacio, solo se admiten cuatro particiones primarias (por ejemplo, /dev/sda1 a /dev/sda4).

Para admitir más particiones, una de las particiones primarias en el MBR se puede marcar como una partición "extendida". Esta partición puede contener particiones lógicas adicionales (particiones dentro de una partición).

Importante
Aunque todavía son compatibles con la mayoría de los fabricantes de placas base, los sectores de arranque MBR y sus limitaciones de particionamiento asociadas se consideran heredados. A menos que trabaje con hardware anterior a 2010, es mejor particionar un disco con tabla de particiones GUID. Los lectores que deban continuar con este tipo de configuración deben ser conscientes de lo siguiente:
  • La mayoría de las placas base posteriores a 2010 consideran el uso de sectores de arranque MBR como un modo de arranque heredado (compatible, pero no ideal).
  • Debido al uso de identificadores de 32 bits, las tablas de particiones en el MBR no pueden abordar un espacio de almacenamiento que tenga un tamaño superior a 2 TiB.
  • A menos que se cree una partición extendida, MBR admite un máximo de cuatro particiones.
  • Esta configuración no proporciona un sector de arranque de respaldo, por lo que si algo sobrescribe la tabla de particiones, se perderá toda la información de las particiones.
Dicho esto, es posible que el MBR y el arranque BIOS heredado aún se utilicen en entornos de nube virtualizados como AWS.

Los autores del manual recomiendan utilizar GPT siempre que sea posible para realizar una instalación de Gentoo.

Almacenamiento avanzado

El medio de arranque oficial de Gentoo proporciona soporte para Logical Volume Manager (LVM). LVM puede combinar "volúmenes físicos", como particiones o discos, en "grupos de volúmenes". Los grupos de volúmenes son más flexibles que las particiones y se pueden utilizar para definir grupos RAID o cachés en SSD rápidos para HD lentos. Aunque el uso no está cubierto en el manual, LVM es totalmente compatible con Gentoo.

Esquema de particionamiento por defecto

A lo largo del resto del manual, discutiremos y explicaremos dos casos:

  1. Firmware UEFI con disco de tabla de particiones GUID (GPT).
  2. Firmware MBR DOS/BIOS obsoleto con un disco de tabla de particiones MBR.

Si bien es posible mezclar y combinar tipos de arranque con cierto firmware de la placa base, la combinación va más allá de la intención del manual. Como se indicó anteriormente, se recomienda encarecidamente que las instalaciones en hardware moderno utilicen el arranque UEFI con un disco con etiqueta GPT.

El siguiente esquema de particiones se utilizará como un diseño de ejemplo simple.

Importante
La primera fila de la siguiente tabla contiene información exclusiva para ya sea una etiqueta de disco GPT o una etiqueta de disco MBR DOS/BIOS heredado. En caso de duda, continúe con GPT, ya que las máquinas x86 fabricadas después del año 2010 generalmente admiten firmware UEFI y sector de arranque GPT.
Partición Sistema de archivos Tamaño Descripción
/dev/sda1 fat32 Sistema de archivos requerido para la partición del sistema EFI, que siempre está asociado con una etiqueta de disco GPT. 1 GB Detalles de la partición del sistema EFI. Aplicable al firmware del sistema que admite una implementación UEFI. Este suele ser el caso de los sistemas fabricados desde alrededor del año 2010 hasta el presente.
ext4 Sistema de archivos recomendado para la partición de inicio de una tabla de particiones MBR, que se utiliza junto con firmware anterior limitado a la etiqueta de disco DOS/BIOS heredado. Detalles de la partición de arranque MBR DOS/BIOS heredado. Aplicable al firmware de máquina BIOS heredado. Los sistemas de este tipo normalmente se fabricaban <u>antes</u> del año 2010 y, en general, han dejado de producirse.
/dev/sda2 Intercambio de Linux Tamaño de RAM * 2 Detalles de la partición de intercambio.
/dev/sda3 xfs Resto del disco El perfil seleccionado, particiones adicionales (opcional) y el propósito del sistema agrega complejidades para dimensionar apropiadamente los sistemas de archivos raíz, por lo tanto los autores del Manual no pueden ofrecer una sugerencia única para la partición del sistema de archivos raíz.</br></br> Cuando Gentoo es el único sistema operativo que usa el disco, seleccionar el resto del disco es la opción más segura y sugerida. Detalles de la partición raíz.

Si esta información es suficiente, el lector avanzado puede saltar directamente al paricionamiento.

Tanto fdisk como parted son utilidades de partición incluidas en los entornos de imágenes live oficiales de Gentoo. fdisk es bien conocido, estable y maneja discos MBR y GPT. parted fue una de las primeras utilidades de administración de dispositivos de bloques de Linux que admitió particiones GPT. Puede usarse como alternativa a fdisk si el lector lo prefiere; sin embargo, el manual solo proporcionará instrucciones para fdisk, ya que está comúnmente disponible en la mayoría de los entornos Linux.

Antes de pasar a las instrucciones de creación, el primer conjunto de secciones describirán con mas detalle cómo pueden crearse esquemas de particionamiento y mencionan algunos problemas comunes.


Diseñar un esquema de particionamiento

¿Cuántas particiones y de qué tamaño?

El diseño de la distribución de la partición del disco depende en gran medida de lo que se pida al sistema y de los sistemas de archivos aplicados al dispositivo. Si hay muchos usuarios, se recomienda tener /home en una partición separada, lo que aumentará la seguridad y facilitará las copias de seguridad y otros tipos de mantenimiento. Si se está instalando Gentoo para funcionar como un servidor de correo, entonces /var debería ser una partición separada ya que todos los correos se almacenan dentro del directorio /var. Los servidores de juegos pueden tener una partición /opt separada, ya que la mayoría del software del servidor de juegos está instalado allí. El motivo de estas recomendaciones es similar al directorio /home: seguridad, copias de seguridad y mantenimiento.

En la mayoría de situaciones dentro de Gentoo, /usr y /var deberían mantenerse relativamente grandes en lo que a tamaño se refiere. /usr alberga la mayoría de aplicaciones disponibles y las fuentes del núcleo Linux (dentro de /usr/src). Por defecto, /var alberga el repositorio de ebuilds de Gentoo ebuild (localizado en /var/db/repos/gentoo), el cual, dependiendo del sistema de ficheros, normalmente ocupa cerda de 650 MiB de espacio en disco. Esta estimación de espacio excluye los directorios /var/cache/distfiles y /var/cache/binpkgs, los cuales gradualmente se llenarán con ficheros fuente y (opcionalmente) paquetes binarios conforme se van añadiendo al sistema.

Cuántas particiones y como son de grandes depende mayoritariamente de considerar o no las compensaciones y la elección de la mejor opción para cada caso. Tener particiones o volúmenes separados tiene las siguientes ventajas:

  • Puede elegir el mejor sistema de archivos para cada partición o volumen.
  • El sistema entero no puede quedarse sin espacio si una herramienta fallara y escribiera datos continuamente en una partición o volumen.
  • Si es el caso, el tiempo dedicado a las comprobaciones de integridad de los sistemas de archivos se reduce ya que las éstas pueden ser hechas en paralelo (aunque esta mejora se realiza más con varios discos que con varias particiones).
  • Se puede mejorar la seguridad montando algunas particiones o volúmenes en modo solo lectura, nosuid (los bits setuid son ignorados), noexec (los bits de ejecución son ignorados), etc.


Sin embargo, tener múltiples particiones tiene también ciertas desventajas:

  • Si no se configura correctamente, el sistema puede tener mucho espacio libre en una partición y poco espacio libre en otra.
  • Una partición separada para /usr/ puede requerir que el administrador arranque con un initramfs para montar la partición antes de que comiencen otros guiones de arranque. Dado que la generación y mantenimiento de un initramfs está más allá del alcance de este manual, recomendamos que los recién llegados no usen una partición separada para /usr/.
  • También hay un límite de 15 particiones para SCSI y SATA a menos que el disco utilice etiquetas GPT.
Nota
Las instalaciones en las que se desee utilizar systemd como el sistema para inicio y servicios deben tener el directorio /usr disponible en el momento del inicio, bien como parte del sistema de archivos o montado a través de initramfs.

¿Qué decir sobre el espacio de intercambio?

Recomendaciones para el tamaño del espacio de intercambio
Tamaño de la RAM ¿Soporte para suspender? ¿Soporte para hibernación?
2 GB o menos 2 * RAM 3 * RAM
2 a 8 GB Tanto como RAM 2 * RAM
8 a 64 GB 8 GB mínimo, 16 máximo 1.5 * RAM
64 GB o mas 8 GB mínimo ¡Hibernación no recomendada! La hibernación no se recomienda para sistemas con gran cantidad de memoria. Si bien es posible, se debe escribir todo el contenido de la memoria en el disco para que la hibernación sea exitosa. Escribir decenas de gigabytes (¡o más!) en el disco puede llevar una cantidad considerable de tiempo, especialmente cuando se utilizan discos rotatorios. En ese caso es mejor suspender.

No existe un valor perfecto para el tamaño del espacio de intercambio. El propósito del espacio es proporcionar almacenamiento en disco al núcleo cuando la memoria interna dinámica (RAM) está bajo presión. Un espacio de intercambio permite que el núcleo mueva páginas de memoria a las que no es probable que se acceda pronto al disco (intercambio o salida de página), lo que liberará memoria en RAM para la tarea actual. Por supuesto, si las páginas intercambiadas en el disco se necesitan repentinamente, deberán volver a colocarse en la memoria (entrada de página), lo que llevará mucho más tiempo que leer desde la RAM (ya que los discos son muy lentos en comparación con la memoria interna).

Cuando un sistema no va a ejecutar aplicaciones con uso intensivo de memoria o tiene mucha RAM disponible, probablemente no necesite mucho espacio de intercambio. Sin embargo, tenga en cuenta que, en caso de hibernación, el espacio de intercambio se utiliza para almacenar todo el contenido de la memoria (probablemente en sistemas de escritorio y portátiles mas que en sistemas de servidor). Si el sistema requiere soporte para la hibernación, entonces se necesita un espacio de intercambio mayor o igual a la cantidad de memoria necesaria.

Como regla general para cantidades de RAM menores a 4 GB, se recomienda que el tamaño del espacio de intercambio sea el doble de la memoria interna (RAM). Para sistemas con varios discos duros, es aconsejable crear una partición de intercambio en cada disco para que puedan utilizarse para operaciones de lectura/escritura en paralelo. Cuanto más rápido se pueda intercambiar un disco, más rápido se ejecutará el sistema cuando se deba acceder a los datos del espacio de intercambio. Al elegir entre discos rotatorios y de estado sólido, es mejor para el rendimiento colocar el espacio de intercambio en el hardware de estado sólido.

Conviene señalar que se pueden usar archivos de espacio de intercambio como alternativa a las particiones de intercambio; esto es mas útil en sistemas con espacio de disco muy limitado.


¿Qué es la Partición del Sistema EFI (ESP)?

Al instalar Gentoo en un sistema que usa UEFI para arrancar el sistema operativo (en lugar de BIOS), es esencial que se cree una Partición del Sistema EFI (ESP). Las instrucciones a continuación contienen las indicaciones necesarias para manejar correctamente esta operación. No se requiere la partición del sistema EFI al arrancar en modo BIOS/Legacy.

La ESP debe ser una variante de FAT (En ocasiones se muestra como vfat en los sistemas Linux). La UEFI especificación oficial cita que el firmware UEFI reconocerá sistemas de archivos FAT12, 16, o 32, aunque se recomienda FAT32 para la ESP. Después de la partición, formatee el ESP en consecuencia:

root #mkfs.fat -F 32 /dev/sda1
Importante
¡Si el ESP no está formateado con una variante FAT, el firmware UEFI del sistema no encontrará el cargador de arranque (o el núcleo de Linux) y lo más probable es que no pueda arrancar el sistema!

¿Qué es la partición de arranque BIOS?

Una partición de arranque del BIOS es una partición muy pequeña (de 1 a 2 MB) en la que los cargadores de arranque como GRUB2 pueden colocar datos adicionales que no caben en el almacenamiento asignado. Solo es necesario cuando un disco está formateado con una etiqueta de disco GPT, pero el firmware del sistema se iniciará a través de GRUB2 en el modo de inicio BIOS/MBR DOS heredado. No es necesario al arrancar en modo EFI/UEFI, y tampoco es necesario cuando se utiliza una etiqueta de disco MBR/Legacy DOS. No se habilitará una partición de arranque del BIOS en esta guía.

Partición del disco con GPT para UEFI

Las siguientes partes explican cómo crear un ejemplo de diseño de partición para un único dispositivo de disco GPT que se ajustará a la especificación UEFI y la especificación de particiones detectables (DPS). DPS es una especificación proporcionada como parte de la especificación del grupo de la API del espacio de usuario (UAPI) de Linux y se recomienda, pero es completamente opcional. Las especificaciones se implementan utilizando la utilidad fdisk, que forma parte del paquete sys-apps/util-linux.

La tabla proporciona valores predeterminados recomendados para una instalación trivial de Gentoo. Se pueden agregar particiones adicionales según las preferencias personales o los objetivos de diseño del sistema.

Ruta del dispositivo (sysfs) punto de montaje Sistema de archivos UUID de DPS (Tipo-UUID) Descripción
/dev/sda1 /efi vfat c12a7328-f81f-11d2-ba4b-00a0c93ec93b Detalles de la partición del sistema EFI (ESP).
/dev/sda2 N/A. Intercambio no se monta en el sistema de archivos como un archivo de dispositivo. 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f Detalles de la partición de intercambio.
/dev/sda3 / xfs 44479540-f297-41b2-9af7-d131d5f0458a Detalles de la partición raíz.

Examinar el esquema de particionamiento actual

fdisk es una popular y potente herramienta que permite dividir el disco en particiones. Arranca fdisk sobre tu unidad de disco (en nuestro ejemplo usamos el dispositivo de disco /dev/sda):

root #fdisk /dev/sda

Use la tecla p para mostrar el esquema de particionamiento actual del disco:

Command (m for help):p
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS721010A9
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 3E56EE74-0571-462B-A992-9872E3855D75

Device        Start        End    Sectors   Size Type
/dev/sda1      2048    2099199    2097152     1G EFI System
/dev/sda2   2099200   10487807    8388608     4G Linux swap
/dev/sda3  10487808 1953523711 1943035904 926.5G Linux root (x86-64)

Este disco en particular se ha configurado para albergar dos sistemas de archivos Linux (cada uno con su correspondiente partición listada como "Linux") así como una partición de intercambio (listada como "Linux swap").

Creando una nueva etiqueta de disco / eliminando todas las particiones

Al presionar la tecla g, se eliminarán instantáneamente todas las particiones de disco existentes y se creará una nueva etiqueta de disco GPT:

Command (m for help):g
Created a new GPT disklabel (GUID: 3E56EE74-0571-462B-A992-9872E3855D75).

Alternativamente, para mantener una etiqueta de disco GPT existente (consulte el resultado de p arriba), considere eliminar las particiones existentes una por una del disco. Presione d para eliminar una partición. Por ejemplo, para eliminar una /dev/sda1 existente:

Command (m for help):d
Partition number (1-4): 1

La partición ha sido marcada para su borrado. Ya no aparecerá al mostrar la lista de particiones (p), pero no será eliminada hasta que guarde los cambios realizados. Esto permite anular la operación si se ha cometido una equivocación - en este caso presione q inmediatamente y la tecla Enter a continuación y no se eliminarán las particiones.

Presione p de forma repetida para ver el listado de particiones y presione d junto con el número de la partición para borrarla. Acabará con la tabla de particiones vacía:

Command (m for help):p
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS721010A9
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 3E56EE74-0571-462B-A992-9872E3855D75

Ahora que la tabla de particiones que está en memoria está vacía, estamos preparados para crear las particiones.

Creando la partición del sistema EFI (ESP)

Nota
Es posible utilizar una ESP más pequeña, pero no se recomienda, especialmente porque puede compartirse con otros sistemas operativos.

Primero cree una pequeña partición del sistema EFI, que también se montará como /boot. Escriba n para crear una nueva partición, seguido de 1 para seleccionar la primera partición. Cuando se le solicite el primer sector, asegúrese de que comience en 2048 (que puede ser necesario para el cargador de arranque) y presione Enter. Cuando se le solicite el último sector, escriba +1G para crear una partición de 1 GByte de tamaño:

Command (m for help):n
Partition number (1-128, default 1): 1
First sector (2048-1953525134, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525134, default 1953523711): +1G
 
Created a new partition 1 of type 'Linux filesystem' and of size 1 GiB.
Partition #1 contains a vfat signature.

Do you want to remove the signature? [Y]es/[N]o: Y
The signature will be removed by a write command.

Marque la partición como una partición del sistema EFI:

Command (m for help):t
Selected partition 1
Partition type or alias (type L to list all): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.

Opcionalmente, para que el ESP cumpla con la especificación de la partición del sistema detectable (DSP), cambie al modo experto y realice el siguiente paso adicional para configurar el UUID de la partición:

Command (m for help):x
Expert command (m for help):u
Selected partition 1

New UUID (in 8-4-4-4-12 format): c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Partition UUID changed from 10293DC1-DF6C-4443-8ACF-C756B81B4767 to C12A7328-F81F-11D2-BA4B-00A0C93EC93B.

Presione la tecla r para regresar al menú principal:

Expert command (m for help):r

Command (m for help):

Crear la partición de intercambio

A continuación, para crear la partición de intercambio, presione n para crear una nueva partición, luego presione 2 para crear la segunda partición, /dev/sda2. Cuando se le solicite el primer sector, presione Enter. Cuando se le solicite el último sector, escriba +4G (o cualquier otro tamaño necesario para el espacio de intercambio) para crear una partición de 4 GiB de tamaño.

Command (m for help):n
Partition number (2-128, default 2): 
First sector (2099200-1953525134, default 2099200): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-1953525134, default 1953523711): +4G
 
Created a new partition 2 of type 'Linux filesystem' and of size 4 GiB.

Una vez que haya hecho esto, presione t para definir el tipo de partición, 2 para seleccionar la partición que acaba de crear y entonces "19" para fijar el tipo "Linux Swap".

Command (m for help):t
Partition number (1,2, default 2): 2
Partition type or alias (type L to list all): 19
 
Changed type of partition 'Linux filesystem' to 'Linux swap'.

Opcionalmente, para que la partición de intercambio cumpla con la especificación de partición del sistema detectable (DSP), cambie al modo experto y realice el siguiente paso adicional para configurar el UUID de la partición:

Command (m for help):x
Expert command (m for help):u
Partition number (1,2, default 2): 2
Selected partition 2

New UUID (in 8-4-4-4-12 format): 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f
Partition UUID changed from 7529CDF6-9482-4497-B021-576745648B2A to 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F..

Presione la tecla r para regresar al menú principal:

Expert command (m for help):r

Command (m for help):

Crear la partición raíz

Finalmente, para crear la partición raíz, presione n para crear una nueva partición. Luego presione 3 para crear la tercera partición, /dev/sda3. Cuando se le solicite el primer sector, presione Enter. Cuando se le solicite el último sector, presione Enter para crear una partición que ocupe el resto del espacio restante en el disco.

Command (m for help):n
Partition number (3-128, default 3): 3
First sector (10487808-1953525134, default 10487808):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-1953525134, default 1953523711):

Created a new partition 3 of type 'Linux filesystem' and of size 926.5 GiB..
Nota
No es necesario configurar el tipo de partición raíz en "Linux root (x86-64)" y el sistema funcionará normalmente si está configurado en el tipo "Linux filesystem". Este tipo de sistema de archivos sólo es necesario en los casos en los que se utiliza un gestor de arranque que lo admita (es decir, systemd-boot) y no se desea un archivo fstab.

Después de crear la partición raíz, presione t para configurar el tipo de partición, 3 para seleccionar la partición que acaba de crear y luego escriba 23 para configurar el tipo de partición en "Linux Root (x86-64)".

Command(m for help):t
Partition number (1-3, default 3): 3
Partition type or alias (type L to list all): 23

Changed type of partition 'Linux filesystem' to 'Linux root (x86-64)'

Opcionalmente, para que la partición raíz cumpla con la especificación de partición del sistema detectable (DSP), cambie al modo experto y realice el siguiente paso adicional para configurar el UUID de la partición:

Command (m for help):x
Expert command (m for help):u
Partition number (1-3, default 3): 3

New UUID (in 8-4-4-4-12 format): 4f68bce3-e8cd-4db1-96e7-fbcaf984b709

Partition UUID changed from 40465382-FA2A-4846-9827-640821CC001F to 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709.

Presione la tecla r para regresar al menú principal:

Expert command (m for help):r

Command (m for help):

Después de completar estos pasos, presionar p debería mostrar una tabla de particiones similar a la siguiente:

Command (m for help):p
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS721010A9
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 3E56EE74-0571-462B-A992-9872E3855D75

Device        Start        End    Sectors   Size Type
/dev/sda1      2048    2099199    2097152     1G Linux filesystem
/dev/sda2   2099200   10487807    8388608     4G Linux swap
/dev/sda3  10487808 1953523711 1943035904 926.5G Linux root (x86-64)

Filesystem/RAID signature on partition 1 will be wiped.

Almacenar la tabla de particiones

Presione w para guardar el diseño de la partición y salir de la utilidad fdisk:

Command (m for help):w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Ahora que las particiones están disponibles, el siguiente paso de instalación es rellenarlas con sistemas de archivos.

Particionado del disco con MBR para arranque BIOS / obsoleto

La siguiente tabla proporciona un diseño de partición recomendado para una instalación trivial de arranque de MBR DOS/BIOS obsoleto. Se pueden agregar particiones adicionales según las preferencias personales o los objetivos de diseño del sistema.

Ruta del dispositivo (sysfs) punto de montaje Sistema de archivos UUID de DPS (PARTUUID) Descripción
/dev/sda1 /boot ext4 N/A Detalles de la partición de arranque MBR DOS/BIOS heredado.
/dev/sda2 N/A. Intercambio no se monta en el sistema de archivos como un archivo de dispositivo. 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f Detalles de la partición de intercambio.
/dev/sda3 / xfs 44479540-f297-41b2-9af7-d131d5f0458a Detalles de la partición raíz.

Cambie el diseño del particionado según sus preferencias personales.

Ver el diseño de particionado actual

Lance fdisk sobre el disco (en nuestro ejemplo, usamos /dev/sda):

root #fdisk /dev/sda

Utilice la tecla p para mostrar la configuración de particionado actual del disco:

Command (m for help):p
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS721010A9
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xf163b576

Device     Boot    Start        End    Sectors   Size Id Type
/dev/sda1  *        2048    2099199    2097152     1G 83 Linux
/dev/sda2        2099200   10487807    8388608     4G 82 Linux swap / Solaris
/dev/sda3       10487808 1953525167 1943037360 926.5G 83 Linux

Este disco en particular estaba configurado hasta ahora para albergar dos sistemas de archivos Linux (cada uno en su partición correspondiente listada como "Linux") así como una partición de intercambio (listada como "Linux swap"), usando una tabla GPT.

Creando una nueva etiqueta de disco / eliminando todas las particiones

Al presionar o se eliminarán instantáneamente todas las particiones de disco existentes y se creará una nueva etiqueta de disco MBR (también llamada etiqueta de disco DOS):

Command (m for help):o
Created a new DOS disklabel with disk identifier 0xf163b576.
The device contains 'gpt' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

Alternativamente, para mantener una etiqueta de disco de DOS existente (consulte el resultado de p arriba), considere eliminar las particiones existentes en el disco una por una. Presione d para eliminar una partición. Por ejemplo, para eliminar una /dev/sda1 existente:

Command (m for help):d
Partition number (1-4): 1

La partición ahora está preparada para su eliminación. Ya no aparecerá al imprimir la lista de particiones (p, pero no se borrará hasta que se hayan guardado los cambios. Esto permite a los usuarios cancelar la operación si se cometió un error, en ese caso, escriba q inmediatamente y presione Enter y la partición no se eliminará.

Presione repetidamente p para imprimir una lista de particiones y luego presione d y el número de la partición para eliminarla. Finalmente, la tabla de particiones estará vacía:

Command (m for help):p
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS721010A9
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xf163b576

El disco ahora está preparado para crear nuevas particiones.

Creando la partición de arranque

Primero, cree una pequeña partición que se montará como /boot. Presione n para crear una nueva partición, seguido de p para una partición primaria y 1 para seleccionar la primera partición primaria. Cuando se le solicite el primer sector, asegúrese de que comience desde 2048 (que puede ser necesario para el cargador de arranque) y presione Template:Tecla. Cuando se le solicite el último sector, escriba +1G para crear una partición de 1 GB de tamaño:

Command (m for help):n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-1953525167, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525167, default 1953525167): +1G

Created a new partition 1 of type 'Linux' and of size 1 GiB.

Marque la partición como de arranque presionando la tecla a y presionando Enter:

Command (m for help):a
Selected partition 1
The bootable flag on partition 1 is enabled now.

Nota: si hay más de una partición disponible en el disco, entonces se deberá seleccionar la partición que se marcará como de arranque.

Creando la partición de intercambio

A continuación, para crear la partición de intercambio, presione n para crear una nueva partición, luego p, luego escriba 2 para crear la segunda partición primaria, /dev/sda2. Cuando se le solicite el primer sector, presione Enter. Cuando se le solicite el último sector, escriba +4G (o cualquier otro tamaño necesario para el espacio de intercambio) para crear una partición de 4GB de tamaño.

Command (m for help):n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2099200-1953525167, default 2099200):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-1953525167, default 1953525167): +4G
 
Created a new partition 2 of type 'Linux' and of size 4 GiB.

Una vez hecho lo anterior, presione t para establecer el tipo de partición, 2 para seleccionar la partición que acaba de crear y luego escriba 82 para establecer el tipo de partición en "Linux Swap".

Command (m for help):t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Creando la partición raíz

Finalmente, para crear la partición raíz, presione n para crear una nueva partición. Luego presione p y 3 para crear la tercera partición primaria, /dev/sda3. Cuando se le solicite el primer sector, presione Enter. Cuando se le solicite el último sector, presione Enter para crear una partición que ocupe todo el espacio restante en el disco:

Command (m for help):n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 3
First sector (10487808-1953525167, default 10487808):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-1953525167, default 1953525167):

Created a new partition 3 of type 'Linux' and of size 926.5 GiB.

Después de completar estos pasos, presionar p debería mostrar una tabla de particiones similar a esta:

Command (m for help):p
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS721010A9
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xf163b576

Device     Boot    Start        End    Sectors   Size Id Type
/dev/sda1  *        2048    2099199    2097152     1G 83 Linux
/dev/sda2        2099200   10487807    8388608     4G 82 Linux swap / Solaris
/dev/sda3       10487808 1953525167 1943037360 926.5G 83 Linux

Guardar el diseño del particionado

Presione w para escribir el diseño de la partición y salir de fdisk:

Command (m for help):w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Ahora es el momento de poner sistemas de archivos en las particiones.



Crear los sistemas de archivos

Advertencia
Cuando utilice una unidad SSD o NVMe, es aconsejable comprobar si hay actualizaciones de firmware. Algunos SSD Intel en particular (600p y 6000p) requieren una actualización de firmware para posible corrupción de datos inducida por patrones de uso de E/S de XFS. El problema está en el nivel de firmware y no en ningún fallo del sistema de archivos XFS. La utilidad smartctl puede ayudar a verificar el modelo del dispositivo y la versión del firmware.

Introducción

Ahora que ya se han creado las particiones, es el momento de crear en ellas un sistema de archivos. En la próxima sección se describen los distintos sistemas de archivos soportados en Linux. Los lectores que ya sepan los sistemas de archivos que pueden usar deben ir a Aplicar un sistema de archivos a una partición. En caso contrario siga leyendo para conocer los sistemas de archivos disponibles...

Sistemas de archivos

Linux ofrece soporta para varias docenas de sistemas de archivos, aunque muchos de ellos se utilizan para desplegar situaciones específicas. Solo algunos de los sistemas de archivos estables se pueden encontrar en la arquitectura x86. Se recomienda leer acerca de los sistemas de archivos y el estado de soporte en el que se encuentran antes de seleccionar uno demasiado experimental para particiones importantes. XFS es el sistema de archivos recomendado para la mayoría de situaciones y plataformas. Abajo se muestra una lista que no es exhaustiva

btrfs
Sistema de archivos de nueva generación. Proporciona funciones avanzadas como instantáneas, autorreparación mediante sumas de comprobación, compresión transparente, subvolúmenes y RAID integrado. No se garantiza que los núcleos anteriores a 5.4.y sean seguros de usar con btrfs en producción porque las correcciones para problemas graves solo están presentes en las versiones más recientes de las ramas del núcleo LTS. RAID 5/6 y grupos de cuotas no son seguros en todas las versiones de btrfs.
ext4
Ext4 es un sistema de archivos confiable y multiuso para todas las plataformas, aunque carece de características modernas como reflinks.
f2fs
El sistema de archivos compatible con Flash fue creado originalmente por Samsung para su uso con memoria flash NAND. Es una opción decente al instalar Gentoo en tarjetas microSD, unidades USB u otros dispositivos de almacenamiento basados en flash.
XFS
Sistema de archivos con registro de metadatos que viene con un sólido conjunto de funciones y está optimizado para la escalabilidad. Se ha actualizado continuamente para incluir características modernas. El único inconveniente es que las particiones XFS aún no se pueden reducir, aunque se está trabajando en ello. Es notable que XFS admite enlaces de referencia y copia en escritura (CoW), lo cual es particularmente útil en sistemas Gentoo debido a la cantidad de compilaciones que completan los usuarios. XFS es el sistema de archivos moderno y multiuso recomendado para todas las plataformas. Requiere una partición de al menos 300 MB.
VFAT
También conocido como FAT32, es compatible con Linux pero no admite la configuración de permisos estándar de UNIX. Se utiliza principalmente para interoperabilidad/intercambio con otros sistemas operativos (Microsoft Windows o macOS de Apple), pero también es necesario para algunos firmware del gestor de arranque del sistema (como UEFI). Los usuarios de sistemas UEFI necesitarán una EFI System Partition formateada con VFAT para poder arrancar.
NTFS
Este sistema de archivos de "Nueva Tecnología" es el sistema de archivos insignia de Microsoft Windows desde Windows NT 3.1. De manera similar a VFAT, no almacena la configuración de permisos de UNIX ni los atributos extendidos necesarios para que BSD o Linux funcionen correctamente, por lo que no debe usarse como sistema de archivos raíz en la mayoría de los casos. Debe usarse "sólo" para interoperabilidad o intercambio de datos con sistemas Microsoft Windows (tenga en cuenta el énfasis en "sólo").

Puede encontrar información más extensa sobre los sistemas de archivos en el Filesystem Article mantenido por la comunidad.

Creación de un sistema de archivos en una partición

Nota
Asegúrese de instalar el paquete de utilidades de espacio de usuario correspondiente para el sistema de archivos elegido antes de reiniciar. Habrá un recordatorio para hacerlo cerca del final del proceso de instalación.

Para crear un sistema de archivos en una partición o volumen, existen utilidades de espacio de usuario disponibles para todos los sistemas de archivos. Hacer clic en el nombre del sistema de archivos de la tabla de abajo para obtener información de cada sistema de archivos:

Sistema de archivos Comando de creación ¿Dentro del entorno live? Paquete
btrfs mkfs.btrfs Si sys-fs/btrfs-progs
ext4 mkfs.ext4 Si sys-fs/e2fsprogs
f2fs mkfs.f2fs Si sys-fs/f2fs-tools
xfs mkfs.xfs Si sys-fs/xfsprogs
vfat mkfs.vfat Si sys-fs/dosfstools
NTFS mkfs.ntfs Si sys-fs/ntfs3g
Importante
El manual recomienda nuevas particiones como parte del proceso de instalación, pero es importante tener en cuenta que ejecutar cualquier comando mkfs borrará todos los datos contenidos en la partición. Cuando sea necesario, asegúrese de realizar una copia de seguridad adecuada de todos los datos que existan antes de crear algunos sistemas de archivos.

Por ejemplo, para tener la partición raíz (/dev/sda3) como xfs como se usa en la estructura de partición de ejemplo, los siguientes comandos deberían ser usados:

root #mkfs.xfs /dev/sda3

Sistema de archivos de partición del sistema EFI

La partición del sistema EFI (/dev/sda1) debe estar formateada como FAT32:

root #mkfs.vfat -F 32 /dev/sda1

Sistema de archivos de partición de arranque BIOS heredado

Los sistemas que arrancan a través de BIOS heredado con una etiqueta de disco MBR/DOS pueden usar cualquier formato de sistema de archivos admitido por el gestor de arranque.

Por ejemplo, para formatear con XFS:

root #mkfs.xfs /dev/sda1

Particiones ext4 pequeñas

Cuando se utiliza el sistema de archivos ext4 en una partición pequeña (menos de 8 GiB), el sistema de archivos debe crearse con las opciones adecuadas para reservar suficientes inodos. Esto se puede especificar usando la opción -T small:

root #mkfs.ext4 -T small /dev/<device>

Hacerlo cuadruplicará el número de inodos para un sistema de archivos determinado, ya que su "bytes por inodo" se reduce de uno cada 16 kB a uno cada 4 kB.

Activar la partición de intercambio

mkswap es la orden utilizada para inicializar particiones de intercambio:

root #mkswap /dev/sda2

Para activar la partición, use swapon:

root #swapon /dev/sda2

Este paso de 'activación' sólo es necesario porque la partición de intercambio se creó recientemente dentro del entorno live. Una vez que se haya reiniciado el sistema, siempre que la partición de intercambio esté definida correctamente dentro de fstab u otro mecanismo de montaje, el espacio de intercambio se activará automáticamente.

Montar la partición raíz

Nota
Las instalaciones que se iniciaron anteriormente, pero que no finalizaron el proceso de instalación, pueden reanudar la instalación desde este punto del manual. Utilice este enlace como enlace permanente: Las instalaciones reanudadas comienzan aquí.

Es posible que a ciertos entornos live les falte el punto de montaje sugerido para la partición raíz de Gentoo (/mnt/gentoo), o puntos de montaje para particiones adicionales creadas en la sección de particionamiento:

root #mkdir --parents /mnt/gentoo

Solo para instalaciones con EFI, el ESP debe montarse en alguna ubicación de la partición raíz:

root #mkdir --parents /mnt/gentoo/efi

Continúe creando puntos de montaje adicionales necesarios para cualquier partición adicional (personalizada) creada durante los pasos anteriores utilizando el comando mkdir.

Una vez creados los puntos de montaje, es hora de hacer que las particiones sean accesibles mediante el comando mount.

Monte la partición raíz:

root #mount /dev/sda3 /mnt/gentoo

Continúe montando particiones adicionales (personalizadas) según sea necesario usando el comando mount.

Nota
Si necesita que su /tmp/ resida en una partición separada, asegúrese de cambiar los permisos después de montarla:
root #chmod 1777 /mnt/gentoo/tmp
Lo mismo debe ser aplicado a /var/tmp.

Más adelante en las instrucciones, se montará el sistema de archivos proc (una interfaz virtual con el núcleo), así como otros pseudosistemas de archivos del núcleo. Pero primero se debe extraer el archivo de stage de Gentoo.





Elegir un empaquetado de stage

Consejo
En las arquitecturas compatibles, se recomienda que los usuarios que se orientan a un entorno de sistema operativo de escritorio (gráfico) utilicen un archivo de stage con el término desktop dentro del nombre. Estos archivos incluyen paquetes como sys-devel/llvm y dev-lang/rust-bin y el ajuste del indicador USE que mejorará enormemente el tiempo de instalación.

El archivo de stage actúa como semilla de una instalación de Gentoo. Los archivos de stage son generados con Catalyst por el Equipo de Ingeniería de Lanzamiento. Los archivos de stage se basan en perfiles específicos y contienen un sistema casi completo.

Al elegir un archivo de stage, es importante elegir uno con perfiles correspondientes al tipo de sistema deseado.

Importante
Si bien es posible realizar cambios importantes en el perfil después de que se haya establecido una instalación, el cambio requiere un considerable esfuerzo y consideraciones y está fuera del alcance de este manual de instalación. Cambiar los sistemas de inicio es difícil, pero cambiar de no-multilib a multilib requiere un amplio conocimiento de Gentoo y de la cadena de herramientas de bajo nivel.
Consejo
La mayoría de los usuarios no deberían necesitar utilizar las opciones de archivos comprimidos 'avanzadas'; son para configuraciones de software o hardware atípicas o avanzadas.

OpenRC

OpenRC es un sistema de inicio basado en dependencias (responsable de iniciar los servicios del sistema una vez que se ha iniciado el núcleo) que mantiene compatibilidad con el programa de inicio proporcionado por el sistema, que normalmente se encuentra en /sbin/init. Es el sistema de inicialización nativo y original de Gentoo, pero también lo implementan algunas otras distribuciones de Linux y sistemas BSD.

OpenRC no funciona como reemplazo del archivo /sbin/init por defecto y es 100% compatible con los guiones de inicio de Gentoo. Esto significa que puede ser una solución para ejecutar las docenas de daemons en el repositorio de ebuilds de Gentoo.

systemd

systemd es un reemplazo moderno de init y rc de estilo SysV para sistemas Linux. La mayoría de las distribuciones Linux lo utilizan como sistema de inicio principal. systemd es totalmente compatible con Gentoo y funciona para el propósito previsto. Si aún le parece que falta algo en el Manual para ser una guia de instalación con systemd, revise el artículo de systemd antes de solicitar ayuda.

Multilibrería (32 y 64 bits)

Nota
No todas las arquitecturas tienen una opción multilib. Muchas solo ejecutan código nativo. Multilib se aplica más comúnmente a amd64.

El perfil multilib utiliza bibliotecas de 64 bits cuando es posible y solo recurre a las versiones de 32 bits cuando es estrictamente necesario por motivos de compatibilidad. Esta es una excelente opción para la mayoría de instalaciones porque proporciona una gran flexibilidad para la personalización en el futuro.

Consejo
El uso de multilib hace que sea más fácil cambiar de perfil más adelante, en comparación con no-multilib

No multilibrería (64 bits puros)

Advertencia
Los lectores que acaban de empezar con Gentoo no deben elegir un empaquetado sin multilib a menos que sea absolutamente necesario. Migrar de un sistema no-multilib a uno multilib requiere un conocimiento extremadamente bueno de Gentoo y de la cadena de herramientas de nivel inferior (incluso puede hacer que nuestros desarrolladores de la cadedena de herramientas se estremezcan un poco). No es para miedosos y está más allá del alcance de esta guía.

La selección de un archivo empaquetado no-multilib como base del sistema proporciona un entorno de sistema operativo completo de 64 bits - sin software de 32 bits. Esto efectivamente hace que la capacidad de cambiar a perfiles multilib sea engorrosa, aunque aún técnicamente posible.

Descargar el empaquetado de stage (tarball)

Antes de descargar el archivo de stage, el directorio actual debe situarse en la ubicación de montaje utilizado para la instalación:

root #cd /mnt/gentoo

Ajustar la Fecha/Hora correcta

Los archivos de stage generalmente se obtienen mediante HTTPS, lo que requiere una relativa precisión en la hora del sistema. La desviación del reloj puede impedir que las descargas funcionen y puede causar errores impredecibles si la hora del sistema se ajusta en una cantidad considerable después de la instalación.

La fecha y hora actuales se pueden verificar con date:

root #date
Mon Oct  3 13:16:22 PDT 2021

Si la fecha/hora mostrada tiene más de unos pocos minutos de diferencia, debe actualizarse utilizando uno de los siguientes métodos.

Automático

Usar NTP para corregir la desviación del reloj suele ser más fácil y confiable que configurar manualmente el reloj del sistema.

chronyd, parte de net-misc/chrony, se puede utilizar para actualizar el reloj del sistema a UTC con:

root #chronyd -q
Importante
Los sistemas sin un reloj en tiempo real (RTC) funcional deben sincronizar el reloj del sistema en cada inicio del sistema y, a partir de entonces, en intervalos regulares. Esto también es conveniente para sistemas con RTC, ya que la batería podría fallar y se puede acumular la desviación del reloj.
Advertencia
El tráfico NTP estándar en no autenticado, es importante verificar los datos de tiempo obtenidos de la red.

Manual

Cuando el acceso NTP no está disponible, se puede usar date para configurar manualmente el reloj del sistema.

Nota
Se recomienda la hora UTC para todos los sistemas Linux. Posteriormente, se define una zona horaria del sistema, que cambia el desplazamiento cuando se muestra la fecha.

El siguiente formato de argumento se utiliza para establecer la hora: MMDDhhmmAAAA sintaxis ('Mes, Día, hora, 'minuto y Y Año).

Por ejemplo, para ajustar la fecha y hora a las 13:16 horas del 3 de octubre del 2021, ejecute:

root #date 100313162021

Navegadores gráficos

Los usuarios que utilicen entornos con navegadores web gráficos no tendrán problema en copiar el URL de un archivo de stage desde la sección de descargas del sitio web principal. Simplemente seleccione la pestaña apropiada, haga clic con el botón secundario del ratón en el archivo de stage, entonces Copiar la ruta del enlace para copiar el enlace al portapapeles, a continuación pegue el enlace para la utilidad wget en la línea de órdenes para descargar el archivo de stage:

root #wget <URL_DEL_ARCHIVO_DE_STAGE_PEGADA>

Navegadores en la línea de órdenes

Los usuarios de Gentoo más tradicionales o los 'históricos' que trabajen exclusivamente con la línea de órdenes puede que prefieran utilizar links (www-client/links), un navegador no gráfico dirigido por menús. Para descargar un stage, navegue a la lista de servidores réplica de Gentoo de esta forma:

root #links https://www.gentoo.org/downloads/mirrors/

Para usar un proxy HTTP con links, pase la URL con la opción -http-proxy:

root #links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/

Junto a links existe también el navegador lynx (www-client/lynx). Al igual que links es un navegador de consola pero sin menús.

root #lynx https://www.gentoo.org/downloads/mirrors/

Si necesita pasar a través de un proxy, exporte las variables http_proxy y ftp_proxy:

root #export http_proxy="http://proxy.server.com:port"
root #export ftp_proxy="http://proxy.server.com:port"

Seleccione un servidor réplica cercano. Normalmente bastará con los servidores HTTP, sin embargo también están disponibles otros protocolos. Entre en el directorio releases/x86/autobuilds/. En él deberían aparecer todos los archivos de stage disponibles (quizá almacenados en subdirectorios con el nombre de cada subarquitectura). Seleccione uno y pulse d para descargarlo.

Una vez haya finalizada la descarga del archivo de stage, es posible verificar la integridad y validar los contenidos del archivo de stage. Los interesados pueden ir a la siguiente sección.

Aquellos que no estén interesados en verificar y validar el archivo de stage pueden cerrar el navegador de línea de comandos presionando q e ir directamente a la sección Descomprimir el archivo de stage.

Verificar y validar

Nota
La mayoría de los stages ahora tienen sufijo explícitamente con el tipo de sistema de inicio (openrc o systemd), aunque en algunas arquitecturas aún pueden faltar por ahora.

Al igual que con los CDs minimalistas de instalación, hay descargas disponibles para verificar y validar el archivo stage. Aunque estos pasos se pueden omitir, estos archivos se ofrecen a aquéllos usuarios que se preocupan por la integridad del archivo o archivos que se acaban de descargar. Los archivos adicionales están disponibles en la raíz del directorio mirrors. Busque la ubicación adecuada para la arquitectura del hardware y el perfil del sistema y descargue los archivos asociados .CONTENTS.gz, .DIGESTS y .sha256.

root #wget https://distfiles.gentoo.org/releases/
  • .CONTENTS.gz: un archivo comprimido que contiene una lista de todos los archivos dentro del archivo de stage.
  • .DIGESTS: contiene sumas de comprobación del archivo de stage utilizando varios algoritmos hash criptográficos.
  • .sha256: contiene una suma de comprobación SHA256 firmada con PGP del archivo de stage. Es posible que este archivo no esté disponible para descargar para todos los archivos de stage.

Se pueden utilizar herramientas y utilidades criptográficas como openssl, sha256sum o sha512sum para comparar la salida con las sumas de verificación proporcionadas en el archivo .DIGESTS.

Para verificar la suma de comprobación SHA512 con openssl:

root #openssl dgst -r -sha512 stage3-x86-<release>-<init>.tar.xz

dgst indica al comando openssl que utilice el subcomando Message Digest, -r imprime el resultado del resumen en formato coreutils y -sha512 selecciona el resumen SHA512.

Para verificar la suma de comprobación BLAKE2B512 con openssl:

root #openssl dgst -r -blake2b512 stage3-x86-<release>-<init>.tar.xz

Compare las salidas de los comandos de suma de comprobación con los valores correspondientes de hash y nombre de archivo contenidos en el archivo .DIGESTS. Los valores correspondientes deben coincidir con el resultado de los comandos de suma de comprobación; de lo contrario, el archivo descargado está dañado y debe descartarse y volverse a descargar.

Para verificar el hash SHA256 de un archivo .sha256 asociado usando la utilidad sha256sum:

root #sha256sum --check stage3-x86-<release>-<init>.tar.xz.sha256

La opción --check indica a sha256sum que lea una lista de archivos esperados y hashes asociados, y luego imprima un "OK" asociado para cada archivo que se calcule correctamente o un "FAILED" para archivos en los que no ocurra.

Al igual que con el archivo ISO, la firma criptográfica del archivo tar.xz se puede verificar usando gpg para garantizar que no se haya realizado ninguna manipulación en el archivo empaquetado.

Para las imágenes live oficiales de Gentoo, el paquete sec-keys/openpgp-keys-gentoo-release proporciona claves de firma PGP para lanzamientos automatizados. Las claves primero deben importarse a la sesión del usuario para poder utilizarlas para la verificación:

root #gpg --import /usr/share/openpgp-keys/gentoo-release.asc

Para todas las imágenes live no oficiales que ofrecen gpg y wget en el entorno live, se puede recuperar e importar un paquete que contiene claves de Gentoo:

root #wget -O - https://qa-reports.gentoo.org/output/service-keys.gpg | gpg --import

Verifique la firma del empaquetado y, opcionalmente, los archivos de suma de comprobación asociados:

root #gpg --verify stage3-x86-<release>-<init>.tar.xz.asc
root #gpg --verify stage3-x86-<release>-<init>.tar.xz.DIGESTS
root #gpg --verify stage3-x86-<release>-<init>.tar.xz.sha256

Si la verificación tiene éxito, aparecerá "Good signature from" en la salida de los comandos anteriores.

Las huellas digitales de las claves OpenPGP utilizadas para firmar los medios de lanzamiento se pueden encontrar en la página de firmas de medios de lanzamiento.

Instalar un archivo de stage

Una vez que el archivo stage se haya descargado y verificado, se puede extraer usando tar:

root #tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

Antes de extraer verifique las opciones:

  • x extract, indica a tar que extraiga el contenido del archivo.
  • p preservar permisos.
  • v salida v'erbose.
  • f file, proporciona a tar el nombre del archivo de entrada.
  • --xattrs-include='*.*' Conserva los atributos extendidos en todos los espacios de nombres almacenados en el archivo.
  • --numeric-owner Asegúrese de que los ID de usuario y grupo de los archivos que se extraen del empaquetado sigan siendo los mismos que pretendía el equipo de ingeniería de lanzamiento de Gentoo (incluso si los usuarios aventureros no están usando entornos live oficiales de Gentoo para el proceso de instalación).

Ahora que el archivo stage está desempaquetado, continúe con Configurara las opciones de compilación.

Configurar las opciones de compilación

Introducción

Para optimizar el sistema, es posible establecer variables que afecten al comportamiento de Portage, el administrador de paquetes con soporte oficial de Gentoo. Todas esas variables se pueden configurar como variables de entorno (usando export), pero la configuración a través de export no es permanente.

Nota
Técnicamente, las variables se pueden exportar a través del perfil del shell o archivos rc, sin embargo, esa no es la mejor manera para la administración básica del sistema.

Portage lee el archivo make.conf cuando se ejecuta, lo que cambiará su comportamiento durante su ejecución dependiendo de los valores guardados en el archivo. make.conf puede considerarse el archivo de configuración principal de Portage, así que trate su contenido con cuidado.

Consejo
Puede encontrar una lista comentada de todas las variables posibles en /mnt/gentoo/usr/share/portage/config/make.conf.example. Se puede encontrar documentación adicional sobre make.conf ejecutando man 5 make.conf.

Para una instalación exitosa de Gentoo, solo se deben configurar las variables que se mencionan a continuación.

Use su editor favorito (en esta guía usaremos nano) para modificar las variables de optimización que discutiremos en adelante.

root #nano /mnt/gentoo/etc/portage/make.conf

Observando el archivo make.conf.example es obvio cual es su estructura: las líneas que son comentarios comienzan con #, el resto definen variables usando la sintaxis VARIABLE="valor". Varias de estas variables se discuten a continuación.

CFLAGS y CXXFLAGS

Las variables CFLAGS y CXXFLAGS definen los parámetros de optimización para los compiladores GCC de C y de C++ respectivamente. Aunque generalmente se definen aquí, obtendrá el máximo rendimiento si optimiza estos parámetros para cada programa por separado. La razón es que cada programa es diferente. Sin embargo, no es manejable definir estos indicadores en el archivo make.conf.

En make.conf deberá definir los parámetros de optimización que se ajusten a su sistema de forma general. No coloque parámetros experimentales en esta variable; un nivel demasiado alto de optimización puede hacer que los programas funcionen mal (cuelgues, o incluso peor, funcionamientos erróneos).

El Manual no explicará todas las opciones posibles de optimización. Si quiere conocerlas todas, lea los Manuales en línea GNU o la página información de gcc (info gcc). El archivo make.conf.example también contiene una gran cantidad de ejemplos e información; no olvide leerlo también.

El primer parámetro es -march= o -mtune=, el cual especifica el nombre de la arquitectura destino. Las posibles opciones se describen en el archivo make.conf.example (como comentarios). Un valor frecuentemente utilizado es native ya que indica al compilador que seleccione la arquitectura destino del sistema actual (en el que se está realizando la instalación).

Seguida de esta, está el parámetro -O (que es una O mayúscula, no un cero), que especifica la clase optimización de gcc. Las clases posibles son s (para tamaño optimizado), 0 (cero - para no optimizar), 1, 2 o incluso 3 para la optimización de velocidad (cada clase tiene los mismos parámetros que la anterior, más algunos extras). -O2 es la recomendación por defecto. Es conocido que -O3 provoca problemas cuando se utiliza globalmente en el sistema, por esto se recomienda quedarse con -O2.

Otros parámetros de optimización bastante populares son los -pipe (usar tuberías en lugar de archivos temporales para la comunicación entre las diferentes etapas de compilación). No tiene ningún impacto sobre le código generado, pero usa más memoria. En sistemas con poca memoria, el proceso del compilador podría ser terminado. En ese caso, no use este parámetro.

Usar -fomit-frame-pointer (el cual no mantiene el puntero de marco en un registro para aquellas funciones que no lo necesiten) podría tener graves repercusiones en la depuración de errores en aplicaciones.

Cuando defina las variables CFLAGS y CXXFLAGS, debería combinar varios parámetros de optimización en una sóla cadena. Los valores por defecto que trae el archivo de stage deberían ser suficientemente buenos. Lo siguiente es simplemente un ejemplo:

CÓDIGO Ejemplo de CFLAGS y CXXFLAGS variables
# Configuraciones del compilador a aplicar en cualquier lenguaje
COMMON_CFLAGS="-O2 -march=i686 -pipe"
# Use los mismos valores en ambas variables
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${CFLAGS}"
Consejo
A pesar de que el artículo sobre la optimización de GCC contiene más información sobre cómo las distintas opciones de compilación pueden afectar a un sistema, el artículo sobre CFLAGS seguras puede resultar más práctico para los que se inician en la optimización de su sistema.

MAKEOPTS

La variable MAKEOPTS define cuántas compilaciones paralelas deben ocurrir al instalar un paquete. A partir de la versión 3.0.31 de Portage[1], si no se define, el comportamiento predeterminado de Portage es establecer el valor de trabajos en MAKEOPTS al mismo número de hilos de procesamiento devueltos por nproc.

Además, a partir de Portage 3.0.53[2], si no se define, el comportamiento predeterminado de Portage es establecer el valor promedio de carga en < var>MAKEOPTS al mismo número de hilos de procesamiento devueltos por nproc.

Una buena opción es el menor de: el número de hilos de procesamiento que tiene la CPU o la cantidad total de RAM del sistema dividida por 2 GiB.

Advertencia
El uso de una gran cantidad de trabajos puede afectar significativamente el consumo de memoria. Una buena recomendación es tener al menos 2 GiB de RAM para cada trabajo especificado (por ejemplo, -j6 requiere al menos 12 GiB). Para evitar quedarse sin memoria, reduzca el número de trabajos para que se ajusten a la memoria disponible.
Consejo
Cuando se utilizan emerges en paralelo (--jobs), la cantidad efectiva de trabajos ejecutados puede crecer exponencialmente (hasta hacer que los trabajos se multipliquen por los trabajos de los emerges). Esto se puede solucionar ejecutando una configuración distcc solo para localhost que limitará el número de instancias del compilador por host.
ARCHIVO /etc/portage/make.confEjemplo de declaración MAKEOPTS
# Si no se define, el comportamiento predeterminado de Portage es:
# - establecer el valor de los trabajos en MAKEOPTS en la misma cantidad de subprocesos devueltos por `nproc`
# - establecer el valor de carga media en MAKEOPTS ligeramente por encima de la cantidad de subprocesos devueltos por `nproc`, debido a que será el valor limitante
# Reemplace '4' según corresponda para el sistema (min(RAM/2GB, subprocesos), o déjelo sin establecer.
MAKEOPTS="-j4 -l5"

Busque MAKEOPTS en man 5 make.conf para obtener más detalles.

Preparados, listos, ¡ya!

Actualice /mnt/gentoo/etc/portage/make.conf con sus propios parámetros y guarde los cambios (los usuarios de nano deben presionar usar Ctrl+o para guardar los cambios y después Ctrl+x para salir).

Referencias





Enjaulamiento

Copiar la información DNS

Aún queda una cosa que hacer antes de entrar en el nuevo entorno, copiar la información sobre los DNS en /etc/resolv.conf. Necesita hacer esto para asegurarse de que la red continúe funcionando después de entrar en el nuevo entorno. /etc/resolv.conf contiene los servidores de nombres para su red.

Para copiar esta información, se recomienda pasar la opción --dereference en la orden cp.Esto asegura que, si /etc/resolv.conf es un enlace simbólico, se copia el archivo al que apunta el enlace y no el propio enlace. En caso contrario, en el nuevo entorno, el enlace simbólico podría apuntar a un archivo inexistente (ya que lo mas probable es que los archivos apuntados no estén disponible dentro del nuevo entorno).

root #cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Montar los sistemas de archivos necesarios

En unos momentos, la raíz de Linux se cambiará a la nueva ubicación.

Los sistemas de archivos que deben estar disponibles son:

  • /proc/ es un pseudosistema de archivos. Parecen archivos normales, pero el kernel de Linux los genera sobre la marcha.
  • /sys/ es un pseudosistema de archivos, como /proc/ que alguna vez estuvo destinado a reemplazarlo, y está más estructurado que /proc/
  • /dev/ es un sistema de archivos normal que contiene todos los dispositivos. Está parcialmente administrado por el administrador de dispositivos de Linux (generalmente udev)
  • /run/ es un sistema de archivos temporal utilizado para archivos generados en tiempo de ejecución, como archivos PID o bloqueos.

La ubicación /proc/ se montará en /mnt/gentoo/proc/ mientras que los otros serán montados mediante enlace. Esto último quiere decir que, por ejemplo, /mnt/gentoo/sys/ será realmente el actual /sys/ (será sólo un segundo punto de entrada al mismo sistema de archivos) mientras que /mnt/gentoo/proc/ es un nuevo montaje (instancia por así decirlo) del sistema de archivos.

Consejo
Si utiliza el medio de instalación de Gentoo, este paso se puede reemplazar con simplemente: arch-chroot /mnt/gentoo.
root #mount --types proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
root #mount --bind /run /mnt/gentoo/run
root #mount --make-slave /mnt/gentoo/run
Nota
Las operaciones --make-rslave son necesarias para dar soporte a systemd mas adelante en la instalación.
Advertencia
Cuando se utilicen medios de instalación que no sean de Gentoo, podría no ser suficiente. Algunas distribuciones crean el enlace simbólico /dev/shm a /run/shm/ el cual ya no será válido después del chroot. Hacer que /dev/shm/ sea un apropiado montaje tmpfs puede resolver este problema:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm

Asegúrese también de asignale permisos 1777:

root # chmod 1777 /dev/shm /run/shm

Entrar en el nuevo entorno

Ahora que todas las particiones están inicializadas y el sistema base instalado, es hora de entrar en el nuevo entorno de instalación haciendo chrooting en él. Esto significa que la sesión cambiará su raíz (la ubicación de mayor nivel que puede ser accedida) desde el entorno de instalación actual (CD de instalación u otro medio de instalación) hasta el sistema de instalación (es decir, las particiones inicializadas). De ahí el nombre, change root (cambiar raíz) o chroot.

El enjaulamiento (chroot) se hace en tres pasos:

  1. Se cambia la raíz desde / (en el medio de instalación) a /mnt/gentoo/ (en las particiones) utilizando chroot o arch-chroot, si está disponible.
  2. Se cargan en memoria algunas definiciones (ofrecidas por /etc/profile) mediante la orden source.
  3. Se redefine el símbolo de espera de órdenes (prompt) primario que nos hará recordar que nos encontramos en un entorno enjaulado (chroot).
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

Desde este momento, todas las acciones realizadas lo serán en el nuevo entorno Gentoo Linux.

Consejo
Si la instalación de Gentoo se interrumpe en algún momento posterior, debería ser posible 'continuarla' desde este paso. ¡No es necesario particionar los discos otra vez! Simplemente monte la partición raíz y siga los pasos anteriores comenzando desde copiar la información DNS hasta entrar en el nuevo entorno. Esto también se utiliza para arreglar problemas con el cargador de arranque. Mas información en el artículo chroot.

Preparándose para un gestor de arranque

Ahora que se ha entrado en el nuevo entorno, es necesario prepararlo para el gestor de arranque. Será importante tener montada la partición correcta cuando llegue el momento de instalar el gestor de arranque.

Sistemas UEFI

Para los sistemas UEFI, /dev/sda1 se formateó con el sistema de archivos FAT32 y se utilizará como partición del sistema EFI (ESP). Cree un nuevo directorio /efi (si aún no se ha creado) y luego monte ESP allí:

root #mkdir /efi
root #mount /dev/sda1 /efi

Sistemas DOS/Legacy BIOS

Para sistemas DOS/BIOS heredado, el gestor de arranque se instalará en el directorio /boot, por lo tanto, móntelo de la siguiente manera:

root #mount /dev/sda1 /boot

Configurar Portage

Instalar una instantánea de repositorio de ebuilds de Gentoo desde la web

El siguiente paso es instalar una instantánea del repositorio de ebuilds de Gentoo. Esta instantánea contiene una colección de ficheros que informa a Portage sobre los títulos de software disponibles (para su instalación), qué perfiles puede seleccionar el administrador del sistema, artículos de noticias específicas de paquetes o perfiles, etc.

Se recomienda utilizar emerge-webrsync para aquéllos que se encuentren detrás de cortafuegos restrictivos (utiliza los protocolos HTTP/FTP para descargar la instantánea) y ahorra ancho de banda de red. Los lectores que no tengan limitaciones en el ancho de banda pueden saltar a la siguiente sección.

Esto recuperará la última instantánea (que se libera todo los días) desde uno de los servidores réplica de Gentoo e instalarla en el sistema:

root #emerge-webrsync
Nota
Durante esta operación, emerge-webrsync podría indicar que la ubicación /var/db/repos/gentoo/ no existe. Esto es normal y no debe preocupar - la herramienta creará la ubicación.

A partir de este punto Portage podría indicar que se recomienda realizar algunas actualizaciones. Esto es debido a que algunos paquetes de sistema que se han instalado mediante un archivo stage disponen de versiones más actuales y ahora Portage detecta los nuevos paquetes consultando la instantánea del repositorio. Por el momento se pueden ignorar las actualizaciones de los paquetes hasta que la instalación de Gentoo haya finalizado.


Opcional: Seleccionar los servidores réplica

Para descargar el código fuente rápidamente, se recomienda seleccionar un mirror rápido y geográficamente cercano. Portage buscará en el archivo make.conf la variable GENTOO_MIRRORS y utilizará los mirrors enumerados allí. Es posible navegar a la lista de réplicas de Gentoo y buscar una réplica (o varias réplicas) cerca de la ubicación física del sistema (ya que éstas suelen ser las más rápidas).

Una herramienta llamada mirrorselect proporciona una bonita interfaz de texto para consultar y seleccionar más rápidamente los mirrors adecuados. Simplemente navegue hasta los mirrors de su elección y presione Template:Tecla para seleccionar uno o más mirrors.

root #emerge --ask --verbose --oneshot app-portage/mirrorselect
root #mirrorselect -i -o >> /etc/portage/make.conf

Alternativamente, hay una lista de réplicas activas disponible en línea.

Opcional: Actualizar el repositorio de ebuilds de Gentoo

Puede actualizar el repositorio de ebuilds de Gentoo a la última versión. La orden emerge-webrsync anterior habrá instalado una instantanea muy reciente (normalmente inferior a 24 horas) de manera que claramente este paso es opcional.

Supongamos que es necesario disponer de las últimas actualizaciones de un paquete (hasta 1 hora), entonces utilice emerge --sync. Este comando utilizará el protocolo rsync para actualizar el repositorio ebuild de Gentoo (que se obtuvo anteriormente a través de emerge-webrsync) al estado más reciente.

root #emerge --sync

En terminales lentos, como ciertos frame buffers o consolas serie, se recomienda utilizar la opción --quiet para acelerar el proceso:

root #emerge --sync --quiet

Leer los elementos de noticias

Cuando se sincroniza el repositorio de ebuilds de Gentoo, Portage puede mostrar mensajes informativos de salida similares a los siguientes:

* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Los elementos de noticias se crearon para ofrecer un medio de comunicación en el que se incluyeran mensajes críticos a los usuarios a través del repositorio de ebuilds de Gentoo. Para gestionarlos necesitará utilizar eselect news. La aplicación eselect es una utilidad específica de Gentoo que presenta una interfaz de gestión común para la administración del sistema. En este caso se ha pedido a eselect que use el módulo news.

Para el módulo news hay tres operaciones que son las mas usadas:

  • Con list se muestra un sumario de las noticias disponibles
  • Con read se leen las noticas
  • Con purge se pueden eliminar noticias que una vez leidas ya no sea necesario volverlas a leer mas.
root #eselect news list
root #eselect news read

Se puede obtener más información sobre el lector de noticias en la página del manual:

root #man news.eselect

Elegir el perfil adecuado

Consejo
Los perfiles de escritorio no son exclusivos para entornos de escritorio. También son adecuados para administradores de ventanas mínimos como i3 o sway.

Un perfil (profile) es uno de los bloques de construcción en cualquier sistema Gentoo. No solamente especifica unos valores predeterminados para USE, CFLAGS , y otras variables importantes, también bloquea sistema para ciertos rangos de versiones de algunos paquetes. Estas configuraciones son todas mantenidas por los desarrolladores de Portage de Gentoo.

Se puede ver el perfil que el sistema está utilizado actualmente con eselect, en este caso usando el módulo profile:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/x86/23.0 *
  [2]   default/linux/x86/23.0/desktop
  [3]   default/linux/x86/23.0/desktop/gnome
  [4]   default/linux/x86/23.0/desktop/kde
Nota
La salida de la orden anterior es solo un ejemplo y cambiará a lo largo del tiempo.
Nota
Para usar systemd, seleccione un perfil que tenga "systemd" en el nombre y viceversa, si no

También hay subperfiles de escritorio disponibles para algunas arquitecturas que incluyen paquetes de software comúnmente necesarios para una experiencia de escritorio.

Advertencia
Las actualizaciones de perfil no deben tomarse a la ligera. Al seleccionar el perfil inicial, utilice el perfil correspondiente a la misma versión que el utilizado inicialmente por el archivo de stage (por ejemplo, 23.0). Cada nueva versión del perfil se anuncia a través de una noticia que contiene instrucciones de migración; asegúrese de seguir cuidadosamente las instrucciones antes de cambiar a un perfil más nuevo.

Después de revisar los perfiles disponibles para la arquitectura x86, los usuarios pueden elegir usar un perfil diferente para el sistema:

root #eselect profile set 2

Nota
El subperfil developer es específico para desarrolladores de Gentoo Linux y no está dirigido a usuarios comunes.

Opcional: agregar un host de paquetes binarios

Desde diciembre de 2023, el equipo de Ingeniería de Lanzamiento de Gentoo ha ofrecido un host de paquetes binarios oficial (coloquialmente abreviado simplemente como "binhost") para que lo utilice la comunidad general para recuperar e instalar. paquetes binarios (binpkgs).[1]

Agregar un host de paquetes binarios permite a Portage instalar paquetes compilados y firmados criptográficamente. En muchos casos, agregar un host de paquetes binarios disminuirá "considerablemente" el tiempo medio para la instalación del paquete y agregará muchos beneficios cuando se ejecuta Gentoo en sistemas más antiguos, más lentos o con poca potencia.

Configuración del repositorio

La configuración del repositorio para un binhost se encuentra en el directorio /etc/portage/binrepos.conf/ de Portage, que funciona de manera similar a la configuración mencionada en la sección repositorio de ebuilds de Gentoo.

Al definir un host de binarios, hay dos aspectos importantes a considerar:

  1. La arquitectura y perfiles dentro del valor sync-uri importan y deben alinearse con la arquitectura de ordenadores respectiva (x86 en este caso) y el perfil del sistema seleccionado en la sección Elegir el perfil correcto.
  2. Seleccionar un mirror rápido y geográficamente cercano generalmente acortará el tiempo de recuperación. Revise la herramienta mirrorselect mencionada en la sección Opcional: Seleccionar mirrors o revise el lista en línea de mirrors donde se pueden descubrir los valores de URL.

ARCHIVO /etc/portage/binrepos.conf/gentoobinhost.confEjemplo de host de paquetes binarios basado en CDN
[binhost]
priority = 9999
sync-uri = https://distfiles.gentoo.org/releases/<arch>/binpackages/<profile>/x86-64/

Instalación de paquetes binarios

Portage compilará paquetes desde el código fuente de forma predeterminada. Se le puede indicar que utilice paquetes binarios de las siguientes maneras:

  1. La opción --getbinpkg se puede pasar al invocar el comando emerge. Este método de instalación de paquetes binarios es útil para instalar sólo un paquete binario en particular.
  2. Cambiar el valor predeterminado del sistema a través de la variable FEATURES de Portage, que se expone a través del archivo /etc/portage/make.conf. La aplicación de este cambio de configuración hará que Portage consulte al host del paquetes binarios los paquetes que se solicitarán y volverá a compilar localmente cuando no se encuentren resultados.

Por ejemplo, para que Portage instale siempre los paquetes binarios disponibles:

ARCHIVO /etc/portage/make.confConfigurar Portage para utilizar paquetes binarios de forma predeterminada
# Agregar getbinpkg a la lista de valores dentro de la variable FEATURES
FEATURES="${FEATURES} getbinpkg"
# Requerir firmas
FEATURES="${FEATURES} binpkg-request-signature"

Ejecute también getuto para que Portage configure el conjunto de claves necesario para la verificación:

root #getuto

Las funciones adicionales de Portage se analizarán en el siguiente capítulo del manual.

Opcional: configurar la variable USE

La variable USE es una de las más importantes que Gentoo proporciona a sus usuarios. Muchos programas se pueden compilar con o sin soporte opcional para ciertas cosas. Por ejemplo, algunos programas se pueden compilar con soporte para GTK+, o con soporte para QT. Otros programas se pueden compilar con o sin soporte SSL. Algunos programas incluso se pueden compilar con soporte framebuffer (svgalib) en lugar de soporte X11 (servidor X).

La mayoría de las distribuciones compilan sus paquetes con tanto soporte como sea posible, aumentando el tamaño de los programas y el tiempo de inicio, sin mencionar una enorme cantidad de dependencias. Con Gentoo, los usuarios pueden definir para qué opciones se debe compilar un paquete. Aquí es donde entra en juego USE.

En la variable USE se definen palabras clave que son transformadas en opciones de compilación. Por ejemplo ssl compilará los programas que lo requieran con soporte SSL.-X quitara el soporte para el servidor X (nótese el signo menos delante). gnome gtk -kde -qt5 compilará los programas con soporte para GNOME (y GTK), pero sin soporte para KDE (y Qt), haciendo su sistema completamente adaptado para GNOME (siempre que se use una arquitectura que lo soporte).

La configuración USE predeterminada se coloca en los archivos make.defaults del perfil de Gentoo utilizado por el sistema. Gentoo utiliza un complejo sistema de herencia para los perfiles del sistema, que no se tratará en profundidad durante el proceso de instalación. La forma más sencilla de comprobar la configuración USE actualmente activa es ejecutar emerge --info y seleccionar la línea que comienza con USE:

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Nota
El ejemplo anterior está truncado la lista actual de valores para USE es mucho mucho mas larga.

Puede encontrar una descripción completa sobre la variable USE en el propio sistema en /var/db/repos/gentoo/profiles/use.desc.

root #less /var/db/repos/gentoo/profiles/use.desc

Dentro de la orden less puede desplazarse arriba y abajo utilizando las teclas y y salir pulsando q.

Como ejemplo, se muestran algunas opciones USE para un sistema basado en KDE con DVD, ALSA y soporte para grabar CDs:

root #nano /etc/portage/make.conf
ARCHIVO /etc/portage/make.confConfigurar ajuste para KDE/Plasma con soporte para DVD, ALSA y grabación de CDs
USE="-gtk -gnome qt5 kde dvd alsa cdr"

Cuando se define un valor USE en /etc/portage/make.conf, se "agrega" a la lista de valores USE del sistema. Los valores USE se pueden eliminar globalmente agregando un signo menos - delante del valor en la lista. Por ejemplo, para deshabilitar la compatibilidad con entornos gráficos X, se puede configurar -X:

ARCHIVO /etc/portage/make.confIgnorar valores por defecto para USE
USE="-X acl alsa"
Advertencia
Aunque es posible, configurar -* (que deshabilitará todos los valores USE excepto los especificados en make.conf) está "firmemente" desaconsejado y es imprudente. Los desarrolladores de ebuilds eligen ciertos valores USE predeterminados en ebuilds para evitar conflictos, mejorar la seguridad y evitar errores, entre otras razones. Deshabilitar "todos" los valores USE anulará el comportamiento predeterminado y puede causar problemas importantes.

CPU_FLAGS_*

Algunas arquitecturas (incluidas AMD64/X86, ARM, PPC) tienen una variable USE_EXPAND llamada CPU_FLAGS_<ARCH>, donde <ARCH> se reemplaza con el nombre de la arquitectura del sistema relevante.

Importante
¡No te confundas! Los sistemas AMD64 y X86 comparten una arquitectura común, por lo que el nombre de variable adecuado para los sistemas AMD64 es CPU_FLAGS_X86.

Se usa para configurar la construcción para compilar en código ensamblador específico u otro intrínseco, generalmente escritos a mano o de otra manera adicional, y no es lo mismo que pedirle al compilador que genere un código optimizado para una determinada característica de la CPU (por ejemplo, -march=).

Los usuarios deben establecer esta variable además de configurar su COMMON_FLAGS como deseen.

Se necesitan algunos pasos para configurar esto:

root #emerge --ask --oneshot app-portage/cpuid2cpuflags

Inspeccione la salida manualmente si tiene curiosidad:

root #cpuid2cpuflags

Luego copie la salida en package.use:

root #echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags

VIDEO_CARDS

La variable VIDEO_CARDS USE_EXPAND debe configurarse adecuadamente según las GPU disponibles. No es necesario configurar VIDEO_CARDS para una instalación de solo consola.

A continuación se muestra un ejemplo de una variable VIDEO_CARDS configurada correctamente. Sustituya el nombre del controlador que se utilizará.

ARCHIVO /etc/portage/make.conf
VIDEO_CARDS="amdgpu radeonsi"

Los detalles de varias GPU se pueden encontrar en los artículos AMDGPU, Intel, Nouveau (Open Source) o NVIDIA (Propietario).

Opcional: Configurar la variable ACCEPT_LICENSE

A partir de la Propuesta de mejora 23 de Gentoo Linux (GLEP 23), se creó un mecanismo para permitir a los administradores de sistemas la capacidad de "regular el software que instalan con respecto a las licencias... Algunos quieren un sistema libre de cualquier software que no esté aprobado por OSI; otros simplemente sienten curiosidad por saber qué licencias aceptan implícitamente."[2] Con la motivación de tener un control más granular sobre del tipo de software que se ejecuta en un sistema Gentoo, nació la variable ACCEPT_LICENSE.

Durante el proceso de instalación, Portage considera los valores establecidos dentro de la variable ACCEPT_LICENSE para determinar si los paquetes solicitados cumplen con la determinación del administrador del sistema de una licencia aceptable. Aquí radica un problema: el repositorio de ebuilds de Gentoo está lleno de miles de ebuilds, lo que resulta en cientos de distintas licencias de software... ¿Implica esto que el administrador del sistema apruebe individualmente todas y cada una de las nuevas licencias de software? Afortunadamente no; GLEP 23 también describe una solución a este problema, un concepto llamado grupos de licencias.

Para facilitar la administración del sistema, se han agrupado licencias de software que son legalmente similares, cada una según su tipo. Las definiciones de los grupos de licencias están disponibles para su visualización y son administradas por el proyecto Licencias Gentoo. Los grupos de licencias están precedidos sintácticamente por un símbolo @, mientras que una licencia individual no lo está, lo que permite distinguirlos fácilmente en la variable ACCEPT_LICENSE.

Algunos grupos de licencias comunes incluyen:

Una lista de licencias de software agrupadas según su tipo.
Nombre Descripción
@GPL-COMPATIBLE Licencias compatibles con GPL aprobadas por la Free Software Foundation [a_license 1]
@FSF-APPROVED Licencias de software libre aprobadas por la FSF (incluye @GPL-COMPATIBLE)
@OSI-APPROVED Licencias aprobadas por la Open Source Initiative [a_license 2]
@MISC-FREE Licencias varias que probablemente sean software libre, es decir, que sigan la Definición de software libre [a_license 3] pero no están aprobadas ni por la FSF ni por la OSI
@FREE-SOFTWARE Combina @FSF-APPROVED, @OSI-APPROVED, y @MISC-FREE.
@FSF-APPROVED-OTHER Licencias aprobadas por la FSF para "documentación libre" y "trabajos de uso práctico además de software y documentación" (incluidas las fuentes tipográficas)
@MISC-FREE-DOCS Licencias varias para documentos libres y otros trabajos (incluidas fuentes tipográficas) que siguen la definición libre [a_license 4] pero NO están listadas en @FSF-APPROVED-OTHER.
@FREE-DOCUMENTS Combina @FSF-APPROVED-OTHER y @MISC-FREE-DOCS.
@FREE Metaconjunto de todas las licencias con libertad de usar, compartir, modificar y compartir modificaciones. Combina @FREE-SOFTWARE y @FREE-DOCUMENTS.
@BINARY-REDISTRIBUTABLE Licencias que permitan al menos la redistribución gratuita del software en formato binario. Incluye @FREE.
@EULA Acuerdos de licencia que intentan quitarle sus derechos. Son más restrictivos que "todos los derechos reservados" o requieren aprobación explícita.

Los valores de licencia aceptables actualmente establecidos en todo el sistema se pueden ver a través de:

user $portageq envvar ACCEPT_LICENSE
@FREE

Como se ve en el resultado, el valor predeterminado es permitir que solo se instale el software que se ha agrupado en la categoría @FREE.

Se pueden definir licencias específicas o grupos de licencias para un sistema en las siguientes ubicaciones:

  • Para todo el sistema dentro del perfil seleccionado: esto establece el valor predeterminado.
  • Para todo el sistema dentro del archivo /etc/portage/make.conf. Los administradores del sistema anulan el valor predeterminado del perfil con el contenido de este archivo.
  • Por paquete dentro del archivo /etc/portage/package.license.
  • Por paquete dentro de un directorio de archivos Template:Ruta.

La licencia predeterminada para todo el sistema en el perfil se anula con el contenido de /etc/portage/make.conf:

ARCHIVO /etc/portage/make.confAceptar licencias con ACCEPT_LICENSE para todo el sistema
# Anula el valor predeterminado ACCEPT_LICENSE del perfil
ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"

Opcionalmente, los administradores del sistema también pueden definir licencias aceptadas por paquete como se muestra en el siguiente directorio de archivos de ejemplo. Tenga en cuenta que será necesario crear el directorio package.license si aún no existe:

root #mkdir /etc/portage/package.license

Los detalles de la licencia de software para un paquete Gentoo individual se almacenan dentro de la variable LICENSE del ebuild asociado. Un paquete puede tener una o varias licencias de software, por lo que podría ser necesario especificar varias licencias aceptables para un único paquete.

ARCHIVO /etc/portage/package.license/kernelAceptar licencias por paquete
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
Importante
La variable LICENSE en un ebuild es sólo una indicación para los desarrolladores y usuarios de Gentoo. No es una declaración legal y no hay garantía de que refleje la realidad. Se recomienda no confiar únicamente en la interpretación que haga el desarrollador de ebuilds de la licencia de un paquete de software; sino que verifique el paquete en profundidad, incluidos todos los archivos que se han instalado en el sistema.

Actualizar el conjunto @world

La actualización del conjunto @world del sistema es opcional y es poco probable que se realicen cambios funcionales a menos que se hayan realizado uno o más de los siguientes pasos opcionales:

  1. Se ha seleccionado un perfil objetivo diferente del archivo de stage.
  2. Se han configurado indicadores USE adicionales para los paquetes instalados.

Los lectores que estén realizando una 'ejecución rápida de instalación de Gentoo' pueden omitir con seguridad las actualizaciones del conjunto @world hasta después de que su sistema se haya reiniciado en el nuevo entorno de Gentoo.

Los lectores que estén realizando una ejecución lenta pueden hacer que Portage realice actualizaciones para cambios de paquetes, perfiles y/o indicadores USE en este momento:

root #emerge --ask --verbose --update --deep --newuse @world

Eliminar paquetes obsoletos

Es importante hacer siempre depclean después de las actualizaciones del sistema para eliminar paquetes obsoletos. Revise el resultado cuidadosamente con emerge --depclean --pretend para ver si alguno de los paquetes que se van a eliminar debe conservarse si los usa personalmente. Para conservar un paquete que de otro modo se eliminaría, utilice emerge --noreplace foo.

root #emerge --ask --pretend --depclean

Si está satisfecho, proceda con la limpieza de dependencias real:

root #emerge --ask --depclean
Consejo
Si se seleccionó un perfil objetivo de entorno de escritorio desde un archivo de stage que no es de escritorio, el proceso de actualización de @world podría extender en gran medida la cantidad de tiempo necesario para el proceso de instalación. Aquellos que tienen poco tiempo pueden actuar según esta 'regla general': cuanto más corto sea el nombre del perfil, menos específico será el conjunto @world del sistema. Cuanto menos específico sea el conjunto @world, menos paquetes requerirá el sistema. P.ej.:
  • Seleccionar default/linux/amd64/23.0 probablemente requerirá que se actualicen menos paquetes, mientras que
  • Seleccionar default/linux/amd64/23.0/desktop/gnome/systemd probablemente requerirá la instalación de más paquetes ya que el perfil de destino tiene unos conjuntos @system y @profile mas grandes: dependencias que dan soporte al entorno de escritorio GNOME.


Zona horaria

Nota
Este paso no se aplica a los usuarios de musl libc. Los usuarios que no sepan lo que eso significa deben realizar este paso.
Advertencia
Por favor, evite las zonas horarias listadas en /usr/share/zoneinfo/Etc/GMT* ya que sus nombres no indican las zonas esperadas. Por ejemplo, GMT-8 es en realidad GMT+8.

Seleccione la zona horaria para su sistema. Busque las zonas horarias disponibles en /usr/share/zoneinfo/:

root #ls -l /usr/share/zoneinfo
total 352
drwxr-xr-x 2 root root   1120 Jan  7 17:41 Africa
drwxr-xr-x 6 root root   2960 Jan  7 17:41 America
drwxr-xr-x 2 root root    280 Jan  7 17:41 Antarctica
drwxr-xr-x 2 root root     60 Jan  7 17:41 Arctic
drwxr-xr-x 2 root root   2020 Jan  7 17:41 Asia
drwxr-xr-x 2 root root    280 Jan  7 17:41 Atlantic
drwxr-xr-x 2 root root    500 Jan  7 17:41 Australia
drwxr-xr-x 2 root root    120 Jan  7 17:41 Brazil
-rw-r--r-- 1 root root   2094 Dec  3 17:19 CET
-rw-r--r-- 1 root root   2310 Dec  3 17:19 CST6CDT
drwxr-xr-x 2 root root    200 Jan  7 17:41 Canada
drwxr-xr-x 2 root root     80 Jan  7 17:41 Chile
-rw-r--r-- 1 root root   2416 Dec  3 17:19 Cuba
-rw-r--r-- 1 root root   1908 Dec  3 17:19 EET
-rw-r--r-- 1 root root    114 Dec  3 17:19 EST
-rw-r--r-- 1 root root   2310 Dec  3 17:19 EST5EDT
-rw-r--r-- 1 root root   2399 Dec  3 17:19 Egypt
-rw-r--r-- 1 root root   3492 Dec  3 17:19 Eire
drwxr-xr-x 2 root root    740 Jan  7 17:41 Etc
drwxr-xr-x 2 root root   1320 Jan  7 17:41 Europe
...
root #ls -l /usr/share/zoneinfo/Europe/
total 256
-rw-r--r-- 1 root root 2933 Dec  3 17:19 Amsterdam
-rw-r--r-- 1 root root 1742 Dec  3 17:19 Andorra
-rw-r--r-- 1 root root 1151 Dec  3 17:19 Astrakhan
-rw-r--r-- 1 root root 2262 Dec  3 17:19 Athens
-rw-r--r-- 1 root root 3664 Dec  3 17:19 Belfast
-rw-r--r-- 1 root root 1920 Dec  3 17:19 Belgrade
-rw-r--r-- 1 root root 2298 Dec  3 17:19 Berlin
-rw-r--r-- 1 root root 2301 Dec  3 17:19 Bratislava
-rw-r--r-- 1 root root 2933 Dec  3 17:19 Brussels
...

Supuesto de zona horaria como Europe/Brussels.

OpenRC

El nombre de la zona horaria deseada se puede escribir en /etc/timezone:

root #echo "Europe/Brussels" > /etc/timezone

Finalmente, el paquete sys-libs/timezone-data se puede reconfigurar, actualizando /etc/localtime, según la entrada /etc/timezone:

root #emerge --config sys-libs/timezone-data
Nota
La biblioteca C del sistema utiliza el archivo /etc/localtime para conocer la zona horaria en la que se encuentra el sistema.

systemd

Se emplea una manera ligeramente diferente cuando se utiliza systemd. Se genera un enlace simbólico:

root #ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime

Después, cuando systemd se esté ejecutando, la zona horaria y las configuraciones relacionadas se pueden configurar con el comando timedatectl.

Configurar localizaciones

Nota
Este paso no se aplica a los usuarios de musl libc. Los usuarios que no saben lo que eso significa deben realizar este paso.

Generación de localizaciones

La mayoría de usuarios necesitarán usar únicamente una o dos localizaciones (locales) en su sistema.

Las localizaciones no sólo especifican el idioma que el usuario debe usar para interactuar con sistema, sino también las reglas para ordenar cadenas, presentar fechas y horas, etc. Los nombres de las localizaciones son sensibles a mayúsculas y deben se escritas exactamente como se ha indicado. Una lista completa de las localizaciones disponibles se puede encontrar en el archivo /usr/share/i18n/SUPPORTED.

Las localizaciones soportadas por un sistema debe estar definidas en el archivo /etc/locale.gen.

root #nano /etc/locale.gen

Las siguientes localizaciones son un ejemplo de como disponer tanto de Inglés (Estados Unidos) como de Alemán (Alemán/Alemania) junto con los formatos de caracteres (como UTF-8).

ARCHIVO /etc/locale.genHabilitar las localizaciones US y ES con los formatos de carácter apropiados
en_US ISO-8859-1
en_US.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES.UTF-8 UTF-8
Advertencia
Muchas aplicaciones requieren al menos una configuración regional UTF-8 para costruirse correctamente.

El siguiente paso es ejecutar la orden locale-gen. Esta ordene genera las localizaciones especificadas en el archivo /etc/locale.gen.

root #locale-gen

Para verificar que las localizaciones seleccionadas están ahora disponibles, ejecute locale -a.

En instalaciones con systemd, se puede usar localectl, p. ej. localectl set-locale ... o localectl list-locales.

Selección de localización

Una vez hecho esto, es el momento de establecer la configuración regional de todo el sistema. Nuevamente se usa eselect, ahora con el módulo locale.

Con eselect locale list se muestran las opciones disponibles:

root #eselect locale list
Available targets for the LANG variable:
  [1]  C
  [2]  C.utf8
  [3]  en_US
  [4]  en_US.iso88591
  [5]  en_US.utf8
  [6]  de_DE
  [7]  de_DE.iso88591
  [8]  de_DE.utf8
  [9] POSIX
  [ ]  (free form)

Con eselect locale set <NÚMERO> se puede seleccionar la localización correcta:

root #eselect locale set 2

Se puede realizar también manualmente usando el archivo /etc/env.d/02locale y para systemd el archivo /etc/locale.conf:

ARCHIVO /etc/env.d/02localeDefinición de la localización del sistema manualmente
LANG="de_DE.UTF-8"
LC_COLLATE="C.UTF-8"

La configuración de localizaciones previene mensajes de advertencia o error durante la compilación del núcleo y otro software más adelante durante la instalación.

Ahora recargue sus variables de entorno:

root #env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

Para obtener orientación adicional acerca del proceso de selección de configuración regional, lea también la Guía de localización y la guía UTF-8.

Referencias





Opcional: Instalar firmware y/o microcódigo

Firmware

Firmware para Linux

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 sys-kernel/linux-firmware.

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

root #emerge --ask sys-kernel/linux-firmware
Nota
La instalación de determinados paquetes de firmware suele requerir la aceptación de las licencias de firmware asociadas. Si es necesario, visite la sección de manejo de licencias del Manual para obtener ayuda sobre cómo aceptar licencias.

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 sys-kernel/linux-firmware mencionado anteriormente. El microcódigo para CPUs Intel se puede encontrar dentro del paquete sys-firmware/intel-microcode, 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 estrategias para la gestión del núcleo; sin embargo, en cualquier momento posterior a la instalación, se puede cambiar de estrategia.

Clasificadas de menor a mayor complicación:

Propuesta de automatización total: núcleos de la distribución
Un Núcleo de la Distribución se usa para configurar, compilar e instalar automáticamente el núcleo Linux, sus módulos asociados y (opcionalmente, pero habilitado por defecto) un archivo initramfs. Las actualizaciones futuras del núcleo están completamente automatizadas, ya que se manejan a través del administrador de paquetes, como cualquier otro paquete del sistema. Es posible proporcionar un archivo de configuración del núcleo personalizado si es necesaria la personalización. Este es el proceso menos complicado y es perfecto para los nuevos usuarios de Gentoo debido a que funciona de forma inmediata y ofrece una participación mínima por parte del administrador del sistema.
La manera completamente manual
Las nuevas fuentes del núcleo se instalan a través del administrador de paquetes del sistema. El núcleo se configura, compila e instala manualmente utilizando eselect kernel y una serie de comandos make. Las futuras actualizaciones del núcleo repiten el proceso manual de configuración, compilación e instalación de los archivos del núcleo. Este es el proceso más complejo, pero ofrece el máximo control sobre el proceso de actualización del núcleo.
Estrategia híbrida: Genkernel
Las nuevas fuentes del núcleo se instalan a través del administrador de paquetes del sistema. Los administradores del sistema pueden usar la herramienta genkernel 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 del núcleo personalizado 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 eselect kernel, genkernel y potencialmente otros comandos para cada actualización.

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.

Consejo
Tareas de instalación del núcleo como, por ejemplo, copiar la imagen del núcleo a /boot o la Partición del Sistema EFI, generar un initramfs y/o Imagen unificada del núcleo, que actualiza la configuración del gestor de arranque, se puede automatizar con installkernel. Es posible que los usuarios deseen configurar e instalar sys-kernel/installkernel antes de continuar. Consulte la Sección de instalación del núcleo a continuación para obtener más información.

Núcleos de la distrubución

Núcleos de la Distribución son ebuilds que cubren el proceso completo de descomprimir, configurar, compilar e instalar el kernel. La principal ventaja de este método es que el administrador de paquetes actualiza los kernels a nuevas versiones como parte de la actualización de @world. Esto no requiere más participación que ejecutar un comando emerge. Los núcleos de la distribución tienen de forma predeterminada una configuración que admite la mayoría del hardware; sin embargo, se ofrecen dos mecanismos para la personalización: savedconfig y fragmentos de configuración. Consulte la página del proyecto para más detalles sobre la configuración.

Instalando un núcleo de distribución

Antes de instalar el paquete del núcleo, se debe agregar el indicador USE dracut para el paquete sys-kernel/installkernel en /etc/portage/package.use:

ARCHIVO /etc/portage/package.use/installkernelHabilitar soporte para dracut
sys-kernel/installkernel dracut

Es posible que los usuarios también deseen habilitar en este momento indicadores USE adicionales para sys-kernel/installkernel. Consulte la sección Instalación/Kernel#Installkernel para obtener más detalles.

Para construir un núcleo con parches de Gentoo desde el código fuente, escriba:

root #emerge --ask sys-kernel/gentoo-kernel

Los administradores de sistema que quieran evitar compilar las fuentes del núcleo localmente pueden utilizar imágenes del núcleo precompiladas:

root #emerge --ask sys-kernel/gentoo-kernel-bin
Opcional: Módulos del núcleo firmados

Los módulos del núcleo en el núcleo de distribución preconstruido (sys-kernel/gentoo-kernel-bin) ya están firmados. Para firmar los módulos de núcleos creados a partir del código fuente, habilite el indicador USE modules-sign y, opcionalmente, especifique qué clave usar para la firma en /etc/portage/make.conf:

ARCHIVO /etc/portage/make.confHabilitar módulos firmados
USE="modules-sign"

# Opcionalmente, para utilizar claves de firma personalizadas.
MODULES_SIGN_KEY="/ruta/a/clave_núcleo.pem"
MODULES_SIGN_CERT="/ruta/a/clave_núcleo.pem" # Solo es necesario si MODULES_SIGN_KEY no contiene también el certificado.
MODULES_SIGN_HASH="sha512" # sha512 por defecto.

Si no se especifica MODULES_SIGN_KEY, el sistema de compilación del kernel generará una clave, que se almacenará en /usr/src/linux-x.y.z/certs. Se recomienda generar manualmente una clave para garantizar que sea la misma para cada versión del kernel. Se puede generar una clave con:

root #openssl req -new -nodes -utf8 -sha256 -x509 -outform PEM -out kernel_key.pem -keyout kernel_key.pem
Nota
MODULES_SIGN_KEY y MODULES_SIGN_CERT pueden ser archivos diferentes. Para este ejemplo, el archivo pem generado por OpenSSL incluye tanto la clave como el certificado adjunto y, por lo tanto, ambas variables se establecen al mismo valor.

OpenSSL hará algunas preguntas sobre el usuario para el que se genera la clave, se recomienda responderlas lo más detalladamente posible.

Guarde la clave en un lugar seguro, como mínimo, que solo el usuario root pueda leerla. Verifiquelo con:

root #ls -l kernel_key.pem
 -r-------- 1 root root 3164 Jan  4 10:38 kernel_key.pem 

Si la salida es algo distinta a lo anterior, corrija los permisos con:

root #chown root:root kernel_key.pem
root #chmod 400 kernel_key.pem
Opcional: Firmar la imagen del núcleo (Arranque Seguro)

La imagen del núcleo en el núcleo de distribución preconstruido (sys-kernel/gentoo-kernel-bin) ya está firmada para su uso con Secure Boot. Para firmar la imagen del núcleo de los núcleos creados a partir del código fuente, habilite el indicador USE secureboot y, opcionalmente, especifique qué clave usar para la firma en /etc/portage/make.conf. Tenga en cuenta que firmar la imagen del núcleo para usarla con Secureboot requiere que los módulos del núcleo también estén firmados, se puede usar la misma clave para firmar tanto la imagen del núcleo como los módulos del núcleo:

ARCHIVO /etc/portage/make.confHabilitar claves de firma personalizadas
USE="modules-sign secureboot"

# Opcionalmente, para utilizar claves de firma personalizadas.
MODULES_SIGN_KEY="/ruta/a/kernel_key.pem"
MODULES_SIGN_CERT="/ruta/a/kernel_key.pem" # Solo es necesario si MODULES_SIGN_KEY no contiene también el certificado.
MODULES_SIGN_HASH="sha512" # El valor predeterminado es sha512.

# Opcionalmente, para arrancar con secureboot habilitado, puede ser la misma clave de firma o una diferente..
SECUREBOOT_SIGN_KEY="/ruta/a/kernel_key.pem"
SECUREBOOT_SIGN_CERT="/ruta/a/kernel_key.pem"
Nota
SECUREBOOT_SIGN_KEY y SECUREBOOT_SIGN_CERT pueden ser archivos diferentes. Para este ejemplo, el archivo pem generado por OpenSSL incluye tanto la clave como el certificado adjunto y, por lo tanto, ambas variables se establecen en el mismo valor.
Nota
Para este ejemplo, la misma clave que se generó para firmar los módulos se utiliza para firmar la imagen del kernel. También es posible generar y utilizar una segunda clave independiente para firmar la imagen del kernel. Se puede volver a utilizar el mismo comando OpenSSL que en la sección anterior.

Consulte la sección anterior para obtener instrucciones sobre cómo generar una nueva clave, los pasos pueden repetirse si se debe usar una clave distinta para firmar la imagen del núcleo.

Para arrancar correctamente con el arranque seguro habilitado, el gestor de arranque utilizado también debe estar firmado y el firmware UEFI o Shim debe aceptar el certificado. Esto se explicará más adelante en el manual.

Actualización y limpieza

Una vez instalado el núcleo, el administrador de paquetes lo actualizará automáticamente a versiones más recientes. Las versiones anteriores se conservarán hasta que se solicite al administrador de paquetes que limpie los paquetes obsoletos. Para recuperar espacio en disco, los paquetes obsoletos se pueden eliminar ejecutando periódicamente emerge con la opción --depclean:

root #emerge --depclean

Alternativamente, para limpiar específicamente versiones antiguas del núcleo:

root #emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin

Tareas posteriores a la instalación/actualización

Los núcleos de distribución pueden reconstruir módulos del núcleo instalados por otros paquetes. Portage proporciona una manera con el indicador USE dist-kernel que forma parte de linux-mod-r1.eclass y controla una dependencia de subslot en virtual/dist-kernel.

Este ajuste USE debe aplicarse globalmente si se utiliza un núcleo de distribución dentro de /etc/portage/make.conf. Al hacerlo, se permitirá que paquetes como sys-fs/zfs y x11-drivers/nvidia-drivers se reconstruyan automáticamente para un núcleo recién actualizado y, si fuera el caso, se volverá a generar el initramfs también.

Reconstrucción manual de initramfs o de la Imagen de Núcleo Unificada

Si es necesario, active manualmente tales reconstrucciones, después de una actualización del núcleo, ejecutando:

root #emerge --ask @module-rebuild

Si se necesita algún módulo del núcleo (por ejemplo, ZFS) en el inicio temprano, reconstruya el initramfs también a través de:

root #emerge --config sys-kernel/gentoo-kernel
root #emerge --config sys-kernel/gentoo-kernel-bin

Instalar las fuentes del núcleo

Nota
Esta sección solo es relevante cuando se usa lo siguiente genkernel (híbrido) o configuración manual de la gestión del núcleo.

El uso de sys-kernel/installkernel no es estrictamente obligatorio, pero sí muy recomendable. Cuando se instale este paquete, el proceso de instalación del núcleo se delegará a installkernel. Esto permite instalar varias versiones diferentes del núcleo simultaneamente, así como administrar y automatizar varias tareas relacionadas con la instalación del núcleo que se describen después en el manual. Instálalo ahora con:

root #emerge --ask sys-kernel/installkernel

Al instalar y compilar el núcleo para sistemas basados en x86, Gentoo recomienda el paquete sys-kernel/gentoo-sources.

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

root #emerge --ask sys-kernel/gentoo-sources

Esto instalará las fuentes del núcleo Linux en /usr/src/ 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 el indicador USE symlink esté habilitado en el paquete de fuentes del núcleo elegido.

Es una convencion que se mantenga el enlace simbólico /usr/src/linux, 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:

root #eselect kernel list
Available kernel symlink targets:
  [1]   linux-6.6.21-gentoo

Para crear un enlace simbólico llamado linux, use:

root #eselect kernel set 1
root #ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-6.6.21-gentoo

Alternativa: Configuración manual

Introducción

Nota
En caso de que se lo haya perdido, esta sección requiere las fuentes del núcleo estén instalafas. Asegúrese de obtener las fuentes del núcleo relevantes, luego regrese aquí para el resto de la sección.

La configuración manual del núcleo se considera comúnmente como uno de los procedimientos más difíciles que debe realizar un administrador de sistemas. Nada es menos cierto: después de configurar algunos 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 sys-apps/pciutils que contiene la orden lspci:

root #emerge --ask sys-apps/pciutils
Nota
Dentro de la jaula chroot, se pueden ignorar con tranquilidad las advertencias sobre pcilib (como pcilib: cannot open /sys/bus/pci/devices) que pudiera mostrar lspci.

Otra fuente de información sobre nuestro sistema consiste en ejecutar lsmod 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 make menuconfig. Esto generará una pantalla de configuración basada en menús.

root #cd /usr/src/linux
root #make menuconfig

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 Gentoo de configuración del núcleo en la wiki de Gentoo que también podría ayudar.

Habilitar las opciones esenciales

Al usar sys-kernel/gentoo-sources, 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:

KERNEL Habilitando opciones específicas para Gentoo
Gentoo Linux --->
  Generic Driver Options --->
    [*] Gentoo Linux support
    [*]   Linux dynamic and persistent device naming (userspace devfs) support
    [*]   Select options required by Portage features
        Support for init systems, system and service managers  --->
          [*] OpenRC, runit and other script based systems and managers
          [*] systemd

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 sys-kernel/vanilla-sources, 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.

Habilitar soporte para componentes típicos del sistema

Asegúrese de que todos los controladores que son vitales para el arranque del sistema (como los controladores SATA, la compatibilidad con dispositivos de bloque NVMe, la compatibilidad con sistemas de archivos, etc.) estén compilados dentro del núcleo y no como un módulos; de lo contrario, es posible que el sistema no pueda arranque por completo.

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 dmesg sino de /dev/mcelog. Para ello se requiere el paquete app-admin/mcelog.

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):

KERNEL Habilitar soporte para devtmpfs (CONFIG_DEVTMPFS)
Device Drivers --->
  Generic Driver Options --->
    [*] Maintain a devtmpfs filesystem to mount at /dev
    [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs

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

KERNEL Habilitar soporte para discos SCSI (CONFIG_SCSI, CONFIG_BLK_DEV_SD)
Device Drivers --->
  SCSI device support  ---> 
    <*> SCSI device support
    <*> SCSI disk support
KERNEL Habilitar soporte básico para SATA y PATA (CONFIG_ATA_ACPI, CONFIG_SATA_PMP, CONFIG_SATA_AHCI, CONFIG_ATA_BMDMA, CONFIG_ATA_SFF, CONFIG_ATA_PIIX)
Device Drivers --->
  <*> Serial ATA and Parallel ATA drivers (libata)  --->
    [*] ATA ACPI Support
    [*] SATA Port Multiplier support
    <*> AHCI SATA support (ahci)
    [*] ATA BMDMA support
    [*] ATA SFF support (for legacy IDE and PATA)
    <*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ata_piix)

Verifique que se haya habilitado el soporte básico para NVMe:

KERNEL Habilitar soporte básico NVMe en Linux 4.4.x (CONFIG_BLK_DEV_NVME)
Device Drivers  --->
  <*> NVM Express block device
KERNEL Habilitar soporte básico NVMe en Linux 5.x.x (CONFIG_DEVTMPFS)
Device Drivers --->
  NVME Support --->
    <*> NVM Express block device

No está de más habilitar el siguiente soporte NVMe adicional:

KERNEL Habilitar soporte adicional para NVMe (CONFIG_NVME_MULTIPATH, CONFIG_NVME_MULTIPATH, CONFIG_NVME_HWMON, CONFIG_NVME_FC, CONFIG_NVME_TCP, CONFIG_NVME_TARGET, CONFIG_NVME_TARGET_PASSTHRU, CONFIG_NVME_TARGET_LOOP, CONFIG_NVME_TARGET_FC, CONFIG_NVME_TARGET_FCLOOP, CONFIG_NVME_TARGET_TCP)
[*] NVMe multipath support
[*] NVMe hardware monitoring
<M> NVM Express over Fabrics FC host driver
<M> NVM Express over Fabrics TCP host driver
<M> NVMe Target support
  [*]   NVMe Target Passthrough support
  <M>   NVMe loopback device support
  <M>   NVMe over Fabrics FC target driver
  < >     NVMe over Fabrics FC Transport Loopback Test driver (NEW)
  <M>   NVMe over Fabrics TCP target 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:

KERNEL Habilitar soporte para sistemas de archivos (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_BTRFS_FS, CONFIG_XFS_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS, y CONFIG_TMPFS)
File systems --->
  <*> Second extended fs support
  <*> The Extended 3 (ext3) filesystem
  <*> The Extended 4 (ext4) filesystem
  <*> Btrfs filesystem support
  <*> XFS filesystem support
  DOS/FAT/NT Filesystems  --->
    <*> MSDOS fs support
    <*> VFAT (Windows-95) fs support
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Tmpfs virtual memory file system support (former shm fs)

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):

KERNEL Habilitar soporte para PPPoE (PPPoE, CONFIG_PPPOE, CONFIG_PPP_ASYNC, CONFIG_PPP_SYNC_TTY
Device Drivers --->
  Network device support --->
    <*> PPP (point-to-point protocol) support
    <*> PPP over Ethernet
    <*> PPP support for async serial ports
    <*> PPP support for sync tty ports

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 de microprocesador a su disposición, así que es importánte activar Symmetric multi-processing support (CONFIG_SMP):

KERNEL Activar soporte Activating soporte para SMP (CONFIG_SMP)
Processor type and features  --->
  [*] Symmetric multi-processing support
Nota
En sistemas multi-núcleo, cada núcleo cuenta como un procesador.

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

KERNEL Habilitar el soporte para USB y dispositivos de interfaz humana (HID) (CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD, CONFIG_USB4)
Device Drivers --->
  HID support  --->
    -*- HID bus support
    <*>   Generic HID driver
    [*]   Battery level reporting for HID devices
      USB HID support  --->
        <*> USB HID transport layer
  [*] USB support  --->
    <*>     xHCI HCD (USB 3.0) support
    <*>     EHCI HCD (USB 2.0) support
    <*>     OHCI HCD (USB 1.1) support
  <*> Unified support for USB4 and Thunderbolt  --->

Opcional: módulos del núcleo firmados

Para firmar automáticamente los módulos del núcleo, habilite CONFIG_MODULE_SIG_ALL:

KERNEL Firmar módulos del núcleo CONFIG_MODULE_SIG_ALL
[*] Enable loadable module support  
  -*-   Module signature verification    
    [*]     Automatically sign all modules    
    Which hash algorithm should modules be signed with? (Sign modules with SHA-512) --->

Opcionalmente, cambie el algoritmo hash si lo desea.

Para exigir que todos los módulos estén firmados con una firma válida, habilite CONFIG_MODULE_SIG_FORCE también:

KERNEL Forzar el firmado de los módulos del núcleo CONFIG_MODULE_SIG_FORCE
[*] Enable loadable module support  
  -*-   Module signature verification    
    [*]     Require modules to be validly signed
    [*]     Automatically sign all modules
    Which hash algorithm should modules be signed with? (Sign modules with SHA-512) --->

Para usar una clave personalizada, especifique la ubicación de esta clave en CONFIG_MODULE_SIG_KEY; si no se especifica, el sistema de compilación del núcleo generará una clave. Se recomienda generar uno manualmente. Esto se puede hacer con:

root #openssl req -new -nodes -utf8 -sha256 -x509 -outform PEM -out kernel_key.pem -keyout kernel_key.pem

OpenSSL hará algunas preguntas sobre el usuario para el que se genera la clave; se recomienda completar estas preguntas lo más detalladamente posible.

Guarde la clave en un lugar seguro; como mínimo, solo el usuario root debe poder leerla. Verifique esto con:

root #ls -l kernel_key.pem
 -r-------- 1 root root 3164 Jan  4 10:38 kernel_key.pem 

Si esto genera algo distinto a lo anterior, corrija los permisos con:

root #chown root:root kernel_key.pem
root #chmod 400 kernel_key.pem
KERNEL Especificar la clave para el firmado CONFIG_MODULE_SIG_KEY
-*- Cryptographic API  ---> 
  Certificates for signature checking  --->  
    (/path/to/kernel_key.pem) File name or PKCS#11 URI of module signing key

Para firmar también módulos del núcleo externos instalados por otros paquetes a través de linux-mod-r1.eclass, habilite el indicador USE modules-sign globalmente:

ARCHIVO /etc/portage/make.confHabilitar el firmado de módulos
USE="modules-sign"

# Opcional, cuando se usen claves personalizadas.
MODULES_SIGN_KEY="/ruta/a/kernel_key.pem"
MODULES_SIGN_CERT="/ruta/a/kernel_key.pem" # Solo es necesario si MODULES_SIGN_KEY no contiene también el certificado
MODULES_SIGN_HASH="sha512" # sha512 es el predeterminado
Nota
MODULES_SIGN_KEY y MODULES_SIGN_CERT pueden ser archivos diferentes. Para este ejemplo, el archivo pem generado por OpenSSL incluye tanto la clave como el certificado adjunto y, por lo tanto, ambas variables se configuran con el mismo valor.

Opcional: firmar la imagen del núcleo (Arranque Seguro)

Al firmar la imagen del núcleo (para usar en sistemas con Secure Boot habilitado), se recomienda configurar las siguientes opciones de configuración del núcleo:

KERNEL Bloqueo para arranque seguro
General setup  --->
  Kexec and crash features  --->   
    [*] Enable kexec system call                                                                                          
    [*] Enable kexec file based system call                                                                               
    [*]   Verify kernel signature during kexec_file_load() syscall                                                        
    [*]     Require a valid signature in kexec_file_load() syscall                                                        
    [*]     Enable ""image"" signature verification support  

[*] Enable loadable module support  
  -*-   Module signature verification    
    [*]     Require modules to be validly signed
    [*]     Automatically sign all modules
    Which hash algorithm should modules be signed with? (Sign modules with SHA-512) --->  

Security options  ---> 
[*] Integrity subsystem   
  [*] Basic module for enforcing kernel lockdown                                                                       
  [*]   Enable lockdown LSM early in init                                                                       
        Kernel default lockdown mode (Integrity)  --->            

  [*]   Digital signature verification using multiple keyrings                                                            
  [*]     Enable asymmetric keys support                                                                                     
  -*-       Require all keys on the integrity keyrings be signed                                                              
  [*]       Provide keyring for platform/firmware trusted keys                                                                
  [*]       Provide a keyring to which Machine Owner Keys may be added                                                        
  [ ]         Enforce Machine Keyring CA Restrictions

Donde ""imagen"" es un marcador de posición para el nombre de la imagen específica de la arquitectura. Estas opciones, de arriba a abajo: exige que la imagen del núcleo en una llamada kexec deba estar firmada (kexec permite reemplazar el núcleo in situ), exige que los módulos del núcleo estén firmados, habilita el bloqueo modo integridad (evita la modificación del núcleo en tiempo de ejecución) y habilita varios claveros.

En arquitecturas que no admiten de forma nativa la descompresión del núcleo (por ejemplo, arm64 y riscv), el núcleo debe construirse con su propio descompresor (zboot):

KERNEL zboot CONFIG_EFI_ZBOOT
Device Drivers --->                                                                                                                           
  Firmware Drivers --->                                                                                                                       
    EFI (Extensible Firmware Interface) Support --->                                                                                               
      [*] Enable the generic EFI decompressor

Después de la compilación del núcleo, como se explica en la siguiente sección, se debe firmar la imagen del núcleo. Primero instale app-crypt/sbsigntools y luego firme la imagen del núcleo:

root #emerge --ask app-crypt/sbsigntools
root #sbsign /usr/src/linux-x.y.z/ruta/a/kernel-image --cert /ruta/a/kernel_key.pem --key /ruta/a/kernel_key.pem --out /usr/src/linux-x.y.z/ruta/a/kernel-image
Nota
Para este ejemplo, la misma clave que se generó para firmar los módulos se utiliza para firmar la imagen del núcleo. También es posible generar y utilizar una segunda clave especial para firmar la imagen del núcleo. Se puede volver a utilizar el mismo comando OpenSSL que en la sección anterior.

Luego proceda con la instalación.

Para firmar automáticamente los ejecutables EFI instalados por otros paquetes, habilite el indicador USE secureboot globalmente:

ARCHIVO /etc/portage/make.confHabilitar el Arranque Seguro
USE="modules-sign secureboot"

# Opcionalmente, para usar claves personalizadas.
MODULES_SIGN_KEY="/ruta/a/kernel_key.pem"
MODULES_SIGN_CERT="/ruta/a/kernel_key.pem" # Solo es necesario si MODULES_SIGN_KEY no contiene también el certificado.
MODULES_SIGN_HASH="sha512" # El predeterminado es sha512

# Opcionalmente, para iniciar con el arranque seguro habilitado, puede ser la misma clave de firma o una diferente.
SECUREBOOT_SIGN_KEY="/ruta/a/kernel_key.pem"
SECUREBOOT_SIGN_CERT="/ruta/a/kernel_key.pem"
Nota
SECUREBOOT_SIGN_KEY y SECUREBOOT_SIGN_CERT pueden ser archivos diferentes. Para este ejemplo, el archivo pem generado por OpenSSL incluye tanto la clave como el certificado adjunto y, por lo tanto, ambas variables se configuran con el mismo valor.
Nota
Al generar una Imagen del núcleo unificada con ukify de systemd, la imagen del núcleo se firmará automáticamente antes de incluirla en la imagen del núcleo unificada y no es necesario firmarla manualmente.


Para las arquitecturas x86, verificar que la opción 64-bit kernel está no activa/desactivada (CONFIG_64BIT=N), y a continuación seleccione la familia de procesadores apropiados para el o los procesadores del sistema.

Se puede determinar la familia del procesador revisando la salida de las dos órdenes siguientes:

user $cat /proc/cpuinfo | grep -i vendor | uniq
user $cat /proc/cpuinfo | grep -i 'model name' | uniq
KERNEL Desactive el núcleo de 64 bits y seleccione la familia del procesador
[ ] 64-bit kernel
Processor type and features  --->
    Processor family (Core 2/newer Xeon)  --->
        ( ) 486
        ( ) 586/K5/5x86/6x86/6x86MX
        ( ) Pentium-Classic
        ( ) Pentium-MMX
        ( ) Pentium-Pro
        ( ) Pentium-II/Celeron(pre-Coppermine)
        ( ) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon
        ( ) Pentium M
        ( ) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon
        ( ) K6/K6-II/K6-III
        ( ) Athlon/Duron/K7
        ( ) Opteron/Athlon64/Hammer/K8
        ( ) Crusoe
        ( ) Efficeon
        ( ) Winchip-C6
        ( ) Winchip-2/Winchip-2A/Winchip-3
        ( ) AMD Elan
        ( ) GeodeGX1
        ( ) Geode GX/LX
        ( ) CyrixIII/VIA-C3
        ( ) VIA C3-2 (Nehemiah)
        ( ) VIA C7
        (*) Core 2/newer Xeon
        ( ) Intel Atom

Compilar e instalar

Una vez hecha la configuración, es el momento de compilar e instalar el núcleo. Salga de la configuración e inicie el proceso de compilación:

root #make && make modules_install
Nota
Es posible habilitar las construcciones en paralelo usando make -jX siendo X un número entero que representa el número de tareas en paralelo que el proceso de construcción tiene permitido lanzar. Esto es similar a las instrucciones acerca de /etc/portage/make.conf mencionadas anteriormente, con la variable MAKEOPTS.

Cuando finalice la compilación del núcleo, copie la imagen del núcleo a /boot/. Esto se realiza con la orden make install:

root #make install

Esto copiará la imagen del núcleo en /boot/ junto con el archivo System.map y el archivo de configuración del núcleo.


Alternativa: Genkernel

Nota
En caso de que se lo haya perdido, esta sección requiere las fuentes del núcleo estén instalafas. Asegúrese de obtener las fuentes del núcleo relevantes, luego regrese aquí para el resto de la sección.

Genkernel solo debe ser considerado por usuarios que tengan una necesidad requerida que solo Genkernel puede satisfacer, de lo contrario se recomienda usar el núcleo de distribución o compilar manualmente el suyo propio, ya que hará que el mantenimiento de un sistema Gentoo sea mucho más simple. Un ejemplo de por qué genkernel es más difícil de administrar es la falta de integración con sys-kernel/installkernel. Esto significa que un usuario no obtendrá el mismo nivel de automatización que brindan los otros métodos, como que las imágenes unificadas del núcleo se deban crear manualmente al usar Genkernel.

Genkernel proporciona un archivo de configuración del núcleo genérico y compilará el núcleo y un initramfs, luego instalará los binarios resultantes en las ubicaciones apropiadas. Esto da como resultado un soporte de hardware mínimo y genérico para el primer arranque del sistema y permite un control de actualización adicional y personalización de la configuración del núcleo en el futuro.

Queda avisado: si bien el uso de genkernel 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 make 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 instalación.

Como requisito previo, debido a que el valor USE firwmare está habilitado de forma predeterminada para el paquete sys-kernel/genkernel, el administrador de paquetes también intentará instalar el paquete sys-kernel/linux-firmware. 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 @BINARY-REDISTRIBUTABLE como un valor ACCEPT_LICENSE en el archivo /etc/portage/make. conf. Se puede aceptar exclusivamente para el paquete de linux-firmware agregando una inclusión específica a través de un archivo /etc/portage/package.license/linux-firmware.

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 qué decidir sobre este tema, lo siguiente funcionará:

root #mkdir /etc/portage/package.license
ARCHIVO /etc/portage/package.license/linux-firmwareAceptar licencias de binarios redistribuíbles para el paquete linux-firmware
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE

Instalación

Además de las explicaciones y los requisitos previos, instale el paquete sys-kernel/genkernel:

root #emerge --ask sys-kernel/genkernel

Generación

Compile las fuentes del núcleo ejecutando genkernel all. Sin embargo, tenga en cuenta que genkernel compila un núcleo que admite una amplia gama de hardware para diferentes arquitecturas de computadoras, por lo que esta compilación puede tardar bastante en finalizar.

Advertencia
Si la partición/volumen raíz usa un sistema de archivos que no sea ext4 o XFS, puede ser necesario configurar manualmente el núcleo usando genkernel --menuconfig all para agregar soporte integrado en el núcleo para el sistema de archivos en particular (es decir, no construir el soporte al sistema de archivos como un módulo).
Nota
Los usuarios de LVM2 deben añadir --lvm como argumento a la siguiente orden genkernel.
root #genkernel --mountboot --install all

Una vez finalice genkernel, se generarán e instalarán un núcleo y un sistema de archivos de inicio en ram (initramfs) en el directorio /boot. Los módulos asociados se instalarán en el directorio /lib/modules. El initramfs se iniciará inmediatamente después de cargar el núcleo para realizar la detección automática de hardware (al igual que en los entornos de imagen de disco vivo).

root #ls /boot/vmlinu* /boot/initramfs*
root #ls /lib/modules

Instalación del núcleo

Installkernel

Installkernel se puede utilizar para automatizar la instalación del núcleo, la generación de initramfs, la generación de imagen del núcleo unificada y/o la configuración del gestor de arranque, entre otras cosas. sys-kernel/installkernel implementa dos caminos para lograr esto: el installkernel tradicional que se origina en Debian y el kernel-install de systemd. Cuál elegir depende, entre otras cosas, del gestor de arranque del sistema. De forma predeterminada, el kernel-install de systemd se usa en los perfiles de systemd, mientras que el installkernel tradicional es el predeterminado para otros perfiles.

Si no está seguro, siga la subsección "Diseño tradicional" a continuación.

systemd-boot

Cuando se utiliza systemd-boot (anteriormente gummiboot) como gestor de arranque, se debe utilizar kernel-install de systemd. Por lo tanto, asegúrese de que los indicadores USE systemd y systemd-boot estén habilitados en sys-kernel/installkernel y luego instale el paquete relevante para systemd-boot.

En sistemas OpenRC:

ARCHIVO /etc/portage/package.use/systemd-boot
sys-apps/systemd-utils boot kernel-install
sys-kernel/installkernel systemd systemd-boot
root #emerge --ask sys-apps/systemd-utils

En sistemas systemd:

ARCHIVO /etc/portage/package.use/systemd
sys-apps/systemd boot
sys-kernel/installkernel systemd-boot
root #emerge --ask sys-apps/systemd

GRUB

Los usuarios de GRUB pueden usar kernel-install de systemd o el tradicional installkernel de Debian. El indicador USE systemd cambia entre estas implementaciones. Para ejecutar grub-mkconfig automáticamente al instalar el kernel, habilite el indicador USE grub.

ARCHIVO /etc/portage/package.use/installkernel
sys-kernel/installkernel grub
root #emerge --ask sys-kernel/installkernel

Diseño tradicional, otros gestores de arranque (por ejemplo, lilo, etc.)

En el diseño tradicional (por ejemplo, LILO, etc.) /boot se utiliza de forma predeterminada si los indicadores grub, systemd-boot y uki no están habilitadas. No se requiere ninguna acción adicional.


Construir un initramfs

En ciertos casos es necesario construir un initramfs - un initial ram-based file system. La razón más habitual es cuando ubicaciones importantes del sistema de archivos (como /usr/ o /var/) están en particiones separadas. Con initramfs, estas particiones se pueden montar utilizando las herramientas disponibles dentro de initramfs. La configuración predeterminada del Project:Distribution Kernel requiere un initramfs.

Sin initramfs, existe riesgo de que el sistema no arranque correctamente ya que las herramientas responsables de montar los sistemas de archivos requieren información que reside en los sistemas de archivos desmontados. Un initramfs extraerá los archivos necesarios en un archivo que se utiliza inmediatamente después de que se inicie el núcleo, pero antes de que el control se entregue a la herramienta init. Los scripts en initramfs se asegurarán de que las particiones estén montadas correctamente antes de que el sistema continúe arrancando.

Importante
Si se usa genkernel, se debe usar tanto para construir el núcleo como el initramfs. Cuando se utiliza genkernel solo para generar un initramfs, es fundamental pasar --kernel-config=/ruta/a/kernel.config a genkernel o el initramfs generado puede que no funcione con un núcleo creado manualmente. Tenga en cuenta que los núcleos creados manualmente van más allá del alcance del soporte del manual. Consulte el artículo configuración del núcleo para obtener más información.

Installkernel puede generar automáticamente un initramfs al instalar el núcleo si el indicador USE dracut está habilitado:

ARCHIVO /etc/portage/package.use/installkernel
sys-kernel/installkernel dracut

Alternativamente, se puede llamar a dracut manualmente para generar un archivo initramfs. Instale sys-kernel/dracut primero, luego haga que genere un initramfs:

root #emerge --ask sys-kernel/dracut
root #dracut --kver=6.6.21-gentoo

El initramfs se almacenará en /boot/. El archivo resultante se puede encontrar simplemente enumerando los archivos que comienzan con initramfs:

root #ls /boot/initramfs*

Opcional: Creación de una imagen de núcleo unificada

Una Imagen de Núcleo Unificada (UKI) combina, entre otras cosas, el núcleo, el initramfs y la línea de comandos del núcleo en un único ejecutable. Dado que la línea de comandos del núcleo está integrada en la imagen del núcleo unificada, se debe especificar antes de generar la imagen del núcleo unificada (ver más abajo). Tenga en cuenta que cualquier argumento de la línea de comandos del núcleo proporcionado por el gestor de arranque o el firmware durante el arranque se ignora cuando se inicia con el arranque seguro habilitado.

Una imagen de núcleo unificada requiere un cargador de código auxiliar; actualmente el único disponible es systemd-stub. Para habilitarlo:

En sistemas systemd:

ARCHIVO /etc/portage/package.use/systemd
sys-apps/systemd boot

En sistemas OpenRC:

ARCHIVO /etc/portage/package.use/systemd-utils
sys-apps/systemd-utils boot kernel-install

Installkernel puede generar automáticamente una imagen de núcleo unificada usando dracut o ukify, habilitando el indicador respectivo. El indicador USE uki también debe estar habilitado para instalar la imagen del núcleo unificada generada en el directorio $ESP/EFI/Linux en la partición del sistema EFI (ESP).

Para dracut:

ARCHIVO /etc/portage/package.use/installkernel
sys-kernel/installkernel dracut uki
ARCHIVO /etc/dracut.conf
uefi="yes"
kernel_cmdline="argumentos-para-la-linea-comandos-del-núcleo"

Para ukify:

ARCHIVO /etc/portage/package.use/installkernel
sys-apps/systemd ukify          # Para sistemas systemd
sys-apps/systemd-utils ukify    # Para sistemas OpenRC
sys-kernel/installkernel dracut ukify uki
ARCHIVO /etc/kernel/cmdline
argumentos-para-la-linea-comandos-del-núcleo

Tenga en cuenta que, si bien dracut puede generar tanto initramfs como una imagen de núcleo unificada, ukify solo puede generar esta última y, por lo tanto, el initramfs debe generarse por separado con dracut.

Imagen del Núcleo Unificada Genérica

El Template:Paquete preconstruido puede instalar opcionalmente una imagen del núcleo unificada genérica preconstruida que contiene un initramfs genérico que puede arrancar la mayoría de los sistemas basados en systemd. Se puede instalar habilitando el indicador USE generic-uki y configurando installkernel para no generar un initramfs personalizado o una imagen del núcleo unificada:

ARCHIVO /etc/portage/package.use/generic-uki
sys-kernel/gentoo-kernel-bin generic-uki
sys-kernel/installkernel -dracut -ukify uki

Arranque Seguro

La imagen genérica del núcleo unificada distribuida opcionalmente por sys-kernel/gentoo-kernel-bin ya está prefirmada. La forma de firmar una imagen del núcleo unificada generada localmente depende de si se utiliza dracut o ukify. Tenga en cuenta que la ubicación de la clave y el certificado debe ser la misma que SECUREBOOT_SIGN_KEY y SECUREBOOT_SIGN_CERT como se especifica en /etc/portage/make.conf.

Para dracut:

ARCHIVO /etc/dracut.conf
uefi="yes"
kernel_cmdline="argumentos-para-la-linea-comandos-del-núcleo"
uefi_secureboot_key="/ruta/a/kernel_key.pem"
uefi_secureboot_cert="/ruta/a/kernel_key.pem"

Para ukify:

ARCHIVO /etc/kernel/uki.conf
[UKI]
SecureBootPrivateKey=/ruta/a/kernel_key.pem
SecureBootCertificate=/ruta/a/kernel_key.pem

Reconstrucción de módulos del núcleo externos

Los módulos externos del núcleo instalados por otros paquetes a través de linux-mod-r1.eclass deben reconstruirse para cada nueva versión del núcleo. Cuando se utilizan los núcleos de distribución, esto se puede automatizar habilitando el indicador dist-kernel globalmente.

ARCHIVO /etc/portage/package.use/module-rebuild
*/* dist-kernel

Los módulos del núcleo externos también se pueden reconstruir manualmente con:

root #emerge --ask @module-rebuild

Módulos del núcleo

Listado de módulos del núcleo disponibles

Nota
Es opcional el hacer un listado manual de los módulos que se necesitan para el hardware. udev normalmente cargará todos los módulos para el hardware que se detecte al ser conectado, en la mayoría de los casos. Sin embargo, no es perjudicial que se enumeren los módulos que se cargarán automáticamente. Los módulos no se pueden cargar dos veces; se cargan o se descargan. A veces, el hardware exótico requiere ayuda para cargar sus controladores.

Los módulos que deben cargarse durante cada arranque se pueden agregar a los archivos /etc/modules-load.d/*.conf en el formato de un módulo por línea. En cambio cuando se necesitan opciones adicionales para los módulos, deben indicarse en los archivos /etc/modprobe.d/*.conf.

Para ver todos los módulos disponibles para una versión de núcleo en concreto, lance la siguiente orden find. No olvide sustituir "<versión del núcleo>" con la versión apropiada del núcleo a buscar:

root #find /lib/modules/<versión del núcleo>/ -type f -iname '*.o' -or -iname '*.ko' | less

Forzar la carga de módulos concretos del núcleo

Para forzar la carga del núcleo para que cargue el módulo 3c59x.ko (que es el controlador para una familia de tarjetas de red 3Com específica), edite /etc/modules-load.d/network.conf e ingrese el nombre del módulo dentro de él.

root #mkdir -p /etc/modules-load.d
root #nano -w /etc/modules-load.d/network.conf

Tenga en cuenta que el sufijo del archivo .ko del módulo es insignificante para el mecanismo de carga y no se incluye en el archivo de configuración:

ARCHIVO /etc/modules-load.d/network.confForzar la carga del módulo 3c59x
3c59x

Continúe la instalación con Configuring the system.





Información del sistema de ficheros

Etiquetas e Identificadores únicos (UUIDs) del sistema de archivo

Tanto MBR (BIOS) como GPT incluyen soporte para etiquetas del sistema de archivo y para UUIDs del sistema de archivo. Estos atributos pueden estar definidos en /etc/fstab como alternativas a usar por el comando mount cuando intente encontrar y montar los dispositivos de bloques. Las etiquetas del sistema de archivo y los UUIDs son identificados por el prefijo LABEL y UUID y pueden ser visualizados con el comando blkid.

root #blkid
Advertencia
Si se destruye el sistema de ficheros dentro de una partición, entonces los valores de la etiqueta del sistema de ficheros y del UUID también serán alterados o eliminados.

Debido a su unicidad, se recomienda a los lectores que estén usando una tabla de particiones al estilo MBR que utilicen UUIDs en lugar e etiquetas para definir volúmenes que se puedan montar en /etc/fstab.

Importante
Los UUIDs de los sistemas de ficheros en un volumen LVM y sus instantáneas LVM snapshots son idénticos, por lo tanto se debe evitar el uso de UUIDs para montar volúmenes LVM.

Etiquetas de particiones y UUIDs

Los sistemas con soporte para etiquetas de disco GPT ofrecen opciones 'robustas' adicionales para definir particiones en /etc/fstab. Las etiquetas de partición y los UUID de partición se pueden usar para identificar las particiones individuales del dispositivo de bloque, independientemente del sistema de archivos que se haya elegido para la partición en sí. Las etiquetas de partición y los UUID se identifican mediante los prefijos PARTLABEL y/o PARTUUID y se pueden ver claramente en la terminal ejecutando el comando blkid.

La salida para un sistema EFI amd64 que utiliza los UUID de especificación de partición detectable puede ser como la siguiente:

root #blkid
/dev/sr0: BLOCK_SIZE="2048" UUID="2023-08-28-03-54-40-00" LABEL="ISOIMAGE" TYPE="iso9660" PTTYPE="PMBR"
/dev/loop0: TYPE="squashfs"
/dev/sda2: PARTUUID="0657fd6d-a4ab-43c4-84e5-0933c84b4f4f"
/dev/sda3: PARTUUID="1cdf763a-5b4c-4dbf-99db-a056c504e8b2"
/dev/sda1: PARTUUID="c12a7328-f81f-11d2-ba4b-00a0c93ec93b"

Si bien no siempre es cierto para las etiquetas de partición, el uso de un UUID para identificar una partición en fstab proporciona una garantía de que el gestor de arranque no se confundirá al buscar un determinado volumen, incluso si se cambia el sistema de archivos o reescrito posteriormente. Usar los archivos de dispositivos de bloque predeterminados más antiguos (/dev/sd*N) para definir las particiones en fstab tiene su riesgo para los sistemas a los que se agregan o eliminan regularmente dispositivos de bloque SATA.

El nombrado de los dispositivos de bloque depende de una variedad de factores, entre ellos cómo y en qué orden se conectan los discos al sistema. Se podrían incluso mostrar en un orden diferente dependiendo de qué dispositivos detecta el núcleo en primer lugar en los momentos iniciales del proceso de arranque. Dicho esto, a menos que el administrador del sistema juegue constantemente con el orden de los discos, usar los nombres predeterminados de los dispositivos es un método simple y sencillo.

Acerca de fstab

En Linux, todas las particiones utilizadas por el sistema se deben listar en /etc/fstab. Este archivo contiene los puntos de montaje de esas particiones (dónde se encuentran en la estructura del sistema de archivos), cómo se deben montar y con qué opciones especiales (de forma automática o no, si los usuarios pueden montar o no, etc.)

Crear el archivo fstab

Nota
Si el sistema de inicio que se utiliza es systemd, los UUID de la partición cumplen con la Especificación de Partición Detectable como se indica en Preparación de los discos, y el sistema utiliza UEFI, entonces se puede omitir la creación de un fstab, ya que systemd monta automáticamente las particiones que siguen la especificación.

El archivo en/etc/fstab utiliza un sintaxis similar a una una tabla. Cada línea consta de seis campos, separados por espacios en blanco (espacios, tabuladores o una mezcla de ambos). Cada campo tiene su propio significado:

  1. El primer campo muestra el dispositivo de bloques o sistema de archivo remoto que debe ser montado. Varios tipos de identificadores de dispositivo están disponibles para nodos de dispositivo de bloques, incluyendo rutas al archivo especial de dispositivo, etiquetas e identificadores únicos (UUIDs) del sistema de archivo y etiquetas e identificadores únicos (UUIDs) de particiones.
  2. El segundo campo muestra el punto de montaje en el que la partición se debe montar.
  3. El tercer campo muestra el tipo de sistema de ficheros usado por la partición.
  4. El cuarto campo muestra las opciones de montaje usadas por mount cuando se quiere montar la partición. Como cada sistema de ficheros tiene sus propias opciones de montaje, se recomienda a los administradores de sistemas leer la página del manual de mount (man mount) para un listado completo. Las opciones de montaje múltiples se deben separar por comas.
  5. El quinto campo lo utiliza dump para determinar si la partición debe ser volcada o no. Esto generalmente se puede dejar a 0 (cero).
  6. El sexto campo lo utiliza fsck para determinar el orden en que los sistemas de ficheros se deben revisar en caso de que el sistema no se apagara correctamente. Para el sistema de ficheros raíz se debe definir a 1 mientras que para el resto debería ser 2 (o 0 si no se necesita comprobación del sistema de archivo).
Importante
El archivo predeterminado /etc/fstab proporcionado en los archivos stage de Gentoo no es un archivo fstab válido, sino una plantilla que se puede usar para ingresar valores reales.
root #nano /etc/fstab

Sistemas DOS/BIOS obsoleto

Echemos un vistazo a cómo anotar las opciones para la partición /boot. Este es sólo un ejemplo y debe modificarse de acuerdo con las decisiones de partición tomadas anteriormente en la instalación. En el ejemplo de particionamiento para x86, /boot normalmente es la partición /dev/sda1, con xfs como sistema de archivos recomendado. Es necesario comprobarlo durante el arranque, por lo que anotaríamos:

ARCHIVO /etc/fstabEjemplo de línea en /etc/fstab para arranque DOS/BIOS Obsoleto
# Ajuste las diferencias de formato y/o particiones adicionales creadas en el paso "Preparación de los discos".
/dev/sda1   /boot     ext4    defaults        0 2

Algunos administradores de sistemas quieren que la partición /boot no se monte automáticamente para mejorar la seguridad de su sistema. Esas personas deberían sustituir defaults por noauto. Esto significa que esos usuarios deberán montar manualmente esta partición cada vez que quieran usarla.

Añadir las reglas que coinciden con el esquema de esquema de particionamiento decido anteriormente y añadir las reglas para dispositivos tales como lector(es) de CD-ROM, y por supuesto, si se utilizan otras particiones o unidades, añadirlos también.

Abajo se muestra un ejemplo más elaborado de un fichero /etc/fstab:


ARCHIVO /etc/fstabUn ejemplo completo de /etc/fstab para un sistema DOS/BIOS obsoleto
# Ajuste las diferencias de formato y/o particiones adicionales creadas en el paso "Preparación de los discos".
/dev/sda1   /boot        ext4    defaults    0 2
/dev/sda2   none         swap    sw                   0 0
/dev/sda3   /            xfs    defaults,noatime              0 1

/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0

Sistemas UEFI

A continuación se muestra un ejemplo de un archivo /etc/fstab para un sistema que se iniciará mediante firmware UEFI:


ARCHIVO /etc/fstabUn ejemplo completo de /etc/fstab para un sistema UEFI
# Ajuste las diferencias de formato y/o particiones adicionales creadas en el paso "Preparación de los discos".
/dev/sda1   /efi        vfat    umask=0077     0 2
/dev/sda2   none             sw                   0 0
/dev/sda3   /            xfs    defaults,noatime              0 1

/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0


DPS UEFI PARTUUID

Below is an example of an /etc/fstab file for a disk formatted with a GPT disklabel and Discoverable Partition Specification (DPS) UUIDs set for UEFI firmware:

ARCHIVO /etc/fstabGPT disklabel DPS PARTUUID fstab example
# Adjust any formatting difference and additional partitions created from the "Preparing the disks" step.
# This example shows a GPT disklabel with Discoverable Partition Specification (DSP) UUID set:
PARTUUID=c12a7328-f81f-11d2-ba4b-00a0c93ec93b   /efi        vfat    umask=0077                   0 2
PARTUUID=0657fd6d-a4ab-43c4-84e5-0933c84b4f4f   none            sw                           0 0
PARTUUID=44479540-f297-41b2-9af7-d131d5f0458a   /           xfs    defaults,noatime              0 1


Cuando se utiliza auto en el tercer campo, hace que la orden mount averigüe el sistema de ficheros. Esto se recomienda para los medios extraíbles ya que se pueden crear con uno o más de un sistema de ficheros. La opción user en el cuarto campo permite que los usuarios que no sean root puedan montar el CD.

Para mejorar el rendimiento, la mayoría de los usuarios querrían agregar la opción de montaje noatime, lo que da como resultado un sistema más rápido ya que los tiempos de acceso no se registran (de todos modos, generalmente no son necesarios). Esto también se recomienda para sistemas con unidades de estado sólido (SSD). Es posible que los usuarios deseen considerar lazytime en su lugar.

Consejo
Debido a la degradación del rendimiento, no se recomienda definir la opción de montaje discard en /etc/fstab. Por lo general, es mejor programar los descartes de bloques periódicamente mediante un programador de tareas como cron o un temporizador (systemd). Consulte Ejecuciones periódicas de fstrim para obtener más información.

Compruebe el fichero /etc/fstab y salga para continuar.

Información de la red

Es importante tener en cuenta que las siguientes secciones se proporcionan para ayudar al lector a configurar rápidamente su sistema para formar parte de una red de área local.

Para los sistemas que ejecutan OpenRC, una referencia más detallada para la configuración de red está disponible en la sección configuración de red avanzada, que se trata casi al final del manual. Es posible que los sistemas con necesidades de red más específicas deban revisarse primero allí y luego regresar aquí para continuar con el resto de la instalación.

Para una configuración de red systemd más específica, consulte la parte de redes del artículo systemd.

Hostname

Una de las elecciones que debe hacer el administrador del sistema es dar nombre a su PC. Esto parece bastante fácil, pero muchos usuarios tienen dificultades para encontrar el nombre apropiado para el host (hostname). Para poder avanzar, sepa que la decisión no es definitiva, se puede cambiar después. En los ejemplos a continuación, se usa el nombre de host tux.

Establecer hostname (OpenRC o systemd)

root #echo tux > /etc/hostname

systemd

Para configurar el hostname del sistema para un sistema que actualmente está "ejecutando" systemd, se puede utilizar la utilidad hostnamectl. Sin embargo, durante el proceso de instalación, se debe utilizar el comando systemd-firstboot (consulte más adelante en el manual).

Para establecer el nombre de host como "tux", se ejecutaría:

root #hostnamectl hostname tux

Vea la ayuda ejecutando hostnamectl --help o man 1 hostnamectl.

Red

Hay muchas opciones disponibles para configurar interfaces de red. Esta sección cubre solo algunos métodos. Elija el que parezca más adecuado según la configuración necesaria.

DHCP mediante dhcpd (con cualquier sistema de inicio)

En la mayoría de redes LAN opera un servidor DHCP. Si es este el caso, entonces se recomienda usar el programa dhcpd para obtener una dirección IP.

Para instalarlo:

root #emerge --ask net-misc/dhcpcd

Para habilitarlo y luego iniciar el servicio en sistemas OpenRC:

root #rc-update add dhcpcd default
root #rc-service dhcpcd start

Para habilitar el servicio en sistemas systemd:

root #systemctl enable dhcpcd

Con estos pasos completados, la próxima vez que arranque el sistema, dhcpcd debería obtener una dirección IP del servidor DHCP. Consulte el artículo Dhcpcd para obtener más detalles.

netifrc (OpenRC)

Consejo
Esta es una forma particular de configurar la red usando Netifrc en OpenRC. Existen otros métodos para configuraciones más simples como Dhcpcd.
Configurar la red

Durante la instalación de Gentoo Linux, se configuró la red. Sin embargo, eso fue para el entorno vivo de instalación y no para el entorno instalado. Ahora se realiza la configuración de la red para el sistema de Gentoo Linux que se está instalando.

Nota
Se puede obtener información más detallada sobre redes, incluyendo temas más avanzados como bonding, bridging, 802.1 Q VLANs o conexiones de red inalámbrica en la sección de configuración avanzada de la red.

Toda la información de red se recopila en /etc/conf.d/net. Utiliza una sencilla - pero no tan intuitiva - sintaxis. ¡No tema! Todo se explica a continuación. Hay disponible un ejemplo completamente comentado que abarca muchas configuraciones diferentes en /usr/share/doc/netifrc-*/net.example.bz2.

En primer lugar se debe instalar net-misc/netifrc:

root #emerge --ask --noreplace net-misc/netifrc

Por defecto se usa DHCP. Para que funcione, se debe instalar un cliente DHCP. Esto se describe más adelante cuando se describa la instalación de las herramientas del sistema necesarias.

Si la conexión de red se debe configurar con opciones específicas DHCP o porque no se utiliza DHCP en absoluto, entonces abra /etc/conf.d/net:

root #nano /etc/conf.d/net

Defina tanto config_eth0 como routes_eth0 para introducir información de la dirección IP y del enrutamiento:

Nota
Esto asume que el interfaz de red se llama eth0. Esto, sin embargo, depende mucho del sistema. Se recomienda asumir que el interfaz se llama igual que cuando se nombra el interfaz arrancando desde los medios de instalación en caso de que éstos sean lo suficientemente recientes. Se puede encontrar más información en la sección Nombrado de las interfaces de red.
ARCHIVO /etc/conf.d/netDefinición de IP estática
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1"

Para utilizar DHCP, se debe definir config_eth0:

ARCHIVO /etc/conf.d/netDefinición DHCP
config_eth0="dhcp"

Por favor, lea /usr/share/doc/netifrc-*/net.example.bz2 para obtener una lista de opciones de configuración adicionales. Asegúrese de leer también la página del manual de DHCP si necesita definir determinadas opciones.

Si el sistema tiene varias interfaces de red, entonces repita los pasos anteriores para config_eth1, config_eth2, etc.

Ahora guarde la configuración y salga para continuar.

Inicio automático de red en el arranque

Para que los interfaces de red se activen en el arranque, se necesita añadirlos al nivel de ejecución por defecto (default).

root #cd /etc/init.d
root #ln -s net.lo net.eth0
root #rc-update add net.eth0 default

Si el sistema dispone de varios interfaces de red, entonces se necesita crear los archivos net.* necesarios tal y como se hizo con net.eth0.

Si después de arrancar el sistema se descubre que el nombre de la interfaz de red (que actualmente está documentado como eth0) está equivocado, entonces tendremos que seguir los siguientes pasos para corregirlo:

  1. Actualizar el archivo /etc/conf.d/net indicando el nombre correcto de la interfaz (como enp3s0 o enp5s0 en lugar de eth0).
  2. Crear un nuevo enlace simbólico (como /etc/init.d/net.enp3s0).
  3. Eliminar el enlace simbólico antiguo (rm /etc/init.d/net.eth0).
  4. Añadir el nuevo enlace al nivel de ejecución por defecto (default).
  5. Eliminar el enalce anterior con rc-update del net.eth0 default.

El archivo hosts

Un importante próximo paso puede ser informar a este nuevo sistema sobre otros hosts en su entorno de red. Los nombres de host de red se pueden definir en el archivo /etc/hosts. Agregar nombres de host aquí permitirá la resolución de nombres de host a direcciones IP para hosts que no sean resueltos por el servidor de nombres.

root #nano /etc/hosts
ARCHIVO /etc/hostsRellenar la información de red
# Esto define el presente sistema y debe estar configurado
127.0.0.1     tux.reddecasa tux localhost
  
# Definiciones opcionales de sistemas adicionales en la red
192.168.0.5   juana.reddecasa juana
192.168.0.6   benito.reddecasa benito

Guarde y salga del editor para continuar.

Opcional: Hacer que funcione PCMCIA

Los sistemas x86 que necesitan compatibilidad con PCMCIA ahora deben instalar el paquete sys-apps/pcmciautils. Tenga en cuenta que el soporte para esta antigua tecnología de 16 bits está siendo eliminado del núcleo principal de Linux .org/pub/scm/linux/kernel/git/gregkh/char-misc.git/commit/?h=char-misc-next&id=9b12f050c76f090cc6d0aebe0ef76fed79ec3f15 comenzando con dispositivos 'char' en v6.4.0.

root #emerge --ask sys-apps/pcmciautils

Información del sistema

Contraseña del usuario root

Establezca la contraseña del usuario root con la orden passwd.

root #passwd

Se creará más adelante una cuenta de usuario normal para las operaciones diarias.

Configuración de inicio y arranque

OpenRC

Cuando se usa OpenRC con Gentoo, se utiliza /etc/rc.conf para configurar los servicios, el arranque y parada de un sistema. Abra etc/rc.conf y disfrute de todos los comentarios presentes en el archivo. Revise la configuración y cambie lo que sea necesario.

root #nano /etc/rc.conf

A continuación, abra /etc/conf.d/keymaps para gestionar la configuración del teclado. Edítelo para configurar y seleccionar el teclado correcto.

root #nano /etc/conf.d/keymaps

Tenga un cuidado especial la variable keymap. Si el mapa de teclado incorrecto está activado, entonces se producirán resultados extraños cuando tecleemos.

Para terminar, edite /etc/conf.d/hwclock para definir las opciones del reloj. Edítelo conforme a las preferencias personales.

root #nano /etc/conf.d/hwclock

Si el reloj hardware no está utilizando UTC, entonces es necesario definir clock="local" en el archivo, de lo contrario, el sistema podría mostrar un comportamiento de desfase en el reloj.

systemd

En primer lugar, se recomienda ejecutar systemd-machine-id-setup y luego systemd-firstboot, que preparará varios componentes del sistema para configurarlos correctamente para el primer arranque en el nuevo entorno de systemd. Al pasar las siguientes opciones, se le pedirá al usuario que establezca una configuración regional, zona horaria, nombre de host, contraseña de root y valores de shell de root. También asignará una ID de máquina aleatoria a la instalación:

root #systemd-machine-id-setup
root #systemd-firstboot --prompt

A continuación los usuarios deben ejecutar systemctl para restablecer todos los archivos de unidad instalados a los valores de política preestablecidos:

root #systemctl preset-all --preset-mode=enable-only

Es posible ejecutar todos los cambios preestablecidos, pero esto puede restablecer cualquier servicio que ya se haya configurado durante el proceso:

root #systemctl preset-all

Estos dos pasos ayudarán a garantizar una transición fluida desde el entorno live hasta el primer arranque de la instalación.





Bitácora del sistema

OpenRC

Algunas herramientas no están incluidas en el archivo stage3 porque varios paquetes proporcionan la misma funcionalidad. Ahora es el momento de que el usuario decida cual instalar.

La primera herramienta sobre la que tomar una decisión es el mecanismo de registro para el sistema. Unix y Linux tienen un excelente historial de capacidades de registro; si fuera necesario, todo lo que sucede en el sistema se podría registrar en un archivo de registro.

Gentoo ofrece varias utilidades de registro. Algunas de ellas son:

  • app-admin/sysklogd, que es el conjunto tradicional de demonios de bitácoras. La configuración por defecto de las bitácoras funciona sin problemas con solo instalarlo, por lo que ésta es una buena opción para usuarios que están aprendiendo.
  • app-admin/syslog-ng, una bitácora del sistema avanzada. Requiere una configuración adicional para cualquier situación distinta a la de registrarlo todo en un solo fichero de gran tamaño. Los usuarios más avanzados pueden elegir este paquete basándose en su potencial de registro, pero se debe recordar que una configuración adicional es necesaria para escenarios en los que el registro sea de cierta complejidad.
  • app-admin/metalog que es una bitácora del sistema altamente configurable.

Es posible que haya otras utilidades de registro del sistema disponibles a través del repositorio ebuild de Gentoo, ya que el número de paquetes disponibles aumenta diariamente.

Consejo
Si se va a utilizar syslog-ng, se recomienda instalar y configurar a continuación logrotate, syslog-ng no proporciona ningún mecanismo de rotación para los archivos de registro. Sin embargo las versiones más nuevas (>= 2.0) de sysklogd manejan su propia rotación de registros.

Para instalar la bitácora del sistema de su elección, instálela con emerge. En OpenRC agréguela al nivel de arranque predeterminado usando rc-update. El siguiente ejemplo instala y activa app-admin/sysklogd como la utilidad syslog del sistema:

root #emerge --ask app-admin/sysklogd
root #rc-update add sysklogd default

systemd

Si bien se presenta una selección de mecanismos de registro para sistemas basados en OpenRC, systemd incluye un registrador integrado llamado servicio systemd-journald. El servicio systemd-journald es capaz de manejar la mayor parte de la funcionalidad de registro descrita en la sección anterior del registro del sistema. Es decir, la mayoría de las instalaciones que ejecutarán systemd como administrador del sistema y de servicios pueden "omitir de forma segura" la adición de utilidades syslog adicionales.

Consulte man journalctl para obtener más detalles sobre el uso de journalctl para consultar y revisar los registros del sistema.

Por varias razones, como sería el caso de reenviar registros a un servidoe central, puede ser importante incluir mecanismos de registro del sistema "redundantes" en un sistema basado en systemd. Esto es algo inusual para la audiencia típica del manual y se considera un caso de uso avanzado. Por lo tanto, no está cubierto por el manual.

Opcional: Demonio Cron

OpenRC

Aunque es opcional y no es necesario para todos los sistemas, es aconsejable instalar un demonio cron.

Un demonio cron ejecuta comandos en intervalos programados. Los intervalos pueden ser diarios, semanales o mensuales, una vez cada martes, una vez cada dos semanas, etc. Un administrador de sistema inteligente aprovechará el demonio cron para automatizar las tareas rutinarias de mantenimiento del sistema.

Todos los demonios cron admiten altos niveles de granularidad para las tareas programadas y, por lo general, incluyen la capacidad de enviar un correo electrónico u otra forma de notificación si una tarea programada no se completa como se esperaba.

Gentoo ofrece varios demonios cron posibles, incluyendo:

  • sys-process/cronie - cronie se basa en el cron original y tiene mejoras de seguridad y configuración como la capacidad de usar PAM y SELinux.
  • sys-process/dcron: este demonio cron ligero pretende ser simple y seguro, con las funciones suficientes para seguir siendo útil.
  • sys-process/fcron: un programador de comandos con capacidades extendidas sobre cron y anacron.
  • sys-process/bcron: un sistema cron más reciente diseñado teniendo en cuenta la seguridad en las operaciones. Para hacer esto, el sistema se divide en varios programas separados, cada uno responsable de una tarea separada, con comunicaciones estrictamente controladas entre las partes.

cronie

El siguiente ejemplo usa sys-process/cronie:

root #emerge --ask sys-process/cronie

Agregue cronie al nivel de ejecución predeterminado del sistema, que lo arrancará automáticamente al inicio:

root #rc-update add cronie default

Alternativa: dcron

root #emerge --ask sys-process/dcron

Si dcron es el agente cron con el que se proseguirá, se debe ejecutar un comando de inicialización adicional:

root #crontab /etc/crontab

Alternativa: fcron

root #emerge --ask sys-process/fcron

Si fcron es el controlador de tareas programadas seleccionado, se requiere un paso adicional tras emerge:

root #emerge --config sys-process/fcron

Alternativa: bcron

bcron es un agente cron más reciente con separación de privilegios incorporada.

root #emerge --ask sys-process/bcron

systemd

De manera similar al registro del sistema, los sistemas basados en systemd incluyen soporte para tareas programadas listas para usar en forma de "temporizadores". Los temporizadores systemd pueden ejecutarse a nivel de sistema o de usuario e incluir la misma funcionalidad que proporcionaría un demonio cron tradicional. A menos que sean necesarias capacidades redundantes, la instalación de un programador de tareas adicional, como un demonio cron, generalmente es innecesaria y se puede omitir de manera segura.

Opcional: Indexar Archivos

Para disponer de un índice en su sistema de archivos que proporcionará capacidades para la localización rápida de archivos, instale sys-apps/mlocate.

root #emerge --ask sys-apps/mlocate

Opcional: Shell de acceso remoto

Consejo
La configuración predeterminada de opensshd no permite que root inicie sesión como usuario remoto. Cree un usuario no root y configúrelo adecuadamente para permitir el acceso posterior a la instalación si es necesario, o ajuste /etc/ssh/sshd_config para permitir root.

Para poder acceder al sistema de forma remota después de la instalación, sshd debe estar configurado para iniciarse en el arranque.

OpenRC

Para añadir el script de inicio sshd al nivel de ejecución por defecto en OpenRC:

root #rc-update add sshd default

Si se necesita acceso a la consola serie (que es posible en el caso de servidores remotos), se debe configurar agetty.

Descomente la sección de la consola serie en /etc/inittab:

root #nano -w /etc/inittab
# SERIAL CONSOLES
s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100
s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100

systemd

Para habilitar el servidor SSH, ejecute:

root #systemctl enable sshd

Para habilitar la compatibilidad con la consola serie, ejecute:

root #systemctl enable getty@tty1.service

Opcional: Completado de shell

Bash

Bash es el shell predeterminado para los sistemas Gentoo y, por lo tanto, la instalación de extensiones de completado puede ayudar a mejorar la eficiencia y la conveniencia para administrar el sistema. El paquete app-shells/bash-completion instalará completaciones disponibles para comandos específicos de Gentoo, así como muchos otros comandos y utilidades comunes:

root #emerge --ask app-shells/bash-completion

Después de la instalación, el completado de bash para comandos específicos se puede gestionar a través de eselect. Consulte la sección Integraciones de completados de Shell del artículo de bash para obtener más detalles.

Sincronización temporal

Es importante utilizar algún método de sincronización para el reloj del sistema. Esto generalmente se hace a través del protocolo y el software NTP. Existen otras implementaciones que utilizan el protocolo NTP, como Chrony.

Para usar Chrony, por ejemplo:

root #emerge --ask net-misc/chrony

OpenRC

En OpenRC, ejecute:

root #rc-update add chronyd default

systemd

En systemd, ejecute:

root #systemctl enable chronyd.service

Alternativamente, los usuarios de systemd pueden desear utilizar el sencillo cliente SNTP systemd-timesyncd que se instala de forma predeterminada.

root #systemctl enable systemd-timesyncd.service

Herramientas del Sistema de Archivos

Dependiendo de los sistemas de archivos utilizados, puede ser necesario instalar las utilidades del sistema de archivos requeridas (para verificar la integridad del sistema de archivos, (re)formatear sistemas de archivos adicionales, etc.). Tenga en cuenta que las herramientas del espacio de usuario para ext4 (sys-fs/e2fsprogs) ya están instaladas como parte del conjunto @system.

La siguiente tabla enumera las herramientas a instalar si se necesitan determinadas herramientas del sistema de archivos en el entorno instalado.

Sistema de ficheros Paquete
XFS sys-fs/xfsprogs
ext4 sys-fs/e2fsprogs
VFAT (FAT32, ...) sys-fs/dosfstools
Btrfs sys-fs/btrfs-progs
ZFS sys-fs/zfs
JFS sys-fs/jfsutils

Se recomienda que sys-block/io-scheduler-udev-rules esté instalado para el correcto comportamiento del planificador con, por ejemplo, dispositivos nvme:

root #emerge --ask sys-block/io-scheduler-udev-rules
Consejo
Para obtener más información acerca de los sistemas de archivo en Gentoo, echar un vistazo al articulo sistemas de archivos

Herramientas de Red

Si la red se configuró previamente en el paso Configurar el sistema y la configuración de la red está completa, entonces esta sección de 'herramientas de red' se puede omitir con seguridad. En ese caso, continúe con la sección sobre Configurar un cargador de arranque.

Instalar un cliente DHCP

Importante
La mayoría de los usuarios necesitarán un cliente DHCP para conectarse a su red. Si no se instaló ninguno, es posible que el sistema no pueda conectarse a la red, lo que imposibilitará la descarga posterior de un cliente DHCP.

Un cliente DHCP obtiene automáticamente una dirección IP para una o más interfaces de red mediante scripts netifrc. Recomendamos el uso de net-misc/dhcpcd (ver también dhcpcd):

root #emerge --ask net-misc/dhcpcd

Opcional: Instalar un cliente PPPoE

Si se usa PPP para conectarse a internet, instale el paquete net-dialup/ppp:

root #emerge --ask net-dialup/ppp

Opcional: Instalar las herramientas de red inalámbricas

Si se va a conectar el sistema a una red inalámbrica, instale el paquete net-wireless/iw para redes abiertas o WEP networks y el paquete net-wireless/wpa_supplicant para redes WPA o WPA2. iw también es de utilidad para diagnósticos básicos y escaneo de redes inalámbricas.

root #emerge --ask net-wireless/iw net-wireless/wpa_supplicant

Ahora continúe con Configurar el cargador de arranque.





Aunque se instala para una CPU de 32 bits, casi todas las placas base de x86 (desde alrededor de 2006-2007 hasta el presente) que se produjeron con soporte para UEFI tienen 64-bit Firmware UEFI. Algunos usuarios pueden notar "64" en el nombre de los ajustes de configuración y archivos en las siguientes secciones a continuación. Esto es "esperado" en casi todos los casos.

Hay algunas excepciones muy pequeñas a esta regla de firmware UEFI de 64 bits, a saber, algunas de los primeros Apple Mac y algunas tabletas Dell con tecnología Intel Atom [1] eran compatibles con el firmware UEFI de 32 bits. La gran mayoría de lectores nunca encontrarán firmware UEFI de 32 bits en la naturaleza. Por esta razón, el firmware UEFI de 32 bits no se trata en el manual x86.

Selecting a boot loader

With the Linux kernel configured, system tools installed and configuration files edited, it is time to install the last important piece of a Linux installation: the boot loader.

The boot loader is responsible for firing up the Linux kernel upon boot - without it, the system would not know how to proceed when the power button has been pressed.

For x86, we document how to configure either GRUB or LILO for DOS/Legacy BIOS based systems, and GRUB, systemd-boot or EFI Stub for UEFI systems.

In this section of the Handbook a delineation has been made between emerging the boot loader's package and installing a boot loader to a system disk. Here the term emerge will be used to ask Portage to make the software package available to the system. The term install will signify the boot loader copying files or physically modifying appropriate sections of the system's disk drive in order to render the boot loader activated and ready to operate on the next power cycle.

Default: GRUB

By default, the majority of Gentoo systems now rely upon GRUB (found in the sys-boot/grub package), which is the direct successor to GRUB Legacy. With no additional configuration, GRUB gladly supports older BIOS ("pc") systems. With a small amount of configuration, necessary before build time, GRUB can support more than a half a dozen additional platforms. For more information, consult the Prerequisites section of the GRUB article.

Emerge

When using an older BIOS system supporting only MBR partition tables, no additional configuration is needed in order to emerge GRUB:

root #emerge --ask --verbose sys-boot/grub

A note for UEFI users: running the above command will output the enabled GRUB_PLATFORMS values before emerging. When using UEFI capable systems, users will need to ensure GRUB_PLATFORMS="efi-64" is enabled (as it is the case by default). If that is not the case for the setup, GRUB_PLATFORMS="efi-64" will need to be added to the /etc/portage/make.conf file before emerging GRUB so that the package will be built with EFI functionality:

root #echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
root #emerge --ask sys-boot/grub

If GRUB was somehow emerged without enabling GRUB_PLATFORMS="efi-64", the line (as shown above) can be added to make.conf and then dependencies for the world package set can be re-calculated by passing the --update --newuse options to emerge:

root #emerge --ask --update --newuse --verbose sys-boot/grub

The GRUB software has now been merged onto the system, but it has not yet been installed as a secondary bootloader.

Install

Next, install the necessary GRUB files to the /boot/grub/ directory via the grub-install command. Presuming the first disk (the one where the system boots from) is /dev/sda, one of the following commands will do:

DOS/Legacy BIOS systems

For DOS/Legacy BIOS systems:

root #grub-install /dev/sda

UEFI systems

Importante
Make sure the EFI system partition has been mounted before running grub-install. It is possible for grub-install to install the GRUB EFI file (grubx64.efi) into the wrong directory without providing any indication the wrong directory was used.

For UEFI systems:

root #grub-install --efi-directory=/efi
Installing for x86_64-efi platform.
Installation finished. No error reported.

Upon successful installation, the output should match the output of the previous command. If the output does not match exactly, then proceed to Debugging GRUB, otherwise jump to the Configure step.

Optional: Secure Boot

To successfully boot with secure boot enabled the signing certificate must either be accepted by the UEFI firmware, or shim must be used as a pre-loader. Shim is pre-signed with the third-party Microsoft Certificate, accepted by default by most UEFI motherboards.

How to configure the UEFI firmware to accept custom keys depends on the firmware vendor, which is beyond the scope of the handbook. Below is shown how to setup shim instead. Here it is assumed that the user has already followed the instructions in the previous sections to generate a signing key and to configure portage to use it. If this is not the case please return first to the Kernel installation section.

The package sys-boot/grub installs a prebuilt and signed stand-alone EFI executable if the secureboot USE flag is enabled. Install the required packages and copy the stand-alone grub, Shim, and the MokManager to the same directory on the EFI System Partition. For example:

root #emerge sys-boot/grub sys-boot/shim sys-boot/mokutil sys-boot/efibootmgr
root #cp /usr/share/shim/BOOTX64.EFI /efi/EFI/Gentoo/shimx64.efi
root #cp /usr/share/shim/mmx64.efi /efi/EFI/Gentoo/mmx64.efi
root #cp /usr/lib/grub/grub-x86_64.efi.signed /efi/EFI/Gentoo/grubx64.efi

Next register the signing key in shims MOKlist, this requires keys in the DER format, whereas sbsign and the kernel build system expect keys in the PEM format. In the previous sections of the handbook an example was shown to generate such a signing PEM key, this key must now be converted to the DER format:

root #openssl x509 -in /path/to/kernel_key.pem -inform PEM -out /path/to/kernel_key.der -outform DER
Nota
The path used here must be the path to the pem file containing the certificate belonging to the generated key. In this example both key and certificate are in the same pem file.

Then the converted certificate can be imported into Shims MOKlist, this command will ask to set some password for the import request:

root #mokutil --import /path/to/kernel_key.der
Nota
When the currently booted kernel already trusts the certificate being imported, the message "Already in kernel trusted keyring." will be returned here. If this happens, re-run the above command with the argument --ignore-keyring added.

Next, register Shim with the UEFI firmware. In the following command, boot-disk and boot-partition-id must be replaced with the disk and partition identifier of the EFI system partition:

root #efibootmgr --create --disk /dev/boot-disk --part boot-partition-id --loader '\EFI\Gentoo\shimx64.efi' --label 'GRUB via Shim' --unicode

Note that this prebuilt and signed stand-alone version of grub reads the grub.cfg from a different location then usual. Instead of the default /boot/grub/grub.cfg the config file should be in the same directory that the grub EFI executable is in, e.g. /efi/EFI/Gentoo/grub.cfg. When sys-kernel/installkernel is used to install the kernel and update the grub configuration then the GRUB_CFG environment variable may be used to override the usual location of the grub config file.

For example:

root #grub-mkconfig -o /efi/EFI/Gentoo/grub.cfg

Or, via installkernel:

ARCHIVO /etc/env.d/99grub
GRUB_CFG=/efi/EFI/Gentoo/grub.cfg
root #env-update
Nota
The import process will not be completed until the system is rebooted. After completing all steps in the handbook, restart the system and Shim will load, it will find the import request registered by mokutil. The MokManager application will start and ask for the password that was set when creating the import request. Follow the on-screen instructions to complete the import of the certificate, then reboot the system into the UEFI menu and enable the Secure Boot setting.
Debugging GRUB

When debugging GRUB, there are a couple of quick fixes that may result in a bootable installation without having to reboot to a new live image environment.

In the event that "EFI variables are not supported on this system" is displayed somewhere in the output, it is likely the live image was not booted in EFI mode and is presently in Legacy BIOS boot mode. The solution is to try the removable GRUB step mentioned below. This will overwrite the executable EFI file located at /EFI/BOOT/BOOTX64.EFI. Upon rebooting in EFI mode, the motherboard firmware may execute this default boot entry and execute GRUB.

If grub-install returns an error that says "Could not prepare Boot variable: Read-only file system", and the live environment was correctly booted in UEFI mode, then it should be possible to remount the efivars special mount as read-write and then re-run the aforementioned grub-install command:

root #mount -o remount,rw,nosuid,nodev,noexec --types efivarfs efivarfs /sys/firmware/efi/efivars

This is caused by certain non-official Gentoo environments not mounting the special EFI filesystem by default. If the previous command does not run, then reboot using an official Gentoo live image environment in EFI mode.

Some motherboard manufacturers with poor UEFI implementations seem to only support the /EFI/BOOT directory location for the .EFI file in the EFI System Partition (ESP). The GRUB installer can create the .EFI file in this location automatically by appending the --removable option to the install command. Ensure the ESP has been mounted before running the following command; presuming it is mounted at /efi (as defined earlier), run:

root #grub-install --target=x86_64-efi --efi-directory=/efi --removable

This creates the 'default' directory defined by the UEFI specification, and then creates a file with the default name: bootx64.efi.

Configure

Next, generate the GRUB configuration based on the user configuration specified in the /etc/default/grub file and /etc/grub.d scripts. In most cases, no configuration is needed by users as GRUB will automatically detect which kernel to boot (the highest one available in /boot/) and what the root file system is. It is also possible to append kernel parameters in /etc/default/grub using the GRUB_CMDLINE_LINUX variable.

To generate the final GRUB configuration, run the grub-mkconfig command:

root #grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-6.6.21-gentoo
Found initrd image: /boot/initramfs-genkernel-x86-6.6.21-gentoo
done

The output of the command must mention that at least one Linux image is found, as those are needed to boot the system. If an initramfs is used or genkernel was used to build the kernel, the correct initrd image should be detected as well. If this is not the case, go to /boot/ and check the contents using the ls command. If the files are indeed missing, go back to the kernel configuration and installation instructions.

Consejo
The os-prober utility can be used in conjunction with GRUB to detect other operating systems from attached drives. Windows 7, 8.1, 10, and other distributions of Linux are detectable. Those desiring dual boot systems should emerge the sys-boot/os-prober package then re-run the grub-mkconfig command (as seen above). If detection problems are encountered be sure to read the GRUB article in its entirety before asking the Gentoo community for support.

Alternative 1: LILO

Emerge

LILO, the LInuxLOader, is the tried and true workhorse of Linux boot loaders. However, it lacks features when compared to GRUB. LILO is still used because, on some systems, GRUB does not work and LILO does. Of course, it is also used because some people know LILO and want to stick with it. Either way, Gentoo supports both bootloaders.

Installing LILO is a breeze; just use emerge.

root #emerge --ask sys-boot/lilo

Configure

To configure LILO, first create /etc/lilo.conf:

root #nano -w /etc/lilo.conf

In the configuration file, sections are used to refer to the bootable kernel. Make sure that the kernel files (with kernel version) and initramfs files are known, as they need to be referred to in this configuration file.

Nota
If the root filesystem is JFS, add an append="ro" line after each boot item since JFS needs to replay its log before it allows read-write mounting.
ARCHIVO /etc/lilo.confExample LILO configuration
boot=/dev/sda             # Install LILO in the MBR
prompt                    # Give the user the chance to select another section
timeout=50                # Wait 5 (five) seconds before booting the default section
default=gentoo            # When the timeout has passed, boot the "gentoo" section
compact                   # This drastically reduces load time and keeps the map file smaller; may fail on some systems
  
image=/boot/vmlinuz-6.6.21-gentoo
  label=gentoo            # Name we give to this section
  read-only               # Start with a read-only root. Do not alter!
  root=/dev/sda3          # Location of the root filesystem
  
image=/boot/vmlinuz-6.6.21-gentoo
  label=gentoo.rescue     # Name we give to this section
  read-only               # Start with a read-only root. Do not alter!
  root=/dev/sda3         # Location of the root filesystem
  append="init=/bin/bb"   # Launch the Gentoo static rescue shell
  
# The next two lines are for dual booting with a Windows system.
# In this example, Windows is hosted on /dev/sda6.
other=/dev/sda6
  label=windows
Nota
If a different partitioning scheme and/or kernel image is used, adjust accordingly.

If an initramfs is necessary, then change the configuration by referring to this initramfs file and telling the initramfs where the root device is located:

ARCHIVO /etc/lilo.confAdding initramfs information to a boot entry
image=/boot/vmlinuz-6.6.21-gentoo
  label=gentoo
  read-only
  append="root=/dev/sda3"
  initrd=/boot/initramfs-genkernel-x86-6.6.21-gentoo

If additional options need to be passed to the kernel, use an append statement. For instance, to add the video statement to enable framebuffer:

ARCHIVO /etc/lilo.confAdding video parameter to the boot options
image=/boot/vmlinuz-6.6.21-gentoo
  label=gentoo
  read-only
  root=/dev/sda3
  append="video=uvesafb:mtrr,ywrap,1024x768-32@85"

Users that used genkernel should know that their kernels use the same boot options as is used for the installation CD. For instance, if SCSI device support needs to be enabled, add doscsi as kernel option.

Now save the file and exit.

Install

To finish up, run the /sbin/lilo executable so LILO can apply the /etc/lilo.conf settings to the system (i.e. install itself on the disk). Keep in mind that /sbin/lilo must be executed each time a new kernel is installed or a change has been made to the lilo.conf file in order for the system to boot if the filename of the kernel has changed.

root #/sbin/lilo

Alternative 2: EFI Stub

Computer systems with UEFI-based firmware technically do not need secondary bootloaders (e.g. GRUB) in order to boot kernels. Secondary bootloaders exist to extend the functionality of UEFI firmware during the boot process. Using GRUB (see the prior section) is typically easier and more robust because it offers a more flexible approach for quickly modifying kernel parameters at boot time.

System administrators who desire to take a minimalist, although more rigid, approach to booting the system can avoid secondary bootloaders and boot the Linux kernel as an EFI stub.

The sys-boot/efibootmgr application is a tool to used interact with UEFI firmware - the system's primary bootloader. Normally this looks like adding or removing boot entries to the firmware's list of bootable entries. It can also update firmware settings so that the Linux kernels that were previously added as bootable entries can be executed with additional options. These interactions are performed through special data structures called EFI variables (hence the need for kernel support of EFI vars).

Ensure the EFI stub kernel article has been reviewed before continuing. The kernel must have specific options enabled to be directly bootable by the UEFI firmware. It may be necessary to recompile the kernel in order to build-in this support.

It is also a good idea to take a look at the efibootmgr article for additional information.

Nota
To reiterate, efibootmgr is not a requirement to boot an UEFI system; it is merely necessary to add an entry for an EFI-stub kernel into the UEFI firmware. When built appropriately with EFI stub support, the Linux kernel itself can be booted directly. Additional kernel command-line options can be built-in to the Linux kernel (there is a kernel configuration option called CONFIG_CMDLINE. Similarly, support for initramfs can be 'built-in' to the kernel as well.

To boot the kernel directly from the firmware, the kernel image must be present on the EFI System Partition. This may be accomplished by enabling the efistub USE flag on sys-kernel/installkernel. Given that EFI Stub booting is not guaranteed to work on every UEFI system, the USE flag is stable masked, testing keywords must be accepted for installkernel to use this feature.

ARCHIVO /etc/portage/package.accept_keywords/installkernel
sys-kernel/installkernel **
sys-boot/uefi-mkconfig **
app-emulation/virt-firmware **
ARCHIVO /etc/portage/package.use/installkernel
sys-kernel/installkernel efistub

Then reinstall installkernel, create the /efi directory and reinstall the kernel:

root #emerge --ask sys-kernel/installkernel
root #mkdir -p /efi

For distribution kernels:

root #emerge --ask --config sys-kernel/gentoo-kernel{,-bin}

For manually managed kernels:

root #make install

Alternatively, when installkernel is not used, the kernel may be copied manually to the EFI System Partition, calling it bootx64.efi:

root #mkdir -p /efi
root #cp /boot/vmlinuz-* /efi/bootx64.efi

Install the efibootmgr package:

root #emerge --ask sys-boot/efibootmgr

Create boot entry called "Gentoo" for the freshly compiled EFI stub kernel within the UEFI firmware:

root #efibootmgr --create --disk /dev/sda --part 1 --label "gentoo" --loader "\bootx64.efi"
Nota
The use of a backslash (\) as directory path separator is mandatory when using UEFI definitions.

If an initial RAM file system (initramfs) is used, copy it to the EFI System Partition as well, then add the proper boot option to it:

root #efibootmgr --create --disk /dev/sda --part 1 --label "gentoo" --loader "\bootx64.efi" --unicode "initrd=\initramfs.img"
Consejo
Additional kernel command line options may be parsed by the firmware to the kernel by specifying them along with the initrd=... option as shown above.

With these changes done, when the system reboots, a boot entry called "gentoo" will be available.

Unified Kernel Image

If installkernel was configured to build and install unified kernel images. The unified kernel image should already be installed to the EFI/Linux directory on the EFI system partition, if this is not the case ensure the directory exists and then run the kernel installation again as described earlier in the handbook.

To add a direct boot entry for the installed unified kernel image:

root #efibootmgr --create --disk /dev/sda --part 1 --label "gentoo" --loader "\EFI\Linux\gentoo-x.y.z.efi"

Alternative 3: Syslinux

Syslinux is yet another bootloader alternative for the x86 architecture. It supports MBR and, as of version 6.00, it supports EFI boot. PXE (network) boot and lesser-known options are also supported. Although Syslinux is a popular bootloader for many it is unsupported by the Handbook. Readers can find information on emerging and then installing this bootloader in the Syslinux article.

Alternative 4: systemd-boot

Another option is systemd-boot, which works on both OpenRC and systemd machines. It is a thin chainloader and works well with secure boot.

To install systemd-boot, enable the boot USE flag and re-install sys-apps/systemd (for systemd systems) or sys-apps/systemd-utils (for OpenRC systems):

ARCHIVO /etc/portage/package.use/systemd-boot
sys-apps/systemd boot
sys-apps/systemd-utils boot
root #emerge --ask sys-apps/systemd

Or

root #emerge --ask sys-apps/systemd-utils

Then, install the systemd-boot loader to the EFI System Partition:

root #bootctl install
Importante
Make sure the EFI system partition has been mounted before running bootctl install.

When using this bootloader, before rebooting, verify that a new bootable entry exists using:

root #bootctl list
Advertencia
The kernel command line for new systemd-boot entries is read from /etc/kernel/cmdline or /usr/lib/kernel/cmdline. If neither file is present, then the kernel command line of the currently booted kernel is re-used (/proc/cmdline). On new installs it might therefore happen that the kernel command line of the live CD is accidentally used to boot the new kernel. The kernel command line for registered entries can be checked with:
root #bootctl list
If this does not show the desired kernel command line then create /etc/kernel/cmdline containing the correct kernel command line and re-install the kernel.

If no new entry exists, ensure the sys-kernel/installkernel package has been installed with the systemd and systemd-boot USE flags enabled, and re-run the kernel installation.

For the distribution kernels:

root #emerge --ask --config sys-kernel/gentoo-kernel

For a manually configured and compiled kernel:

root #make install
Importante
When installing kernels for systemd-boot, no root= kernel command line argument is added by default. On systemd systems that are using an initramfs users may rely instead on systemd-gpt-auto-generator to automatically find the root partition at boot. Otherwise users should manually specify the location of the root partition by setting root= in /etc/kernel/cmdline as well as any other kernel command line arguments that should be used. And then reinstalling the kernel as described above.

Optional: Secure Boot

When the secureboot USE flag is enabled, the systemd-boot EFI executable will be signed by portage automatically. Furthermore, bootctl install will automatically install the signed version.

To successfully boot with secure boot enabled the used certificate must either be accepted by the UEFI firmware, or shim must be used as a pre-loader. Shim is pre-signed with the third-party Microsoft Certificate, accepted by default by most UEFI motherboards.

How to configure the UEFI firmware to accept custom keys depends on the firmware vendor, which is beyond the scope of the handbook. Below is shown how to setup shim instead. Here it is assumed that the user has already followed the instructions in the previous sections to generate a signing key and to configure portage to use it. If this is not the case please return first to the Kernel installation section.

root #emerge --ask sys-boot/shim sys-boot/mokutil sys-boot/efibootmgr
root #bootctl install --no-variables
root #cp /usr/share/shim/BOOTX64.EFI /efi/EFI/systemd/shimx64.efi
root #cp /usr/share/shim/mmx64.efi /efi/EFI/systemd/mmx64.efi

Shims MOKlist requires keys in the DER format, whereas sbsign and the kernel build system expect keys in the PEM format. In the previous sections of the handbook an example was shown to generate such a signing PEM key, this key must now be converted to the DER format:

root #openssl x509 -in /path/to/kernel_key.pem -inform PEM -out /path/to/kernel_key.der -outform DER
Nota
The path used here must be the path to the pem file containing the certificate belonging to the generated key. In this example both key and certificate are in the same pem file.

Then the converted certificate can be imported into Shims MOKlist:

root #mokutil --import /path/to/kernel_key.der
Nota
When the currently booted kernel already trusts the certificate being imported, the message "Already in kernel trusted keyring." will be returned here. If this happens, re-run the above command with the argument --ignore-keyring added.

And finally we register Shim with the UEFI firmware. In the following command, boot-disk and boot-partition-id must be replaced with the disk and partition identifier of the EFI system partition:

root #efibootmgr --create --disk /dev/boot-disk --part boot-partition-id --loader '\EFI\systemd\shimx64.efi' --label 'Systemd-boot via Shim' --unicode '\EFI\systemd\systemd-bootx64.efi'
Nota
The import process will not be completed until the system is rebooted. After completing all steps in the handbook, restart the system and Shim will load, it will find the import request registered by mokutil. The MokManager application will start and ask for the password that was set when creating the import request. Follow the on-screen instructions to complete the import of the certificate, then reboot the system into the UEFI menu and enable the Secure Boot setting.



Reiniciar el sistema

Salga del entorno chroot y desmonte todas las particiones que continúen montadas. Luego escriba la orden mágica da inicio a la auténtica prueba final: reboot.

(chroot) livecd #exit
livecd~#cd
livecd~#umount -l /mnt/gentoo/dev{/shm,/pts,}
livecd~#umount -R /mnt/gentoo
livecd~#reboot

¡No olvide retirar la imagen live, de lo contrario puede ser arrancada de nuevo en lugar del sistema Gentoo recién instalado!

Una vez reiniciado en el nuevo entorno Gentoo, es aconsejable finalizar con Finalizando la instalación de Gentoo.





Administración del usuario

Añadir un usuario para uso cotidiano

Trabajar como root en un sistema Unix/Linux es peligroso y debe evitarse tanto como sea posible. Por tanto se recomienda encarecidamente añadir una o mas cuentas de usuario normal para el uso cotidiano del sistema.

Los grupos a los que pertenece el usuario definen que actividades puede realizar. La siguiente tabla muestra una lista de los grupos más importantes:

Grupo Descripción
audio Habilita cuentas de usuarios para acceder a los dispositivos de audio.
cdrom Habilita cuentas de usuarios para que puedan acceder de forma directa a dispositivos de lectura óptica.
floppy Habilita cuentas de usuarios para acceder directamente a dispositivos mecánicos antiguos conocidos como unidades de disquete. Este grupo generalmente no se utiliza en sistemas actuales.
portage Habilite cuentas para poder acceder a ciertos recursos disponibles para el grupo Portage. Esto es útil para el desarrollo de Gentoo y resolución de problemas.
usb Habilita cuentas de usuarios para acceder a los dispositivos USB.
video Habilita cuentas de usuarios para acceder al hardware de captura de vídeo y a la aceleración por hardware.
wheel Permite que las cuentas de usuaris puedan utilizar el comando su ("usuario sustituto"), que permite cambiar a la cuenta root u otras cuentas. Para sistemas de usuario único que incluyen una cuenta root, es una buena idea agregar a este grupo el usuario normal principal.

Por ejemplo, para crear un usuario llamado larry que pertenezca a los grupos wheel, users y audio, acceda al sistema como root (solo root puede crear usuarios) y ejecute useradd:

Login:root
Password: (Introduzca la contraseña de root)

Al configurar contraseñas para cuentas de usuario normal, es una buena práctica de seguridad evitar el uso de la misma contraseña o una similar a la configurada para el usuario root.

Los autores del manual recomendaron utilizar una contraseña de al menos 16 caracteres de longitud, con un contenido exclusivo y completamente diferente a la del resto de usuarios del sistema.

root #useradd -m -G users,wheel,audio -s /bin/bash larry
root #passwd larry
Password: (Introduzca una contraseña para larry)
Re-enter password: (Repita la contraseña como comprobación)

Elevación de privilegios temporal

Si alguna vez este usuario necesita realizar alguna tarea como root, puede utilizar su - para obtener temporalmente privilegios de root. Otra forma es utilizar el paquete sudo (app-admin/sudo) o la utilidad doas (app-admin/doas) los cuales, correctamente configurados, son muy seguros.

Deshabilitar el login de root

Para evitar que posibles acciones de amenazas inicien sesión como root, eliminar la contraseña de root y/o deshabilitar el inicio de sesión de root pueden ayudar a mejorar la seguridad.

Para deshabilitar el login de root:

root #passwd -l root

Para eliminar la contraseña de root y deshabilitar su login:

root #passwd -dl root

Limpieza de disco

Eliminación de archivos de instalación

Una vez finalizada la instalación de Gentoo y reiniciado el sistema, si todo ha ido bien, el archivo de stage y otros archivos de instalación - como archivos DIGEST, CONTENT o *.asc (firma PGP) - ahora se pueden eliminar de forma segura.

Los archivos se encuentran en el directorio / y se pueden eliminar con el siguiente comando:

root #rm /stage3-*.tar.*

¿Adónde ir desde aquí?

¿No está seguro de dónde ir desde aquí?. Hay muchos caminos a explorar... Gentoo proporciona a sus usuarios montones de posibilidades, y por lo tanto tiene montones de artículos documentados (y menos también menos documentados) para que sean explorados aquí en el wiki y en otros subdominios relacionados (leer la sección Gentoo online abajo).

Documentación adicional

Es importante señalar que, debido a la cantidad de opciones disponibles en Gentoo, la documentación proporcionada por el manual tiene un alcance limitado: se enfoca principalmente en los conceptos básicos para poner en marcha un sistema Gentoo y las actividades básicas de gestión del sistema. El manual excluye intencionalmente instrucciones sobre entornos gráficos, detalles sobre securización y otras tareas administrativas importantes. Dicho esto, hay más secciones del manual para ayudar a los lectores con funciones más básicas.

Definitivamente los lectores deben echar un vistazo a la siguiente parte del manual de Gentoo titulado Trabajando con Gentoo que explica como mantener el software actualizado, instalar paquetes adicionales de software, detalles sobre los ajustes USE, el sistema de inicio OpenRC y algunos otros elementos informativos relacionados con la gestión de un sistema Gentoo después de su instalación.

Además del manual, el lector debería animarse a explorar otros rincones del sitio wiki de Gentoo para encontrar documentación adicional proporcionada por la comunidad. El equipo wiki de Gentoo también ofrece una descripción general del tema de la documentación que ofrece una selección de artículos del wiki por categoría. Por ejemplo, se hace referencia a la guía sobre la localización para hacer el sistema mas parecido a su país (particularmente útil para los usuarios cuyo segundo idioma es el inglés).

La mayoría de los usuarios que usan escritorios configurarán entornos gráficos en los que trabajar de forma nativa. Hay muchos 'meta' artículos mantenidos por la comunidad para entornos de escritorio (DEs) y administradores de ventanas (WMs). Los lectores deben tener en cuenta que cada DE requerirá pasos de configuración ligeramente diferentes, lo que alargará y agregará complejidad al arranque.

Existen muchos otros Meta-artículos para proporcionar a nuestros lectores una visión general de alto nivel del software disponible dentro de Gentoo.

Gentoo en línea

Importante
Los lectores deben tener en cuenta que todos los sitios oficiales de Gentoo en línea están dirigidos por el código de conducta de Gentoo. Ser un miembro activo de la comunidad Gentoo es un privilegio no un derecho y los usuarios deben tener en cuenta que el código de conducta está ahí por alguna razón.

Con la excepción de la red Intenet Relay Chat (IRC) alojado en Libera.Chat y las listas de correo, la mayoría de los sitios web de Gentoo requieren del uso de una cuenta en cada sitio para realizar preguntas, abrir una discusión o informar de un error.

Foros e IRC

Todos los usuarios son siempre bienvenidos a nuestros Foros de Gentoo o a alguno de nuestros canales de internet relay chat. Es fácil buscar en los foros para comprobar si se ha descubierto algún problema en una instalación nueva de Gentoo en el pasado y si ha sido resuelta después de ofrecer algunos comentarios. La cantidad de usuarios que experimentan problemas cuando instalan Gentoo por primera vez es sorprendente. Se recomienda a los usuarios que busquen en los foros y en el wiki antes de pedir ayuda en los canales de soporte de Gentoo.

Listas de correo

Se dispone de varias listas de correo para los miembros de la comunidad que prefieran pedir ayuda o consejos a través del correo electrónico en lugar de crear una cuenta de usuario en los foros o en IRC. Los usuarios deben seguir las instrucciones para suscribirse a las listas de correo que deseen.

Incidencias

A veces, después de revisar la wiki, buscar en los foros y buscar apoyo en el canal de IRC o en las listas de correo, no se encuentra una solución al problema. Generalmente, esta es una señal para abrir un error en el sitio web Bugzilla de Gentoo.

Guía de desarrollo

Los lectores que deseen aprender más sobre el desarrollo de Gentoo pueden consultar la Guía de desarrollo. Esta guía proporciona instrucciones sobre cómo escribir ebuilds, trabajar con eclasses y proporciona definiciones para muchos conceptos generales detrás del desarrollo de Gentoo.

Consideraciones finales

Gentoo es una distribución robusta, flexible y excelentemente mantenida. A la comunidad de mantenedores le encantaría escucha su opinión acerca de como hacer de Gentoo una distribución incluso mejor.

Como recordatorio, cualquier comentario sobre este manual debe seguir las pautas detalladas en la sección ¿Cómo puedo mejorar el Manual? al principio del manual.

Esperamos que nuestros usuarios elijen implementar Gentoo para cubrir sus necesidades y caso únicos.



Warning: Display title "Manual de Gentoo Linux x86: Instalar Gentoo" overrides earlier display title "Manual:X86/Todo/Instalación".