5 Dicas Úteis ao Compilar Seu Próprio Kernel Linux

5 Dicas do Kernel 00 Imagem em Destaque

O Kernel Linux é uma peça brilhante de engenharia de software. Com mais de um milhão de linhas de código, é indiscutivelmente um dos programas mais complexos que ainda está em desenvolvimento ativo hoje. Desde o final da década de 1990, o kernel Linux tem sido utilizado tanto em projetos computacionalmente intensivos quanto em aplicações embarcadas simples.

Índice

  • O que é um Kernel e Por Que Configurá-lo?
    1. Use o Sistema de Ajuda
    1. Desative Suporte HID Desnecessário
    1. Desative Suporte a Sistemas de Arquivos Desnecessários
    1. Desative Drivers Gráficos Desnecessários
    1. Instale Drivers como Módulos
  • Perguntas Frequentes

Leia também: 5 Melhores Distribuições Linux-Libre para Melhor Segurança

O que é um Kernel e Por Que Configurá-lo?

Apesar de tudo isso, o kernel Linux é apenas um programa que serve como um link entre o hardware do seu computador e o software que você usa todos os dias. É o que permite que você use uma ampla gama de dispositivos para os programas que você utiliza diariamente.

Um exemplo desse link entre hardware e software é a Arquitetura de Som Avançada do Linux (ALSA). A ALSA é uma estrutura de driver de som que está embutida no kernel Linux. Ela permite que você, entre outras coisas, instale facilmente uma placa de som e a configure para funcionar imediatamente com seu programa favorito.

5 Dicas do Kernel 02 Janela do Alsamixer

Sabendo disso, o kernel Linux é um programa que é amplamente desconhecido pelo usuário comum. Na maior parte, sempre que você instala uma distribuição, geralmente recebe um kernel que funcionará imediatamente. Isso pode ser útil se você está apenas procurando fazer seu sistema funcionar.

No entanto, se você está usando distribuições como Arch e Gentoo, ser capaz de configurar seu kernel é benéfico a longo prazo. Por exemplo, habilitar apenas os recursos que você deseja pode acelerar os tempos de inicialização.

Com isso, este artigo tem como objetivo fornecer cinco dicas úteis ao compilar seu próprio kernel Linux.

Nota: Confira este artigo para descobrir como começar a compilar seu próprio kernel.

1. Use o Sistema de Ajuda

Uma das características mais úteis ao configurar seu kernel Linux é o sistema de ajuda. Esta é uma funcionalidade embutida que você pode acessar enquanto estiver dentro do Menu de Configuração do Kernel. Com isso, você pode visualizar uma descrição de cada recurso e driver que pode instalar em seu kernel.

5 Dicas do Kernel 03 Exemplo de Ajuda do Kernel

Para usar este sistema, tudo o que você precisa fazer é pressionar Shift + / enquanto destaca uma opção específica do kernel. A partir daí, o Menu de Configuração imprimirá uma breve descrição do que esse recurso faz. Por exemplo, posso pressionar Shift + / na opção “Suporte PCI” para ver todas as opções que preciso habilitar para usá-la.

5 Dicas do Kernel 04 Ajuda de Exemplo do Linux Pci

Com isso, você também pode usar o mesmo sistema de ajuda para procurar informações sobre recursos específicos do kernel. Isso pode ser especialmente útil se você quiser saber mais sobre todas as opções que um recurso específico requer.

Para fazer isso, você pode pressionar / enquanto estiver dentro do Menu de Configuração. Isso abrirá um pequeno prompt onde você pode digitar o nome de uma opção específica. Por exemplo, posso pressionar / e digitar “PCI” para procurar opções que usam a flag PCI.

5 Dicas do Kernel 05 Prompt de Pesquisa do Kernel

Leia também: O Que É Gentoo Linux e Como Instalá-lo

2. Desative Suporte HID Desnecessário

O Kernel Linux frequentemente se gaba de ser um software com suporte a hardware quase universal. Com isso, você geralmente tem certeza de que ele será capaz de controlar qualquer dispositivo que você conectar a ele.

5 Dicas do Kernel 06 Exemplo de Suporte a Hardware do Linux

