Guía de configuración del núcleo en Gentoo

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Kernel/Gentoo Kernel Configuration Guide and the translation is 83% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎日本語 • ‎한국어 • ‎русский

Este documento tiene la finalidad de presentar conceptos sobre la configuración manual del núcleo y detallar algunos de los problemas de configuración más comunes.

Introducción

Gentoo ofrece dos formas para gestionar la instalación y actualización del núcleo: la automática (con genkernel) y la manual. Aunque el método se puede verse como más fácil para el usuario, hay un gran número de razones por las cuales una gran proporción de usuarios Gentoo escogen configurar su núcleo manualmente: mayor flexibilidad, menor tamaño del núcleo, tiempos de compilación más cortos, mejor experiencia didáctica, aburrimiento severo, etc.

  1. greater flexibility,
  2. smaller (kernel) sizes,
  3. shorter compilation times,
  4. the learning experience,
  5. severe boredom,
  6. absolute knowledge of kernel configuration, and/or
  7. complete control.

Esta guía no cubre el método automático (genkerne). Si prefiere utilizar genkernel para compilar e instalar su núcleo, eche un vistazo a la documentación de Genkernel.

Esta guía no persigue documentar el proceso de configuración manual desde el principio hasta el final. El proceso de configuración depende en mayor medida del sentido común y un grado de conocimiento técnico relativamente alto acerca de su sistema. En lugar de esto, el documento introduce los conceptos de la configuración manual y detalla los problemas más comunes a los que se enfrentan los usuarios.

Este documento está escrito tomando en cuenta las versiones más recientes del núcleo, para las arquitecturas de computadora más comunes. Algunos detalles pueden ser distintos para núcleos más antiguos o para arquitecturas más exóticas, pero la mayor parte del contenido seguirá siendo relevante.

En este punto asumiremos que tiene las fuentes del núcleo Linux desempaquetadas en el disco duro (usualmente en algún lugar bajo /usr/src) y se supone que debe saber como entrar en la configuración menuconfig y navegar a través de su sistema de menús. Si no se encuentra ya en esta etapa, hay otros documentos disponibles que le pueden ayudar.

Conceptos de Configuración

Lo básico

El proceso general es realmente simple: se presentan una serie de opciones categorizadas en menús individuales y submenús y entonces se selecciona el soporte de hardware y características relevantes del núcleo para su sistema.

El núcleo incluye una configuración por defecto que se presenta la primera vez que lanza menuconfig en un conjunto particular de fuentes. Los valores por defecto normalmente son amplios y adecuados, lo que significa que la mayoría de los usuarios tendrán que realizar pocos cambios a la configuración base. Si decide deshabilitar una opción que estaba habilitada por defecto, asegúrese de que comprende relativamente bien lo que hace la opción y las consecuencias que pueden acarrear su deshabilitación.

Si es la primera vez que configura un núcleo Linux, debe ser algo conservador: no sea demasiado aventuroso y mientras sea posible, trate de no hacer demasiadas modificaciones a los valores por defecto. También tenga en cuenta que hay ciertas partes de la configuración que debe afinar en su sistema ¡Solo para arrancar!

Incluidas frente a modulares

La mayoría de las opciones de configuración tienen tres estados: se puede evitar su construcción (N), se pueden construir para formar parte integral del núcleo (Y) o construidas como un módulo (M). Los módulos se almacenan externamente en el sistema de ficheros, mientras que las opciones incluidas forman parte de la propia imagen del núcleo.

Hay una diferencia importante entre opciones incluidas y modulares: con pocas excepciones, el núcleo no hace ningún intento de cargar módulos externos cuando haga falta (esto se deja por cuenta del usuario). Mientras que otras partes del sistema puedan cargar módulos bajo demanda, se recomienda que construya las opciones de soporte de hardware y características del núcleo incluidas. El núcleo puede entonces asegurar que la funcionalidad y soporte de hardware estén disponibles cuando hagan falta.

KERNEL Enabling firmware in kernel
Device Drivers  --->
   Generic Driver Options  --->
       -*- Userspace firmware loading support
       [*] Include in-kernel firmware blobs in kernel binary

Desde luego, para algunas partes de la configuración, la construcción integral es un requerimiento absoluto. Por ejemplo, si su partición raíz es un sistema de archivos ext2, el sistema no va a arrancar si el soporte para ext2 se construyó como un módulo (ya que el sistema tendría que buscar en la misma partición raíz para encontrar el módulo ext2, pero no puede ver la partición raíz ¡hasta que tenga cargado el módulo de soporte ext2!).

