Compilação de Kernel

Compilação do Kernel com todos os comandos. As vantagens de compilar um Kernel atual no seu Linux são maior desempenho (velocidade e gerenciamento de memória), drivers atuais, você tem a possibilidade de configurar o Kernel de acordo com suas necessidades, por ser mais atual o Kernel você tem novas funções, em suma, um sistema mais eficiente.

[ Hits: 6.905 ]

Por: Buckminster em 15/04/2023


Introdução



Lembre-se de que é uma compilação de Kernel, faça as coisas com calma, sem pressa, curta o momento, divirta-se no processo e esqueça que se você errar pode ferrar todo o sistema, abstraia esse pensamento, pois uma compilação de Kernel serve para você ficar em paz consigo.

Instalando os pacotes necessários (a maioria dos pacotes abaixo, necessários para a compilação, tem para a maioria das distribuições, alguns mudam de nome, mas durante a instalação você verá a mensagem indicando o pacote para sua distribuição).

Pesquise antes os comandos e os pacotes específicos para a sua distribuição.

As vantagens de compilar um Kernel atual no seu Linux são maior desempenho (velocidade e gerenciamento de memória), drivers atuais, você tem a possibilidade de configurar o Kernel de acordo com suas necessidades, por ser um Kernel atual você tem novas funções, em suma, um sistema supostamente mais eficiente.

NOTA: para fazer compilação de kernel tenha em mente que demora de uma a duas horas (ou mais) dependendo da capacidade de processamento da tua máquina.

Para esta compilação foi usado o Debian.

Atualizando o sistema:

# apt-get update

# aptitude safe-upgrade
ou
# apt-get upgrade

Eu prefiro "aptitude safe-upgrade" porque o gerenciamento do upgrade é mais "safo" e seguro. Usarei o aptitude, mas tu podes usar o apt-get ou o apt. Talvez tu tenha que instalar o aptitude (apt-get install aptitude), pois não vem mais por padrão no Debian.

Caso seja a primeira vez que você esteja vendo uma compilação de kernel, não se assuste, não é difícil, é um pouco trabalhosa e demanda tempo, mas não é difícil. Aliás, nada é difícil, tudo é trabalhoso, mas nada é difícil.

Instalando as dependências necessárias todas atualizadas (a maioria dos pacotes abaixo, necessários para a compilação, tem para a maioria das distribuições, alguns mudam de nome, mas durante a instalação você verá a mensagem avisando se tal pacote existe ou não).

Copie e cole os comandos abaixo ou digite para endurecer os dedos e as unhas.

# aptitude install build-essential kmod initramfs-tools libaal-dev wget liblzo2-dev gzip libncurses5 libncurses5-dev dpatch udev binutils module-assistant
# aptitude install binutils module-assistant linux-source bc cpio libelf-dev bin86 flex bison openssl libssl-dev dwarves bison

Instalando os headers (cabeçalhos) necessários para compilar o Kernel:

# aptitude install linux-headers-`uname -r`

Agora vamos descobrir qual o processador da máquina:

# cat /proc/cpuinfo

Abaixo está uma parte da saída do comando acima.

processor : 0
vendor_id : AuthenticAMD
cpu family : 21
model : 1
model name : AMD FX(tm)-6100 Six-Core Processor
stepping : 2
microcode : 0x6000629
cpu MHz : 1406.061
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 0
cpu cores : 3
apicid : 16
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate ssbd vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed
bogomips : 6629.37
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb


No meu caso no PC é um AMD FX(tm)-6100 Six-Core Processor. Essa informação usaremos depois na configuração do kernel.

A compilação aqui descrita foi realizada em três máquinas: um PC com processador AMD, um PC com processador Intel i5 e um notebook com processador Intel i7. Não se faz necessário mostrar a saída do comando com as três máquinas.

Quando deu erro por duas vezes na compilação com a primeira máquina eu quis tirar a dúvida e a coisa tomou proporções que durou uma semana.

Usei o kernel 6.2.9 e o 6.2.10 baixados do site oficial kernel.org tanto pelo botão amarelo quanto pelo wget; e deu erro assim mesmo.

Espero que já tenham sanado esse erro, pois foram avisados.

Lembrando que há uma maneira bem mais simples de compilar o kernel com menos comandos, mas o nosso caso é aprendizado, então faremos da única maneira: uma das mais fáceis e das mais trabalhosas.

Caso quiser ver a maneira mais fácil leia o arquivo README.rst em usr/src/linux-6.2.9/Documentation/admin-guide.

Entrando no diretório próprio (padrão) para compilação, mas caso quiser pode instalar a partir de outro diretório, o opt por exemplo.

# cd /usr/src

Baixando o a última versão do Kernel

# wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.2.10.tar.xz

Ou pode baixar fazendo o download de https://www.kernel.org/ clicando no botão amarelo Latest Release e salvando em /usr/src.

Confira:

# ls

Descompactando:

# tar -xv --xz -f linux-6.2.10.tar.xz

Entrando na pasta, não utilizaremos link simbólico para compilação:

# cd linux-6.2.10

Limpando prováveis compilações anteriores:

# make mrproper

Dê um:

# ls -a

Não deve ter nenhum arquivo ".config" na pasta. Caso tiver execute make mrproper novamente ou apague manualmente o arquivo com:

# rm -rf .config

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando e compilando
   3. Considerações finais
Outros artigos deste autor

ClamAV, o kit de ferramentas antivírus

Instalando e Configurando o pgAgent no Linux (pgAdmin e PostgreSQL)

Como ter o ChatGPT no seu site em PHP

Instalação do Ventoy, programa para criar pendrives inicializáveis

Antivírus ClamAV com proteção em tempo real

Leitura recomendada

Compilação comentada do kernel

Empacotamento de Kernel em Sistemas Debian-Based

Compilar kernel em distros baseadas em Debian

Mascarando conexões PPTP de clientes

Compilando Kernel do Linux no Debian

  
Comentários
[1] Comentário enviado por maurixnovatrento em 14/05/2023 - 20:57h


Bem completo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

[2] Comentário enviado por Leoney45 em 12/06/2023 - 02:53h


Thanks to this article I can learn more. Expand my knowledge and abilities. Actually the article is very real.
https://www.prepaidgiftbalance.vip/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts