Compilar um Kernel: Como fazer isso em uma distribuição baseada no Debian?

Compilar um Kernel: Como fazer isso em uma distribuição baseada no Debian?

Compilar um Kernel: Como fazer isso em uma distribuição baseada no Debian?

No nosso postagem anteriorchamada “O Kernel Linux: Noções Básicas do Kernel” abordamos alguns bases teóricas essenciais em Kernels do sistema operacional, em geral; e ele Kernel Linux, em específico.

E como expressamos nele, neste, estaremos completando o dito bases teóricas essenciais com outros conceitos e informações importantes, além de mostrar o procedimento atual para alcançar "compilar um kernel Linux" do zero, em um Distribuição Debian GNU/Linux 11 (Bullseye) ou com base nele.

O Kernel Linux: Noções Básicas do Kernel

O Kernel Linux: Noções Básicas do Kernel

E, antes de começar a ler este post sobre “compilar um kernel” Linux Em geral, deixaremos alguns links para posts relacionados anteriores para leitura posterior:

O Kernel Linux: Tudo sobre o kernel do sistema operacional gratuito
Artigo relacionado:
O Kernel Linux: Noções Básicas do Kernel
vulnerabilidade
Artigo relacionado:
Até agora este mês, várias vulnerabilidades encontradas no kernel do Linux já foram divulgadas

Construir um Kernel: tutorial de construção

Construir um Kernel: tutorial de construção

O que significa compilar um programa?

basicamente isso processo técnico (também chamado de embalagem) consiste em alcançar conversão do código fonte de um programa ou porção de software, desde sua origem (linguagem de programação utilizada para escrevê-lo) até um produto legível (linguagem de programação de alto nível interpretável) por um computador.

Ou seja, alcance seu transformar a partir do seu código-fonte até que se torne um programa executável e funcional, usando um processador (software compilador) para a conversão da linguagem de programação utilizada para um código do tipo binário e montador.

E quando se trata de desenvolver e compilar qualquer tipo de pacote, aplicativo e programa, básico e nativo, como o grãos em Debian GNU / Linux, os seguintes pacotes são adequados e necessários para obter uma boa base de apoio ao desenvolvimento, e estes são:

apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev
Otimize seu GNU/Linux: pacotes Debian para desenvolver aplicativos
Artigo relacionado:
Otimize seu GNU/Linux: pacotes Debian para desenvolver aplicativos

Vantagens e desvantagens de compilar um Kernel Linux do zero

Quando customizamos e configuramos, de raiz, um Kernel específico para um determinado computador, podemos obter as seguintes vantagens:

  • Obtenha melhor desempenho e menor consumo de CPU.
  • Obtenha uma melhor otimização e um menor consumo de Memória RAM.
  • Melhore a adaptabilidade e compatibilidade do sistema operacional.
  • Aumente a eficiência e a produtividade do sistema operacional.

Enquanto, pelo contrário, poderíamos gerar as seguintes Desvantagens:

  • Falhas operacionais e de disponibilidade dos recursos e serviços desejados no computador utilizado, devido a más configurações e problemas causados ​​durante a compilação.
  • Um trabalho constante, longo e tedioso no início para gerá-lo, e depois, para mantê-lo atualizado manualmente. Que pode variar de minutos a horas, dependendo do hardware utilizado.
  • Longas horas de estudo e testes, pois é necessário um alto nível de conhecimento tanto sobre as opções de configuração disponíveis no Kernel quanto sobre o computador (hardware final) onde será executado.

Categorias de kernel disponíveis

Categorias de kernel disponíveis

Pára compilar um kernel, a primeira coisa que precisamos saber é qual Kernel escolher. Para isso, devemos ir para Site oficial dos núcleos, e escolha uma entre as categorias existentes. Quais são os seguintes:

  • Linha principal de desenvolvimento (Mainline): Esta categoria inclui aqueles Kernels em fase de desenvolvimento, portanto, eles contêm novos recursos e funções que devem ser testados antes de serem colocados em uma versão estável. Estes são mantidos e lançados diretamente por Linus Torvalds e são lançados a cada 2-3 meses em média.
  • Estábulo: Esta categoria inclui aqueles Kernels que, após passarem nos testes do longo processo de desenvolvimento, tornam-se estáveis, portanto só estão sujeitos a correções através de um mantenedor oficial designado. Além disso, eles têm apenas alguns lançamentos de correção de bugs até que o próximo Mainline esteja disponível.
  • Longo prazo: Esta categoria inclui aqueles Kernels que, após passarem nos testes do longo processo de desenvolvimento, tornam-se estáveis, mas são suportados por correções de bugs e manutenção por um tempo extremamente longo (anos). Motivo pelo qual são aplicadas importantes correções de bugs, que podem se tornar muito frequentes.