Soporte del hardware

Aparte de detectar el tipo de arquitectura del sistema, la herramienta de configuración no hace ningún intento para identificar qué hardware está presente en su sistema. Aunque hay una configuración por defecto con algo de soporte para el hardware, es obligatorio encontrar y seleccionar las opciones de configuración relevantes para la configuración de hardware del sistema.

Esto simplemente requiere conocimiento de los componentes interiores y los conectados a su computadora, o que se identifiquen adecuadamente estos componentes. Para la mayoría de los componentes internos, necesita identificar el chipset usado por cada uno, en lugar del nombre de mercado del producto.

Existen algunas herramientas disponibles que pueden ser de ayuda. lspci (parte del paquete sys-apps/pciutils) identificará su hardware PCI y AGP, incluyendo componentes construidos en la propia placa base . La herramienta lsusb (del paquete sys-apps/usbutils) identificará los dispositivos conectados a los puertos USB.

La situación es algo confusa por la variación de grados de estandarización en el mundo del hardware. A no ser que haya una verdadera desviación de las normas, los discos IDE "sencillamente funcionarán". al igual que los teclados y ratón PS/2 o USB. Obtendrá soporte para una pantalla básica VGA. Sin embargo, algunos dispositivos, tales como adaptadores ethernet prácticamente no tienen estandarización, así que tendrá que identificar el chipset ethernet y seleccionar el soporte apropiado de hardware para la tarjeta específica para poder obtener acceso a la red.

Además, debido a que algunas cosas apenas funcionan con la configuración por defecto, tal vez tenga que seleccionar opciones más especializadas para obtener el potencial pleno de su sistema. Por ejemplo, si no activa el soporte para el chipset IDE apropiado, los discos IDE funcionarán muy lentamente.

Características del núcleo

Al igual que el soporte de hardware, también hace falta pensar en términos de las características del software requeridos del núcleo. Un ejemplo importante de este tipo de característica es el soporte para sistemas de ficheros: necesitará seleccionar soporte para los sistemas de ficheros que utiliza en su disco duro al igual que cualquier otro sistema de ficheros utilizado en almacenamiento externo (por ejemplo, VFAT en discos flash USB).

Otro ejemplo común es la funcionalidad avanzada de redes. Si desea hacer algún tipo de enrutamiento o trabajar con un cortafuegos, debe asegurarse de que se incluyen las opciones relevantes de la configuración del núcleo.

¿Preparado?

Ahora que hemos introducido los conceptos, podremos empezar a identificar el hardware y navegar a través de los menús de configuración, seleccionando las opciones requeridas para el núcleo de su sistema.

El resto de esta página tratará de clarificar algunas áreas comunes de confusión y proporcionar consejos para evitar problemas comunes que los usuarios encuentran a menudo. ¡Buena suerte!

Problemas comunes y áreas de confusión

Los discos SATA son SCSI

La mayoría de sistemas de escritorio modernos incorporan dispositivos de almacenamiento (discos duros y discos CD/DVD) en un bus Serial ATA, en lugar del más antiguo tipo de bus IDE (cable plano).

El soporte SATA en Linux está implementado en una capa llamada libata, la cual se asienta debajo del subsistema SCSI. Debido a esto, los controladores SATA se encuentran en la sección de configuración de controladores SCSI. Además, los dispositivos de almacenamiento se tratan como dispositivos SCSI, lo cual significa que también se requiere soporte para discos y cdroms SCSI. El disco duro SATA se nombra (por ejemplo) /dev/sda y el disco CD/DVD SATA se nombra (por ejemplo) /dev/sr0.

Aunque la mayoría de estos controladores son para dispositivos SATA, libata no diseñó para ser específica de SATA. Todos los controladores IDE comunes también se migrarán a libata en un futuro cercano y en ese momento, las consideraciones mencionadas anteriormente se podrán aplicar también a los usuarios de dispositivos IDE.

CodeOpciones de configuración para libata

Device Drivers --->
 SCSI device support --->
  <*> SCSI device support
  <*> SCSI disk support
  <*> SCSI CDROM support

 SCSI low-level drivers --->
  <*> Serial ATA (SATA) support
  Seleccione su chipset entre las opciones listadas debajo de la opción de arriba

This is a deprecated template. Help us update this template!

Nota
Select the correct chipset(s) from the choices listed under "Serial ATA (SATA) support" in the Configuration options for libata kernel box above.

Chipsets IDE y DMA

A pesar de la introducción de SATA, los dispositivos IDE todavía son muy comunes y otros dependen de ellos. IDE es una tecnología bastante genérica y como tal, Linux soporta casi todos los controladores IDE por defecto sin seleccionar opciones específicas de determinados controladores.

Sin embargo, IDE es una tecnología antigua y en su encarnación original Programmed Input/Output (Entrada/Salida Programada), no logra proporcionar las tasas de transferencia requeridas para acceso rápido a dispositivos modernos de almacenamiento. El controlador genérico IDE está limitado a usar el modo de transferencia PIO, lo cual resulta en bajas tasas de transferencia y un uso significativamente alto de la CPU mientras se transfieren los datos desde o hacia el disco.

A menos que esté tratando con un sistema anterior a 1995, su controlador IDE también ofrecerá soporte de un modo alternativo de transferencia conocido como Direct Memory Access (Acceso Directo a Memoria o DMA). El modo DMA es mucho más rápido y el uso de la CPU es prácticamente nulo mientras se efectúan las transferencias. Si sufre de un rendimiento general realmente pobre y está utilizando un disco IDE, es muy posible que no esté usando DMA.

Nota
Tal y como se ha mencionado anteriormente, libata está también disponible para discos IDE. Si está usando libata, entonces todos sus discos, incluyendo los discos IDE, deberán usar DMA. Para hacer esto no necesita realizar más comprobaciones ni configuraciones.

Si no está utilizando libdata para sus discos IDE, entonces necesitará comprobar que se puede utilzar DMA y activarlo.

root #hdparm -d /dev/hda
/dev/hda:
  using_dma = 0 (off)

Para activar DMA en dispositivos IDE, debe activar la opción de configuración del controlador IDE.

Kernel configurationOpciones de configuración para controladores IDE

Device Drivers --->
 ATA/ATAPI/MFM/RLL support --->
  <*> ATA/ATAPI/MFM/RLL support
  <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
  [*] PCI IDE chipset support
  Seleccione su chipset entre las opciones listadas debajo de la opción de arriba

This is a deprecated template. Help us update this template!

Nota
Select the correct chipset(s) from the choices listed under "PCI IDE chipset support" in the Configuration options for IDE controllers kernel box above.

Controladores de anfitrión USB

USB es un bus ampliamente adoptado para conectar periféricos externos a la computadora. Una de las razones del éxito de USB es que es un protocolo estandarizado. Sin embargo, los dispositivos controladores de anfitrión (HCDs) implementados en la computadora anfitriona varían un poco. Hay tres tipos:

  • UHCI es el Interfaz Universal Controlador de Anfitriones (Universal Host Controller Interface). Ofrece soporte para USB 1.1 y normalmente se encuentra en placas base con un chipset VIA o Intel.
  • OHCI es el Interfaz Abierto Controlador de Anfitriones (Open Host Controller Interface). Ofrece soporte para USB 1.1 y normalmente se encuentra en placas base con un chipset Nvidia o SiS.
  • EHCI es el Interfaz Controlador de Anfitriones Extendido (Extended Host Controller Interface). Es el único controlador de anfitriones común que soporta USB 2.0 y se puede encontrar normalmente en cualquier computador que soporte USB 2.0.

La mayoría de los sistemas tendrán uno de los dos tipos de interfaz: EHCI (USB 2.0) además de UHCI o OHCI (USB 1.1). Es importante que selecciones ambos tipos presentes en su sistema. Mientras que todos los dispositivos USB 2.0 son compatibles con USB 1.1, una gran proporción de dispositivos USB (aún los que se fabrican actualmente) están basados en el interfaz USB 1.1 - ¿Porqué un ratón USB podría necesitar más que 1,5Mb/s?

If the relevant options corresponding to the USB HCD types present on the system are not selected, then 'dead' USB ports may be experienced. This case can be determined if a working USB device is plugged in, but it does not get power or respond in any way.

Un excelente truco es utilizar lspci (del paquete sys-apps/pciutils) que hace que sea relativamente sencillo detectar los HCDs que están disponibles en su sistema. Sin tener en cuenta el controlador FireWire que también aparece, es sencillo determinar que mi sistema requiere soporte OHCI y EHCI:

root #lspci -v | grep HCI
00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) (prog-if 10 [OHCI])
00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) (prog-if 20 [EHCI])
01:0b.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 61) (prog-if 10 [OHCI])
Kernel configurationConfiguración para HCDs USB