No entanto, um problema com essa abordagem é que incluir cada bit de suporte aumenta o tamanho e a pegada geral do kernel. Isso, por sua vez, pode levar a binários lentos que hackers maliciosos podem facilmente explorar e invadir.

Uma maneira de lidar com esse problema é remover o suporte a hardware que você não usa em sua máquina. Por exemplo, o kernel Linux inclui suporte a Firewire em sua configuração padrão. Apesar disso, a maioria das máquinas atualmente não inclui uma porta Firewire por padrão.

5 Dicas do Kernel 07 Suporte a Firewire do Linux

Sabendo disso, uma maneira rápida de ver quais dispositivos de hardware você pode desativar é passando pela seção “Drivers HID Especiais”. Esta é uma categoria que você pode acessar em “Drivers de Dispositivo” e “Suporte HID” no Menu de Configuração. Aqui, o kernel listará todos os dispositivos raros e incomuns que ele pode suportar.

5 Dicas do Kernel 08 Categoria HID Especial

Com isso, você também pode usar Shift + / e / para pesquisar cada opção listada nesta seção. Por exemplo, posso selecionar “dispositivos ELECOM” e pressionar Shift + / para ver o que essa opção faz.

5 Dicas do Kernel 09 Ajuda de Exemplo do Elecom

Você pode então selecionar os dispositivos que deseja e pressionar N para desativar seus recursos. No meu caso, estarei desativando todo o suporte HID Especial, pois não uso nenhum desses dispositivos.

5 Dicas do Kernel 10 Drivers HID Especiais Desativados

Leia também: 5 das Melhores Distros Linux para Desenvolvedores e Programadores

3. Desative Suporte a Sistemas de Arquivos Desnecessários

Outra maneira rápida de reduzir o tamanho do seu kernel é remover o suporte a sistemas de arquivos que você não usa. Por padrão, o kernel Linux é construído com suporte opcional para a maioria dos tipos de sistemas de arquivos. Estes incluem o antigo BSD FFS, bem como alguns dos sistemas de alto desempenho, como BTRFS.

5 Dicas do Kernel 12 Suporte a Sistemas de Arquivos do Linux

Na maior parte, um usuário comum realmente usa apenas um punhado de sistemas de arquivos para uso diário. Por exemplo, um sistema Linux geralmente usa EXT2, EXT4, FAT32 e NTFS para todo o seu armazenamento de dados. Assim, é possível remover o suporte a outros sistemas de arquivos e ganhar uma quantidade razoável de desempenho extra do kernel.

Para remover o suporte a sistemas de arquivos desnecessários no kernel, tudo o que você precisa fazer é ir para a categoria “Sistemas de Arquivos”.

5 Dicas do Kernel 13 Categoria de Sistemas de Arquivos do Kernel

A partir daí, você pode selecionar os sistemas de arquivos que deseja remover do seu sistema, destacando-os e pressionando N. No meu caso, deixarei apenas o suporte para EXT2, EXT3, EXT4 e JFS.

5 Dicas do Kernel 14 Poucos Sistemas de Arquivos Linux Habilitados

4. Desative Drivers Gráficos Desnecessários

Além de desativar o suporte HID Especial e a suporte a Sistemas de Arquivos, você também pode usar o Menu de Configuração para remover quaisquer drivers gráficos que você não usa. Isso ocorre porque o kernel Linux agrupa suporte para a maioria dos dispositivos gráficos modernos. Isso significa que mesmo que sua máquina não use uma placa gráfica, seu kernel ainda funcionará como se você tivesse uma.

5 Dicas do Kernel 15 Suporte Gráfico do Linux

Semelhante ao acima, isso resulta em um binário do kernel que executa recursos que você não precisa necessariamente. Isso, por sua vez, pode ser um problema se você estiver executando o Linux em hardware antigo ou fraco.

Para remover o suporte gráfico desnecessário, você precisa primeiro ir para a seção “Drivers de Dispositivo” do Menu de Configuração. A partir daí, você precisa rolar para baixo e selecionar “Suporte Gráfico”.

5 Dicas do Kernel 16 Categoria Gráfica do Kernel

