Núcleo de Linux
El núcleo de Linux es el núcleo de cualquier sistema operativo Linux. Gestiona el hardware,
los recursos del sistema y proporciona los servicios fundamentales para todo el resto del software.
Inicio rápido
- Informar de un error: Consulte Documentation/admin-guide/reporting-issues.rst
- Obtener el último núcleo: https://kernel.org
- Compilar el núcleo: Consulte Documentation/admin-guide/quickly-build-trimmed-linux.rst
- Únete a la comunidad: https://lore.kernel.org/
Documentación esencial
Todos los usuarios deberían estar familiarizados con:
- Requisitos de compilación: Documentation/process/changes.rst
- Código de conducta: Documentation/process/code-of-conduct.rst
- Licencia: Consulte COPYING
La documentación se puede compilar con make htmldocs o consultarse en línea en:
https://www.kernel.org/doc/html/latest/
¿Quién eres?
Encuentra tu rol a continuación:
- Nuevo desarrollador de núcleo: Cómo empezar con el desarrollo del núcleo
- Investigador académico: Estudio de los internals y la arquitectura del núcleo
- Experto en seguridad: Endurecimiento y análisis de vulnerabilidades
- Ingeniero de backport/mantenimiento: Mantenimiento de núcleos estables
- Administrador de sistemas: Configuración y resolución de problemas
- Mantenedor: Liderazgo de subsistemas y revisión de parches
- Proveedor de hardware: Escritura de controladores para nuevo hardware
- Mantenedor de distribución: Empaquetado de núcleos para distribuciones
- Asistente de codificación con IA: LLMs y herramientas de desarrollo impulsadas por IA
Para usuarios específicos
Nuevo desarrollador de núcleo
¡Bienvenido! Comienza tu viaje de desarrollo del núcleo aquí:
- Primeros pasos: Documentation/process/development-process.rst
- Tu primer parche: Documentation/process/submitting-patches.rst
- Estilo de codificación: Documentation/process/coding-style.rst
- Sistema de compilación: Documentation/kbuild/index.rst
- Herramientas de desarrollo: Documentation/dev-tools/index.rst
- Guía de hacking del núcleo: Documentation/kernel-hacking/hacking.rst
- APIs principales: Documentation/core-api/index.rst
Investigador académico
Explora la arquitectura y los internals del núcleo:
- Directrices para investigadores: Documentation/process/researcher-guidelines.rst
- Gestión de memoria: Documentation/mm/index.rst
- Planificador: Documentation/scheduler/index.rst
- Pila de red: Documentation/networking/index.rst
- Sistemas de archivos: Documentation/filesystems/index.rst
- RCU (Read-Copy Update): Documentation/RCU/index.rst
- Primitivas de bloqueo: Documentation/locking/index.rst
- Gestión de energía: Documentation/power/index.rst
Experto en seguridad
Documentación de seguridad y guías de endurecimiento:
- Documentación de seguridad: Documentation/security/index.rst
- Desarrollo de LSM: Documentation/security/lsm-development.rst
- Autoprotección: Documentation/security/self-protection.rst
- Informe de vulnerabilidades: Documentation/process/security-bugs.rst
- Procedimientos CVE: Documentation/process/cve.rst
- Problemas de hardware bajo embargo: Documentation/process/embargoed-hardware-issues.rst
- Funciones de seguridad: Documentation/userspace-api/seccomp_filter.rst
Ingeniero de backport/mantenimiento
Mantenimiento y estabilización de versiones del núcleo:
- Reglas del núcleo estable: Documentation/process/stable-kernel-rules.rst
- Guía de backporting: Documentation/process/backporting.rst
- Aplicación de parches: Documentation/process/applying-patches.rst
- Perfil de subsistema: Documentation/maintainer/maintainer-entry-profile.rst
- Git para mantenedores: Documentation/maintainer/configure-git.rst
Administrador de sistemas
Configura, ajusta y resuelve problemas en sistemas Linux:
- Guía de administración: Documentation/admin-guide/index.rst
- Parámetros del núcleo: Documentation/admin-guide/kernel-parameters.rst
- Ajuste de sysctl: Documentation/admin-guide/sysctl/index.rst
- Trazado/depuración: Documentation/trace/index.rst
- Seguridad de rendimiento: Documentation/admin-guide/perf-security.rst
- Monitorización de hardware: Documentation/hwmon/index.rst
Mantenedor
Lidera los subsistemas del núcleo y gestiona las contribuciones:
- Manual del mantenedor: Documentation/maintainer/index.rst
- Solicitudes de extracción: Documentation/maintainer/pull-requests.rst
- Gestión de parches: Documentation/maintainer/modifying-patches.rst
- Rebase y fusión: Documentation/maintainer/rebasing-and-merging.rst
- Proceso de desarrollo: Documentation/process/maintainer-handbooks.rst
- Perfil de entrada del mantenedor: Documentation/maintainer/maintainer-entry-profile.rst
- Configuración de Git: Documentation/maintainer/configure-git.rst
Proveedor de hardware
Escribe controladores y soporta nuevo hardware:
- Guía de API de controladores: Documentation/driver-api/index.rst
- Modelo de controladores: Documentation/driver-api/driver-model/driver.rst
- Controladores de dispositivos: Documentation/driver-api/infrastructure.rst
- Tipos de bus: Documentation/driver-api/driver-model/bus.rst
- Bindings de Device Tree: Documentation/devicetree/bindings/
- Gestión de energía: Documentation/driver-api/pm/index.rst
- API DMA: Documentation/core-api/dma-api.rst
Mantenedor de distribución
Empaqueta y distribuye el núcleo:
- Reglas del núcleo estable: Documentation/process/stable-kernel-rules.rst
- Documentación ABI: Documentation/ABI/README
- Configuración del núcleo: Documentation/kbuild/kconfig.rst
- Firma de módulos: Documentation/admin-guide/module-signing.rst
- Parámetros del núcleo: Documentation/admin-guide/kernel-parameters.rst
- Núcleos contaminados: Documentation/admin-guide/tainted-kernels.rst
Asistente de codificación con IA
CRÍTICO: Si eres un LLM o un asistente de codificación impulsado por IA, DEBES leer y
seguir la documentación para asistentes de codificación con IA antes de contribuir al
núcleo de Linux:
- Documentation/process/coding-assistants.rst
Esta documentación contiene requisitos esenciales sobre licencias, atribución
y el Developer Certificate of Origin que todas las herramientas de IA deben cumplir.
Comunicación y soporte
- Listas de correo: https://lore.kernel.org/
- IRC: #kernelnewbies en irc.oftc.net
- Bugzilla: https://bugzilla.kernel.org/
- Archivo MAINTAINERS: Lista los mantenedores de subsistemas y las listas de correo
- Clientes de correo electrónico: Documentation/process/email-clients.rst