Device Drivers --->
 USB support --->
  <*> Support for Host-side USB
  --- USB Host Controller Drivers
  <*> EHCI HCD (USB 2.0) support
  <*> OHCI HCD support
  <*> UHCI HCD (most Intel and VIA) support
  Seleccione los HCDs presentes en su sistema o los tres si no está seguro.

This is a deprecated template. Help us update this template!

KERNEL Configuration for USB HCDs
Device Drivers  --->
 USB support  --->
  <*> Support for Host-side USB
  ---   USB Host Controller Drivers
  <*>   EHCI HCD (USB 2.0) support
  <*>   OHCI HCD support
  <*>   UHCI HCD (most Intel and VIA) support

In Linux kernel 3.12.13 and later, OHCI support for PCI-bus USB controllers (CONFIG_USB_OHCI_HCD_PCI) has to be enabled if the USB controller is OHCI and a USB keyboard or mouse is used.

Sistemas Multiprocesador, Hyper-Threading y de Múltiples Núcleos de Procesamiento

Muchos sistemas de computación están basados en múltiples procesadores pero no siempre de formas inmediatamente obvias.

  • Muchas CPUs de Intel soportan una tecnología que ellos llaman hyper-threading, en la que el sistema ve la CPU como si fueran dos procesadores lógicos.
  • La mayoría de las CPUs Intel/AMD contienen varios procesadores físicos dentro del mismo chip. Se conocen como procesadores multinúcleo.
  • Algunos sistema de alto rendimiento tienen de hecho múltiples procesadores físicos instalados en placas base especializadas para proporcionar un aumento significativo del rendimiento sobre un sistema uniprocesador. Probablemente sabrá si tiene uno de estos sistemas, ya que no son nada baratos.

En todos estos casos debe seleccionar las opciones apropiadas del núcleo para obtener el rendimiento óptimo con estas configuraciones.

Kernel configurationConfiguración para multiprocesamiento

Processor type and features --->
 [*] Symmetric multi-processing support Select the above option if you are on a multi-processor system (of any type)
 [*] SMT (Hyperthreading) scheduler support Select the above option if you are on an Intel Hyper-Threading CPU
 [*] Multi-core scheduler support (NEW) Select the above option if your CPU is multi-core
Power management and ACPI options --->
 [*] ACPI (Advanced Configuration and Power Interface) Support
 La opción de arriba no solo habilita las características de gestión de energía, también puede ser un requisito para disponer de todas las CPUs de su sistema

This is a deprecated template. Help us update this template!

The next option not only enables power management features, but might also be a requirement for making all CPUs available to the system:

KERNEL Power management for multi-processor systems
Power management and ACPI options  --->
 [*] ACPI (Advanced Configuration and Power Interface) Support

Soporte para memoria alta en x86

Debido a limitaciones en el espacio de direcciones de 32 bits de la arquitectura x86, un núcleo con la configuración por defecto solo puede soportar hasta 896MB RAM. Si su sistema tiene más memoria, solo serán visibles los primeros 896MB, a no ser que active el soporte para memoria alta.

Nota
Esta limitación es específica a la arquitectura x86 (IA32). Las demás arquitecturas soportan naturalmente grandes cantidades de memoria, sin requerir afinamientos en la configuración.

El soporte para la memoria alta no está activado por defecto porque introduce un pequeño costo en términos de rendimiento. No se distraiga por esto, ¡Esta carga es insignificante en comparación con el aumento del rendimiento por disponer de la memoria adicional!

Kernel configurationHabilitar soporte de memoria alta en x86

Processor type and features --->
 High Memory Support --->
  (X) 4GB
  ( ) 64GB
 Elija la opción 4GB a menos que su sistema tenga más de 4GB de RAM.

This is a deprecated template. Help us update this template!

KERNEL Enabling high memory support on x86
Processor type and features  --->
 High Memory Support  --->
  (X) 4GB
  ( ) 64GB

Compressed kernel modules

From kernel version 3.18.x (and up) compression of kernel modules has been possible. gzip and xz compression are available. It is important to emerge sys-apps/kmod with the proper USE flags before compiling a kernel with compressed modules:

ARCHIVO /etc/portage/package.use Enabling compression support for kmod
sys-apps/kmod lzma zlib

Re-emerge sys-apps/kmod:

root #emerge --ask --oneshot --changed-use sys-apps/kmod

Enable module compression and select a preferred compression method:

KERNEL Enable module compression
Enable loadable module support --->
  [*]   Compress modules on installation
  Compression algorithm ()  --->
    <X> GZIP
        XZ