Uma vez feito isso, o kernel exibirá uma lista de todo o hardware gráfico para o qual ele fornece um driver. A partir daqui, você pode pressionar Y ou N para habilitar ou desabilitar um driver específico.

No meu caso, estarei habilitando apenas o “Intel 8XX Graphics” e “Intel GMA500 Framebuffer”, pois esses são os únicos dispositivos gráficos presentes no meu laptop.

5 Dicas do Kernel 17 Suporte Gráfico Apenas Intel

Leia também: 9 das Melhores Distros Linux para Usuários do Windows

5. Instale Drivers como Módulos

Por último, uma das melhores características do kernel Linux é sua capacidade de remover partes de si mesmo e recarregá-las como módulos. Essa abordagem não apenas reduz o tamanho do kernel, mas também permite que você seja flexível com os recursos do kernel.

Por exemplo, você pode transformar seu driver sem fio em um módulo, o que permite atualizá-lo sem recompilar o kernel. Assim, os módulos podem ser especialmente úteis para usuários que desejam ter um kernel rápido, mas também querem manter a excelente compatibilidade de hardware do Linux.

5 Dicas do Kernel 18 Arquivos de Módulo do Linux

Para converter recursos embutidos em módulos, você precisa ir para a seção e opção que deseja converter em um módulo. Por exemplo, para converter meu driver sem fio, preciso ir para a seção “Suporte de Rede” e depois “Sem Fio”.

5 Dicas do Kernel 19 Categoria Sem Fio do Kernel

A partir daí, posso pressionar M nos drivers “cfg80211” para convertê-los em um módulo do kernel.

5 Dicas do Kernel 20 Recurso de Módulo do Kernel Linux

Uma vez feito isso, você pode pressionar Esc seis vezes para sair do Menu de Configuração. Isso, por sua vez, abrirá um prompt que perguntará se você deseja salvar as alterações que fez. No meu caso, estarei selecionando “Sim”.

5 Dicas do Kernel 21 Salvar Configuração do Kernel

Com isso feito, você pode agora compilar uma versão do kernel Linux com os recursos que deseja executando o seguinte comando:

make&&make modules_install  
makeinstall

5 Dicas do Kernel 11 Compilação do Kernel Linux

Leia também: 5 Ferramentas para Criar Facilmente uma Distro Linux Personalizada

Perguntas Frequentes

É possível saber quais drivers de dispositivo meu kernel Linux precisa?

Sim! Um obstáculo para usuários que estão apenas começando a compilar seu próprio kernel é saber o tipo exato de hardware que estão usando. Embora isso possa parecer uma tarefa difícil, existem vários programas que você pode usar para facilitar esse processo.

Por exemplo, você pode usar tanto lspci quanto lsusb para ver todos os periféricos de hardware conectados à sua máquina. Além disso, você também pode executar o comando sudo dmesg para verificar se o kernel lê corretamente seus dispositivos.

É possível trazer de volta um recurso que eu removi do kernel Linux?

Sim! É possível reinstalar um recurso uma vez que você o removeu do kernel Linux. Para fazer isso, você precisa voltar ao Menu de Configuração e pressionar Y ou M no recurso que deseja reabilitar. Fazer isso dirá ao kernel para incluir esse recurso específico como embutido ou como um módulo.

Com isso feito, você precisará recompilar o kernel para criar um binário com todos os novos recursos. Para fazer isso, você precisa salvar e sair do menu de configuração pressionando Esc seis vezes. A partir daí, você pode começar a recompilar o kernel executando make.

Quando devo instalar um recurso do kernel Linux como um módulo?

Instalar recursos como módulos dependerá muito do que você precisa do seu kernel. Sabendo disso, uma boa regra é que você deve criar módulos apenas para recursos que não são críticos para o processo de inicialização.

Isso porque, em sua essência, o kernel Linux depende de ser capaz de inicializar como uma única imagem. Por exemplo, remover partes críticas, como suporte a multiprocessadores, pode levar a uma situação em que seu kernel se torna não inicializável.

Por causa disso, os componentes do kernel que comumente se tornam módulos são drivers gráficos e outros drivers de hardware ou interfaces de rede.

Crédito da imagem: Unsplash