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: 4.982 ]

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

Redes de Computadores · IPtables · Endereços IPs - Explicações básicas

kernel Linux otimizado - Compilação e teste

Compilação do Kernel

Manual traduzido do Squid - Parte 3

Como ter o ChatGPT no seu site em PHP

Leitura recomendada

Compilando o KERNEL sem medo do "kernel panic"

openSUSE Linux no Windows 10 sem virtualização

Compilando o Kernel do OpenBSD 4.3 (GENERIC)

Transformando seu Linux em live!

UZIX - O Linux do MSX (Z80)

  
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