Usually make modules_install runs depmod. If sys-apps/kmod did not have the proper USE flags set (see the package.use step above) the first time it was run, then the dependency list will be empty. The system will therefore be unable to load any modules that were built compressed.

After kmod has been recompiled, re-run depmod as a solution to this problem:

root #depmod -a
root #modprobe <module_name>

Notación corta para la configuración del núcleo

Introducción

Cuando lea sobre las configuraciones del núcleo, verá a menudo que los ajustes se describen como CONFIG_<algo>. Esta notación corta es lo que realmente utiliza internamente el núcleo, y es lo que se indica en el fichero de configuración del núcleo (bien esté en /usr/src/linux/.config o en el fichero autogenerado /proc/config.gz). Desde luego, el hecho de utilizar la notación corta no sería muy útil si no se puede traducir a la localización real en la configuración del núcleo. Afortunadamente, la herramienta make menuconfig le permite hacer precisamente esto.

Traducir CONFIG_FOO a la localización real de la configuración

Suponga que necesita habilitar CONFIG_TMPFS_XATTR, lance el menú de configuración del núcleo (make menuconfig) y teclee /. Esto abrirá la caja de búsqueda. En esta caja, escriba CONFIG_TMPFS_XATTR (puede incluso omitir la parte CONFIG_). El siguiente listado de código muestra el resultado de esta búsqueda.

The following is an output of the result of this search:

Kernel configurationResultado de buscar CONFIG_TMPFS_XATTR

Symbol: TMPFS_XATTR [=n]
Type : boolean
Prompt: Tmpfs extended attributes
 Defined at fs/Kconfig:138
 Depends on: TMPFS [=y]
 Location:
  -> File systems
   -> Pseudo filesystems
    -> Virtual memory file system support (former shm fs) (TMPFS [=y])
 Selected by: TMPFS_POSIX_ACL [=n] && TMPFS [=y]

This is a deprecated template. Help us update this template!

Esta salida ofrece un montón de información interesante.

Entrada Descripción
Symbol: TMPFS_XATTR [=n] Esto identifica la entrada de la configuración del núcleo que está buscando. También le indica que el ajuste no está habilitado actualmente ([=n]).
Type: boolean El ajuste que buscó es un booleano (lo que significa que puede habilitarlo o deshabilitarlo). Algunos ajustes son números o cadenas de caracteres.
Prompt: Tmpfs extended attributes Este es el texto que encontrará en make menuconfig y como tal, es la entrada que estaba buscando en un formato que es más fácil de leer por los humanos.
Depends on: TMPFS [=y] Antes de que pueda ver esta entrada, necesitará tener habilitado el ajuste CONFIG_TMPFS. En este caso, esto ya se ha realizado (de ahí el [=y]), sin embargo, si este no es el caso, necesitará en primer lugar buscar (y habilitar) CONFIG_TMPFS.
Location: ... Esta es la localización en la estructura make menuconfig en la cual se puede encontrar el ajuste. Recuerde, el ajuste que está buscando es Tmpfs extended attributes.
Selected by: TMPFS_POSIX_ACL [=n] && TMPFS [=y] Si los ajustes descritos aquí están ambos habilitados (en nuestro caso, el primero no lo está), entonces, CONFIG_TMPFS_XATTR se activará automáticamente y no podrá deshabilitarlo.

Con esta información, debería poder traducir cualquier requerimiento CONFIG_* que se encuentre. Resumiendo, esto significa que:

  1. necesita habilitar los ajustes en el campo Depends on
  2. navegar a dónde le indique Location:
  3. activar el valor indicado por Prompt:

Otra documentación sobre la configuración del núcleo

Hasta ahora solamente hemos discutido conceptos generales y problemas específicos relacionados con la configuración del núcleo, sin entrar en detalles precisos (¡Estos detalles están para que los descubra!). Sin embargo, otras partes de la documentación Gentoo proporcionan detalles especializados para la materia que nos ocupa.

Puede encontrar estos documentos útiles a la hora de configurar áreas específicas, pero si es un principiante en la configuración del núcleo, no sea demasiado aventurado. Comience echando a andar un sistema básico ya que siempre puede volver más tarde para agregar soporte para audio, impresión, etc.

