Kernel (Português)

Status de tradução:
Esse artigo é uma tradução de
Kernel
. Data da última tradução: 2020-06-28. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Artigos relacionados
Módulos de kernel
Compilar módulo de kernel
Kernel Panics
sysctl
De acordo com o Wikipédia:
O
kernel Linux
(ou núcleo Linux) é um
kernel para sistemas operacionais
tipo UNIX, monolítico e de código aberto.
Arch Linux
é baseado no kernel do Linux. Existem vários kernels Linux disponíveis para o Arch Linux, além do kernel estável mais recente. Este artigo lista algumas das opções disponíveis nos repositórios com uma breve descrição de cada uma. Há também uma descrição dos patches que podem ser aplicados ao kernel do sistema. O artigo termina com uma visão geral da compilação personalizada do kernel com links para vários métodos.
Os pacotes de kernel são
instalados
no sistema de arquivos em
/boot/
. Para poder inicializar no kernels, o
gerenciador de boot
deve ser configurado adequadamente.
Kernels com suporte oficial
Stable
— Kernel e módulos Vanilla Linux, com alguns patches aplicados.
https://www.kernel.org/
||
linux
Hardened
— Um kernel Linux focado na segurança que aplica um conjunto de patches rígidos para mitigar as explorações do kernel e do espaço do usuário. Ele também permite mais recursos de fortalecimento do kernel upstream do que
linux
.
https://github.com/anthraxx/linux-hardened
||
linux-hardened
Longterm
— Kernel e módulos Linux de suporte a longo prazo (LTS).
https://www.kernel.org/
||
linux-lts
Zen Kernel
— Resultado de um esforço colaborativo de hackers do kernel para fornecer o melhor kernel Linux possível para os sistemas do dia a dia. Mais detalhes podem ser encontrados em
https://liquorix.net
(que fornece binários de kernel baseados no Zen for Debian).
https://github.com/zen-kernel/zen-kernel
||
linux-zen
Compilação
O Arch Linux fornece dois métodos para compilar seu próprio kernel.
/Arch Build System
Aproveita a alta qualidade do
PKGBUILD
existente do
linux
e os benefícios de
gerenciamento de pacote
.
/Compilação tradicional
Envolve o download manual de um tarball de origem e a compilação no diretório inicial como um usuário normal.
Kernels do kernel.org
Git
— Kernel e módulos Linux compilados usando fontes do repositório Git de Linus Torvalds
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
||
linux-git
AUR
Mainline
— Kernels onde todos os novos recursos são introduzidos, lançados a cada 2-3 meses.
https://www.kernel.org/
||
linux-mainline
AUR
Next
— Kernels mais recentes com recursos pendentes para serem mesclados na próxima versão da linha principal.
https://www.kernel.org/doc/man-pages/linux-next.html
||
linux-next-git
AUR
Longterm
— Kernel e módulos Linux de suporte a longo prazo (LTS).
https://www.kernel.org/
||
linux-lts66
AUR
,
linux-lts61
AUR
,
linux-lts515
AUR
,
linux-lts510
AUR
Patches e patchsets
Existem muitas razões para corrigir o seu kernel, as principais são para desempenho ou suporte a recursos que não são da linha principal. Outras razões podem incluir diversão e ver como isso é feito e quais são as melhorias.
No entanto, é importante notar que a melhor maneira de aumentar a velocidade do seu sistema é primeiro adaptar o kernel ao seu sistema, especialmente a arquitetura e o tipo de processador. Por esse motivo, o uso de versões pré-empacotadas de kernels personalizados com configurações genéricas de arquitetura não é recomendado nem realmente vale a pena. Um benefício adicional é que você pode reduzir o tamanho do seu kernel (e, portanto, tempo de compilação), não incluindo suporte para itens que você não possui ou usa. Por exemplo, você pode começar com a configuração do kernel padrão quando uma nova versão do kernel for lançada e remover o suporte a itens como Bluetooth, video4linux, Ethernet de 1000 Mbit etc., funcionalidades que você sabe que não precisará para sua máquina específica. Embora esta página não seja para personalizar a configuração do seu kernel, ela é recomendada como um primeiro passo - antes de passar a usar um conjunto de patches depois de entender os fundamentos envolvidos.
Os arquivos de configuração para os pacotes do kernel do Arch podem ser usados como ponto de partida. Eles estão nos arquivos de origem do pacote Arch, por exemplo
[1]
vinculados a partir de
linux
. O arquivo de configuração do seu kernel atualmente em execução também pode estar disponível no seu sistema de arquivos em
/proc/config.gz
se a opção do kernel
CONFIG_IKCONFIG_PROC
estiver ativada.
Se você realmente não corrigiu ou personalizou um kernel antes, não é tão difícil e existem muitos PKGBUILDs no fórum para conjuntos de patches individuais. No entanto, é aconselhável começar do zero com um pouco de pesquisa sobre os benefícios de cada conjunto de patches, em vez de escolher apenas um. Dessa forma, você aprenderá muito mais sobre o que está fazendo, em vez de apenas escolher um kernel na inicialização e ficar imaginando o que ele realmente faz.
Atenção
Os patchesets são desenvolvidos por uma variedade de pessoas. Algumas dessas pessoas estão realmente envolvidas na produção do kernel Linux e outras são entusiastas, o que pode refletir seu nível de confiabilidade e estabilidade.
Patchsets principais
pf-kernel
— Fornece um punhado de recursos impressionantes não mesclados na linha principal. Ele não se baseia no fork ou no patchset do Linux existente, embora alguns ports não oficiais possam ser usadas se os patches necessários não tiverem sido lançados oficialmente. Os patches mais proeminentes do linux-pf são UKSM.
https://pfkernel.natalenko.name
|| Pacotes:
Repositório
,
linux-pf
AUR
do desenvolvedor do pf-kernel,
post-factum
Realtime kernel
— Mantido por um pequeno grupo de desenvolvedores principais, liderado por Ingo Molnar. Esse patch permite que quase todo o kernel seja antecipado, com exceção de algumas regiões muito pequenas de código ("regiões críticas de raw_spinlock"). Isso é feito substituindo a maioria dos spinlocks do kernel por mutexes que suportam a herança de prioridade, além de mover todas as interrupções e interrupções do software para os threads do kernel.
https://wiki.linuxfoundation.org/realtime/start
||
linux-rt
,
linux-rt-lts
Outros patchsets
Alguns dos pacotes listados também podem estar disponíveis como pacotes binários via
Repositórios não oficiais de usuários
.
Clear
— Patches do projeto Clear Linux da Intel. Fornece otimizações de desempenho e segurança.
https://github.com/clearlinux-pkgs/linux
||
linux-clear
AUR
[
link quebrado
: package not found]
GalliumOS
— O kernel e os módulos do Linux com patches do GalliumOS para Chromebooks.
https://github.com/GalliumOS/linux
||
linux-galliumos
AUR
[
link quebrado
: package not found]
Libre
— Os kernels do Linux sem "blobs binários".
https://www.fsfla.org/ikiwiki/selibre/linux-libre/
||
linux-libre
AUR
Liquorix
— Substituição do kernel criada usando a configuração direcionada ao Debian e as fontes do kernel Zen. Projetado para cargas de trabalho de desktop, multimídia e jogos, é frequentemente usado como um kernel de substituição de desempenho Debian Linux. Damentz, o mantenedor do patchset Liquorix, também é desenvolvedor do patchset Zen.
https://liquorix.net
||
linux-lqx
AUR
VFIO
— O kernel do Linux e alguns patches escritos por Alex Williamson (substituição de ACS e i915) para permitir a capacidade de passagem do PCI com o KVM em algumas máquinas.
https://lwn.net/Articles/499240/
||
linux-vfio
AUR
,
linux-vfio-lts
AUR
XanMod
— Com o objetivo de aproveitar ao máximo as estações de trabalho de alto desempenho, os desktops de jogos, os centros de mídia e outros, criados para oferecer uma experiência de desktop mais sólida, responsiva e suave. Este kernel usa o agendador MuQSS, o escalonador de E/S BFQ, a deduplicação de dados da memória em tempo real do UKSM, o controle de congestionamento
TCP BRR
, o suporte avançado ao conjunto de instruções x86_64 e outras alterações padrão.
https://xanmod.org/
||
linux-xanmod
AUR
Veja também
O'Reilly - Linux Kernel in a Nutshell
(free ebook)
What stable kernel should I use?
by Greg Kroah-Hartman
Documentação do kernel Linux