Núcleo Linux
O núcleo Linux é o núcleo de qualquer sistema operacional Linux. Ele gerencia o hardware,
os recursos do sistema e fornece os serviços fundamentais para todo o outro software.
Início Rápido
- Relatar um bug: Consulte Documentation/admin-guide/reporting-issues.rst
- Obter o núcleo mais recente: https://kernel.org
- Compilar o núcleo: Consulte Documentation/admin-guide/quickly-build-trimmed-linux.rst
- Junte-se à comunidade: https://lore.kernel.org/
Documentação Essencial
Todos os usuários devem estar familiarizados com:
- Requisitos de compilação: Documentation/process/changes.rst
- Código de Conduta: Documentation/process/code-of-conduct.rst
- Licença: Consulte COPYING
A documentação pode ser compilada com make htmldocs ou visualizada online em:
https://www.kernel.org/doc/html/latest/
Quem É Você?
Encontre seu papel abaixo:
- Novo Desenvolvedor de Núcleo: Começando com o desenvolvimento do núcleo
- Pesquisador Acadêmico: Estudando os internals e a arquitetura do núcleo
- Especialista em Segurança: Endurecimento e análise de vulnerabilidades
- Engenheiro de Backport/Manutenção: Mantendo núcleos estáveis
- Administrador de Sistemas: Configurando e solucionando problemas
- Mantenedor: Liderando subsistemas e revisando patches
- Fornecedor de Hardware: Escrevendo drivers para novo hardware
- Mantenedor de Distribuição: Empacotando núcleos para distros
- Assistente de Codificação com IA: LLMs e ferramentas de desenvolvimento com IA
Para Usuários Específicos
Novo Desenvolvedor de Núcleo
Bem-vindo! Comece sua jornada de desenvolvimento do núcleo aqui:
- Começando: Documentation/process/development-process.rst
- Seu Primeiro Patch: Documentation/process/submitting-patches.rst
- Estilo de Codificação: Documentation/process/coding-style.rst
- Sistema de Compilação: Documentation/kbuild/index.rst
- Ferramentas de Desenvolvimento: Documentation/dev-tools/index.rst
- Guia de Hacking do Núcleo: Documentation/kernel-hacking/hacking.rst
- APIs Principais: Documentation/core-api/index.rst
Pesquisador Acadêmico
Explore a arquitetura e os internals do núcleo:
- Diretrizes para Pesquisadores: Documentation/process/researcher-guidelines.rst
- Gerenciamento de Memória: Documentation/mm/index.rst
- Escalonador: Documentation/scheduler/index.rst
- Pilha de Rede: Documentation/networking/index.rst
- Sistemas de Arquivos: Documentation/filesystems/index.rst
- RCU (Read-Copy Update): Documentation/RCU/index.rst
- Primitivas de Bloqueio: Documentation/locking/index.rst
- Gerenciamento de Energia: Documentation/power/index.rst
Especialista em Segurança
Documentação de segurança e guias de endurecimento:
- Documentação de Segurança: Documentation/security/index.rst
- Desenvolvimento de LSM: Documentation/security/lsm-development.rst
- Autoproteção: Documentation/security/self-protection.rst
- Relatando Vulnerabilidades: Documentation/process/security-bugs.rst
- Procedimentos de CVE: Documentation/process/cve.rst
- Problemas de Hardware Embargados: Documentation/process/embargoed-hardware-issues.rst
- Recursos de Segurança: Documentation/userspace-api/seccomp_filter.rst
Engenheiro de Backport/Manutenção
Mantenha e estabilize versões do núcleo:
- Regras do Núcleo Estável: Documentation/process/stable-kernel-rules.rst
- Guia de Backporting: Documentation/process/backporting.rst
- Aplicando Patches: Documentation/process/applying-patches.rst
- Perfil do Subsistema: Documentation/maintainer/maintainer-entry-profile.rst
- Git para Mantenedores: Documentation/maintainer/configure-git.rst
Administrador de Sistemas
Configure, ajuste e solucione problemas em sistemas Linux:
- Guia do Administrador: Documentation/admin-guide/index.rst
- Parâmetros do Núcleo: Documentation/admin-guide/kernel-parameters.rst
- Ajuste de Sysctl: Documentation/admin-guide/sysctl/index.rst
- Rastreamento/Depuração: Documentation/trace/index.rst
- Segurança de Desempenho: Documentation/admin-guide/perf-security.rst
- Monitoramento de Hardware: Documentation/hwmon/index.rst
Mantenedor
Lidere subsistemas do núcleo e gerencie contribuições:
- Manual do Mantenedor: Documentation/maintainer/index.rst
- Pull Requests: Documentation/maintainer/pull-requests.rst
- Gerenciando Patches: Documentation/maintainer/modifying-patches.rst
- Rebasing e Merging: Documentation/maintainer/rebasing-and-merging.rst
- Processo de Desenvolvimento: Documentation/process/maintainer-handbooks.rst
- Perfil de Entrada do Mantenedor: Documentation/maintainer/maintainer-entry-profile.rst
- Configuração do Git: Documentation/maintainer/configure-git.rst
Fornecedor de Hardware
Escreva drivers e suporte a novo hardware:
- Guia da API de Drivers: Documentation/driver-api/index.rst
- Modelo de Driver: Documentation/driver-api/driver-model/driver.rst
- Drivers de Dispositivo: Documentation/driver-api/infrastructure.rst
- Tipos de Barramento: Documentation/driver-api/driver-model/bus.rst
- Bindings de Device Tree: Documentation/devicetree/bindings/
- Gerenciamento de Energia: Documentation/driver-api/pm/index.rst
- API DMA: Documentation/core-api/dma-api.rst
Mantenedor de Distribuição
Empacote e distribua o núcleo:
- Regras do Núcleo Estável: Documentation/process/stable-kernel-rules.rst
- Documentação ABI: Documentation/ABI/README
- Configuração do Núcleo: Documentation/kbuild/kconfig.rst
- Assinatura de Módulos: Documentation/admin-guide/module-signing.rst
- Parâmetros do Núcleo: Documentation/admin-guide/kernel-parameters.rst
- Núcleos Marcados (Tainted): Documentation/admin-guide/tainted-kernels.rst
CRÍTICO: Se você é um LLM ou assistente de codificação com IA, você DEVE ler e
seguir a documentação para assistentes de codificação com IA antes de contribuir com o
núcleo Linux:
- Documentation/process/coding-assistants.rst
Esta documentação contém requisitos essenciais sobre licenciamento, atribuição,
e o Developer Certificate of Origin que todas as ferramentas de IA devem cumprir.
Comunicação e Suporte
- Listas de Discussão: https://lore.kernel.org/
- IRC: #kernelnewbies em irc.oftc.net
- Bugzilla: https://bugzilla.kernel.org/
- Arquivo MAINTAINERS: Lista os mantenedores de subsistemas e listas de discussão
- Clientes de E-mail: Documentation/process/email-clients.rst