Getting the basics of a kernel operational will help users in later configuration steps because the user will know what is breaking their system and what is not. It is always wise to save the base (working) kernel configuration in a folder other than the kernel's sources folder before attempting to add new features or hardware.

  • En el artículo sobre ALSA se detallan las opciones de configuración necesarias para dar soporte a una tarjeta de sonido. Observe que ALSA es una excepción al esquema de no construir las cosas como módulos: ALSA es de hecho más sencillo de configurar cuando los componentes son modulares.
  • El artículo Bluetooth detalla las opciones que necesita para utilizar dispositivos bluetooth en su sistema.
  • La Guía del enrutador IPv6 describe cómo configurar el núcleo para enrutar usando el esquema de direccionamiento de redes de próxima generación.
  • Si va a usar los controladores gráficos de código cerrado de nVidia para obtener mejor rendimiento gráfico 3D, la Guía nVidia muestra las opciones que deben y no deben seleccionarse en el sistema.

Si trabaja con un sistema PowerPC, las Preguntas Frecuentes de PPC tiene algunas secciones sobre la configuración del núcleo.

El Cómo imprimir lista las opciones del núcleo necesarias para ofrecer soporte a la impresión en Linux.

La Guía USB detalla la configuración necesaria para utilizar dispositivos USB comunes como teclados y ratones, dispositivos de almacenamiento e impresoras.

Solución de problemas

Cambios de configuración que no tienen efecto

Es muy común que los usuarios hagan algún cambio de configuración, pero que comenten un pequeño error en el proceso a partir de este punto. Arrancan con una imagen del núcleo que no es la que se acaba de configurar, observan que el problema que intentaban solucionar todavía está ahí y concluyen que el cambio de configuración no era la solución del problema.

El proceso de compilar e instalar núcleos está fuera del alcance de este documento, debe echar un vistazo a la Guía de Actualización del Núcleo para orientación general. En pocas palabras, el proceso consiste en configurar, compilar, montar /boot (si no está montada ya), copiar la nueva imagen del núcleo y reiniciar el sistema. Si se salta algunos de estos pasos finales, ¡Los cambios realizados no tendrán efecto!

Es posible verificar que el núcleo con el que arrancó es el mismo que el núcleo compilado en el disco duro examinando la fecha y hora de la compilación. Asumiendo que su arquitectura es x86 y las fuentes del núcleo están instaladas en /usr/src/linux:

root #uname -v
#4 SMP PREEMPT Sáb Jul 15 08:49:26 BST 2006

La orden anterior muestra la fecha y hora en que se compiló el núcleo que ha arrancado.

root #ls -l /usr/src/linux/arch/i386/boot/bzImage
-rw-r--r-- 1 dsd users 1504118 Jul 15 08:49 /usr/src/linux/arch/i386/boot/bzImage

La orden de arriba muestra la fecha y la hora en que se compiló por última vez la imagen del núcleo en su disco duro.

Si las horas de las dos órdenes anteriores difieren en más de dos minutos, indica que ha ocurrido un error en la reinstalación del núcleo y que ¡No ha arrancado con la imagen del núcleo que creía!

Los módulos no se cargan automáticamente

Como mencionamos antes en este documento, el sistema de configuración del núcleo experimenta un gran cambio en su comportamiento cuando se selecciona la compilación de un componente como módulo (M) en vez de integrarlo (Y). Vale la pena repetir esto porque muchos usuarios caen en esta trampa.

Cuando se selecciona un componente como integrado, el código forma parte de la imagen del núcleo (bzImage). Cuando el núcleo necesita utilizar ese componente lo puede inicializar y cargar automáticamente sin intervención por parte del usuario.

Cuando se selecciona un componente como módulo, el código se construye como un archivo de módulo del núcleo aparte instalado en el sistema de ficheros. En general, cuando el núcleo necesita usar ese componente ¡No puede!. Con algunas excepciones, el núcleo no hace esfuerzo alguno para cargar estos módulos. Esa tarea queda en manos del usuario.

De manera que si construye el soporte para la tarjeta de red como un módulo y no tiene acceso a la red, es probable que el módulo no se haya cargado. Debe hacerlo manualmente o configurar su sistema para cargarlo automáticamente al arrancar.

A menos que tenga razones para hacerlo de otra manera, ahórrese algo de tiempo construyendo estos componentes

de manera integrada en la imagen del núcleo, para que éste pueda hacer todo de forma automática.
This article is based on a document formerly found on our main website gentoo.org.
The following people have contributed to the original document: Daniel Drake, Curtis Napier, Justin Robinson, Lukasz Damentko, Jonathan Smith, nightmorph
They are listed here as the Wiki history does not provide for any attribution. If you edit the Wiki article, please do not add yourself here, your contributions are recorded on the history page.