Como compilar um kernel em uma distribuição GNU/Linux Debian Bullseye?

Como compilar um kernel em uma distribuição GNU/Linux Debian Bullseye?

Tendo escolhido um versão específica do kernel, no site oficial, e já conhecendo (copiando) seu caminho de download através botão tarball do mesmo, resta apenas realizar o seguinte procedimento, que mostraremos tomando como exemplo, o Kernel estável do Linux versão 6.0.8:

Fase 1

cd /usr/src
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.8.tar.xz
sudo unxz linux-6.0.8.tar.xz
sudo tar xvf linux-6.0.8.tar
sudo ln -s linux-6.0.8 linux
cd /usr/src/linux
sudo make clean && make mrproper
sudo cp /boot/config-`uname -r`* .config
make menuconfig

A execução deste último comando inicia o "Menu de configuração do kernel", onde você pode configurar (personalizar) os parâmetros sua preferência ou necessidade. Além disso, aqui é essencial não esquecer que é necessário marque ou desmarque a opção kernel de 64 bits, dependendo do que é desejado ou exigido. E também, depois de ter feito todas as alterações feitas, você deve pressione o botão Salvar e depois o Botão Sair.

Menu de configuração do kernel

Fase 2

Neste ponto há 2 caminhos possíveis A tomar:

Somente instalação do kernel
sudo make
sudo make modules_install
sudo make install
sudo update-grub; sudo update-grub2; sudo update-initramfs -u
sudo apt clean; sudo apt autoclean; sudo apt autoremove; sudo apt remove; sudo apt purge

Instalação do kernel e geração de arquivos .deb

Instalação do kernel e geração de arquivos .deb

Para executar esta etapa, é relevante ter a instalação do pacote chamado pacote do kernel. Portanto, o procedimento é o seguinte e começa da seguinte forma:

sudo wget -c http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_13.018+nmu1~bpo9+1_all.deb
sudo apt install ./kernel-package_13.018+nmu1~bpo9+1_all.deb
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb

Caso, durante o processo de compilação, você obtenha um erro relacionado a certificados de kernel, resta como uma opção poder executar o seguinte ordem de comando para corrigi-lo automaticamente:

sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config

Sim, acabou tudo bem, só falta reiniciar o nosso computador e testar como o nosso sistema operativo sobe com o novo Kernel. Como mostrado antes e depois, nas seguintes capturas de tela:

Antes da instalação do kernel

Antes da instalação

Após a instalação do kernel

Depois da instalação

Artigo relacionado:
Fast Kernel Headers, um conjunto de patches que aceleram a compilação do kernel em 50-80%
Artigo relacionado:
Kerla: um novo kernel escrito em Rust e compatível com o Linux ABI

Resumo: Banner post 2021

Resumo

Em resumo, esperamos que este tutorial seja muito útil, tanto para Usuários avançados Como a Desenvolvedores de Distros ou Respins. que normalmente requerem “compilar um kernel” específico em um sistema operacional GNU/Linux atualmente instalado ou em um que está sendo gerado do zero, a fim de incorporar um melhor desempenho e otimização em hardware específico. Principalmente, com o objetivo de alcançar, um menor consumo de CPU e RAM.

Embora, se alguém souber de algum outra maneira útil de realizar o referido procedimento ou conhece algum sugestão, recomendação ou correção ao que é fornecido aqui, você está convidado a fazê-lo através dos comentários. E sim, você simplesmente gostou desta publicação, não deixe de comentar e compartilhar com outras pessoas. Lembre-se também de visitar nosso «página inicial» para explorar mais novidades, bem como aderir ao nosso canal oficial de Telegrama de DesdeLinux, Oeste grupo para mais informações sobre o tema de hoje.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.