Escolar Documentos
Profissional Documentos
Cultura Documentos
(https://diolinux.com.br/)
sistemas operacionais(https://diolinux.com.br/sistemas-operacionais)
tutoriais(https://diolinux.com.br/tutoriais)
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 1/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
(https://diolinux.com.br/sistemas-
(https://diolinux.com.br/sistemas-
(https://diolinux.com.br/sistemas-
(whatsapp://send?
(https://diolinux.com.br/sistemas
(mailto:?
text=Como+compilar+um+Kernel+Linux+passo+a+passo+%5BTUTO
text=Como+compilar+um+Kernel+Linux+passo+a+passo+%5BTUTORIAL+COMPLETO%5D:
subject=Como%20compilar%20um%20Kernel%20Linux%20passo%20a%20passo%20[T
operacionais/como-compilar-um-
operacionais/como-compilar-um-
operacionais/como-compilar-um-
operacionais/como-compilar-um
https://diolinux.com.br/sistemas-operacionais/como-compilar-um
kernel-linux-passo-a-passo.html)
operacionais/como-compilar-um-kernel-linux-passo-a-passo.h
kernel-linux-passo-a-passo.html)
kernel-linux-passo-a-passo.html)
operacionais/como-compilar-um-kernel-linu
kernel-linux-passo-a-passo.html)
passo.html)
Conteúdo [ mostrar ]
Vamos falar um pouco sobre compilação de Kernel e se você deve ou precisa fazer esse
tipo de coisa.
Como comentei antes, a compilação do Kernel está envolta em uma mística muito grande
onde “apenas os entendidos” conseguem fazê-lo, de fato, é necessário um pouco de
conhecimento avançado no seu hardware para otimizar o Kernel, mas não para compilá-lo
necessariamente.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 2/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Encare este tutorial de forma didática, acredito que os maiores beneficiados serão os que
querem aprender um pouco mais sobre Linux e sobre informática, a maior parte dos
usuários (comuns e avançados) não realmente necessitam de um Kernel compilado,
digamos que este seja um “luxo” que você pode se dar ou não.
As distribuições Linux fazem um grande esforço para entregar para você um Kernel
genérico que consiga lidar com praticamente qualquer hardware e ainda extraia um bom
desempenho do seu computador. Se você conhecer direito o seu processador, sua placa
mãe, memórias, etc, em fim, se conhecer bem o seu Hardware, é possível ajustar alguns
módulos para deixar o Kernel mais enxuto e otimizado. Em minha experiência a diferença
não chega a ser gritante mas pode ajudar. Eu mesmo costumo utilizar o Kernel oferecido
pela distribuição que eu estiver utilizando, só vou pensar em mudar caso algo não esteja
funcionando adequadamente e isso pode ser feito de diversas formas, compilando é
apenas uma delas.
Você também pode querer usar um Kernel mais antigo em uma máquina mais velha
também por questão de melhor suporte ao hardware, se a sua distro não oferece este
kernel, compilar ele pode ser a única solução para trazer à vida o seu “dinossauro de
estimação”. 😁
Veja também: Atualizar ou não atualizar o Kernel? (https://www.youtube.com/watch?
v=yq6LZ6KIbm8)
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 3/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Linus Torvalds liberou no kernel.org recentemente o Kernel 4.12 que traz várias melhorias
e pelo que me consta, melhores drivers de vídeo para placas da AMD é o principal
destaque. Se você usa Arch, Fedora, Manjaro, openSUSE Tumbleweed, versões instáveis
do Debian, entre outras distros que costumam manter pacotes recentes, provavelmente
você receberá esse Kernel muito em breve (isso se já não recebeu), no entanto, outras
distros tendem a usar o Kernel LTS para melhor estabilidade, o Debian Stable, Ubuntu,
Mint, entre outras. Estas mantém um Kernel em uma versão mais “antiga” e muitas vezes
uma versão modificada também, com inclusão de drivers extras e outras otimizações e
perfis que dizem respeito à distro em específico.
Caso você se sinta inseguro ao fazer este tipo de coisa, ou se for a primeira vez que você
vai fazer isso, eu recomendo que você se foque em quatro pontos.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 4/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Acredite, se você não tiver paciência para ler este artigo por completo, provavelmente
você não vai ter paciência para compilar o kernel. Não tenha medo de aprender, este
artigo não vai fugir de você, então leia com calma mais de uma vez e use-o como guia no
seu processo.
2º – Faça o processo no VirtualBox uma vez ao menos para você entender como tudo
funciona.
Aprenda a fazer testes antes de colocar as coisas em produção, aprenda a errar e tirar
conhecimento dos seus erros. Fazer a compilação no VirtualBox pode levar mais tempo
por conta da potencia do seu computador ficar dividida, mas permite que você teste
várias coisas diferentes. Outra boa opção é você testar em um computador de reserva
que você tenha, assim você pode tentar otimizar o kernel para ele.
Algumas pessoas acham que para compilar o kernel você precisar ser o “Chuck Norris” no
Linux, mas a verdade é que “qualquer um com o toddy em um quarto escuro” faz isso,
basta prestar atenção.
Se você estiver fazendo em uma máquina virtual ou de testes, não há com o que se
preocupar. Na verdade, mesmo fazendo na sua máquina de trabalho, sabendo voltar ao
“normal”, não tem muito com o que se preocupar também.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 5/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Uma vez o kernel compilado, entenda que tudo o que funciona e não funciona no seu
sistema no que diz respeito ao gerenciamento de hardware é “culpa” sua, os patches de
segurança, atualizações e coisas do tipo serão aplicados somente se você o fizer.
Provavelmente a sua distro continuará a prover atualizações no Kernel que ela traz por
padrão através do repositório, mas no que diz respeito ao kernel que você compilar, bom,
ele depende só de você.
O primeiro passo é, sem dúvida, baixar o Kernel que você quer instalar. Observe sempre a
versão, pois essa informação será importante no futuro. Neste exemplo vamos usar o
mais recente (no momento), o Kernel 4.12. Acesse o kernel.org (http://kernel.org/) e baixe
a versão mais recente disponível:
Clique no botãozão amarelo e faça o download para o diretório que você quiser, por
exemplo, a sua pasta Downloads. Para fins de organização (afinal você pode ter muitas
pastas e arquivos ali), sugiro que crie uma pasta com qualquer nome e coloque o arquivo
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 6/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
que você baixou dentro, vou usar o nome “kernel” neste exemplo, conforme a imagem
abaixo:
Depois disso, abra o seu terminal e agora vamos começar a “brincadeira”. Já pegou um
café aí (ou chá, se você estiver em processo de descafeinação)?
Este processo pode demorar um pouco, seja paciente, leia com atenção e tudo deverá
ocorrer bem.
Antes de mais nada, vamos instalar alguns pacotes que serão úteis para a nossa
compilação. No exemplo eu estou utilizando o Linux Mint, mas os comandos servirão
para todas as distros baseadas em Debian, incluindo o Ubuntu, lembrando que você tem
que fazer o processo como root ou utilizando “sudo” onde for possível. Neste caso,
podemos usar o “sudo” sem problemas:
Comando:
sudo apt install build-essential libncurses5-dev
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 7/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Os pacotes tem o mesmo nome em praticamente todas as distros, então basta você usar
o gerenciador de pacotes da sua. Alguns comandos que vamos utilizar são coisas
básicas do Bash, como o “ls” para listar os arquivos e pastas nos diretórios e o “clear”
para limpar a tela (ou CTRL+L), então, fique à vontade para utilizá-los, como agora, você
deve estar com o seu terminal cheio de informações, apenas limpe a tela digitando: clear.
– Aprenda comandos de Bash aqui para facilitar a sua vida com o Terminal
(https://www.youtube.com/watch?v=pPg1Pqh6GJE)
O nosso próximo passo é extrair o conteúdo do arquivo compactado do Kernel que você
baixou para uma pasta específica.
Lembra que eu tinha comentado para colocarmos o arquivo dentro de uma pasta
chamada “kernel”, que por sua vez estava dentro da pasta “Downloads”? Vamos precisar
ir até ela com o comando:
cd ~/Downloads/kernel/
Uma vez dentro dela, rode o “ls” para ver se o arquivo está ali. No nosso exemplo o
arquivo se chama linux-4.12.tar.xz, este tipo de arquivo é um arquivo compactado como
qualquer outro .rar ou .zip, porém, ele usa a compactação tar.xz, vamos precisar extrair os
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 8/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
arquivos dele e vamos fazer pelo terminal, assim já podemos direcioná-lo diretamente
para a pasta /usr/src/ que é onde ele deve ficar para continuarmos. À partir de agora,
vamos entrar em modo root e fazer tudo desta forma, então rode o comando:
su root
Digite a sua senha e você já deve estar como root, se você estiver usando o Bash, o
indicativo para isso é que você terá um “#” no lugar do “$” no terminal:
Compilando Kernel
✅ Dica: use o tab para autocompletar os comandos, por exemplo, ao invés de digitar
linux-4.12.tar.xz, apenas digite “li” e pressione tab. Funciona em vários outros momentos
também.
Compilando Kernel
Comando:
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 9/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Se tiver dúvidas sobre o comando tar, você pode verificar a sua página de ajuda digitando:
tar –help. A extração deverá demorar alguns segundos, então aguarde o processo
terminar, quando isso acontecer você deverá ver uma tela semelhante a esta:
Compilando Kernel
Agora vamos conferir se realmente os arquivos foram parar no lugar certo. Até agora você
poderia ter feito tudo em modo gráfico, mas metade da graça de compilar o Kernel está
em usar comandos até pra descompactar arquivos, certo? 😂
Arquivos para compilação do Kernel
Comandos:
cd /usr/src/
ls
Aqui vai uma dica que pode facilitar um pouco, e se ao invés de ficar digitando toda a vez
“linux-4.12” você chamasse ele apenas de “linux” ou de “kernel”, ou ainda de “meganfox”?
Vamos criar um link símbolo pra ele, assim você não precisa digitar mais de uma palavra
ou perder tempo digitando mais caracteres:
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 10/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Comando:
ln -s linux-4.12 linux
Olha que beleza? Agora quando você acessar o diretório “linux” ele vai entrar dentro de
linux-4.12. Se você der um novo “ls” vai perceber a existência de um diretório chamado
“linux”. Vamos entrar nele também:
✅ Dica: O Linux é “Case sentivive”, isso significa que o seu sistema operacional
diferencia letras maiúsculas de minúsculas, um diretório chamado ‘Linux” é diferente de
outro chamado “linux”, que por sua vez é diferente de outro chamado “LInux” e por aí vai.
Então preste atenção para digitar os comandos e diretórios exatamente como são os
seus nomes.
Comandos:
ls
E observe a presença do link “linux”.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 11/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
cd linux
ls
Agora é que começa a compilação propriamente dita. O próximo passo é um dos mais
importantes e determinantes da hora de compilar um Kernel Linux:
Configuração do Kernel
Comando:
make menuconfig
Esse comando irá rodar e carregar uma espécie de interface onde você poderá fazer
vários ajustes, se você quiser, é claro:
✅ Dica: Nesta opção, você pode escolher copiar o arquivo de configuração do seu kernel
atual também, bastando confirmar quando o utilitário lhe pedir, entretanto, neste artigo
nós vamos dar uma explorada a mais nele.
Compilando Kernel
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 12/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Aqui, para mim, vale o mesmo conceito do overlock. Você pode ir testando opções até
encontrar alguma que fique realmente estável e otimizada para você. Fica difícil eu dizer
qualquer coisa aqui para você configurar porque eu não sei exatamente qual o hardware
você possui, quais dispositivos você conecta no seu computador, não sei o modelo da
sua placa mãe, etc, etc.
Vale muito à pena você fazer este processo várias vezes e conhecer o seu harware para
fazer modificações e testar como tudo vai funcionar. Aqui você pode habilitar e desabilitar
drivers por exemplo. Um exemplo que eu posso dar é que você pode, na sessão de
drivers, desabilitar o suporte para blobs de drivers proprietários no Kernel, desmarcando a
opção, isso talvez agrade quem gosta apenas de software livre.
Compilando Kernel
Cabe a você explorar todas as essas opções (que são muitas), mas atenção, minha
recomendação é:
Pesquise tudo o que você deseja alterar para entender o que a opção faz e entender a
consequência da sua ação, evite fazer esse tipo de coisa em máquinas de trabalho que
não podem ficar paradas e sempre mantenha um kernel extra que você sabe que
funciona, como o que veio junto com a sua distro, não o remova, assim você pode voltar
pra ele caso tenha algum problema. Estude o seu hardware e veja que recursos você
pode habilitar e desabilitar.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 13/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Otimizar um Kernel para você e tê-lo estável por levar algum tempo e algumas tentativas
de compilações.
✅ Dica: Leia com atenção a legenda que aparece nesta tela, ela te informa como você
navega pelos menus e como marcar e desmarcar as opções.
Como eu não sei qual o seu hardware e nós queremos continuar a nossa experiência com
a compilação, vamos apenas usar todas as opções que são padrão. Para isso, sem fazer
nenhuma alteração, vamos até a opção “Save” e pressionamos a tecla “Enter”.
Ao salvar uma nova tela aparecerá onde você pode escolher o nome do seu arquivo de
configuração (esse que você estava editando, ou não, no passo anterior), você pode
deixar o padrão mais uma vez “.config” e pressionar “enter” para confirmar:
Compilando Kernel
Depois da configuração estar pronta, uma nova tela vai se abrir com uma única opção
para sair, apenas confirme pressionando “enter” mais uma vez.
compilando kernel
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 14/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Isso vai te levar para a primeira tela do menu de configuração, agora é só você sair,
selecionando a opção “Exit”:
compilando kernel
Voltamos ao nosso terminal mais uma vez, você pode dar um “clear” para deixar ele limpo
novamente. O que vamos fazer agora é puramente para informação e praticidade.
Vamos alterar um pouco o nome do Kernel, nada demais, de “leve na neve”, só pra gente
saber que essa é a nossa versão compilada.
Uma informação importante que você pode inserir aqui é qual a versão da compilação
que você está fazendo, assim dá pra ir testando várias formas diferentes e iniciar pelo
Kernel que você quiser depois pelo GRUB.
Você pode usar aqui qualquer editar de texto (em modo texto ou gráfico), eu estava na
intenção de usar o VIM, porém, ele não vem instalado no Linux Mint (talvez na sua distro
ele venha), em compensação eu tenho pré instalado o nano e o vim.tiny (versão mais
enxuta do dito cujo), que vai servir também, afinal, eu só quero mudar uma linha no
arquivo de configuração. Se você quiser pode instalar o VIM ou qualquer outro.
compilando Kernel
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 15/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Comando:
vim.tiny /usr/src/linux/Makefile
Configurando Makefile
Navegue com o seu teclado até lá e coloque a informação que desejar, eu vou colocar
diocomp1, que para mim significa “Diolinux Compilação 1”, afinal, como eu disse, eu
posso fazer várias compilações do mesmo kernel e ir testando, assim na próxima vez que
fizer poderei colocar diocomp2 e assim por diante, ficando mais simples para identificar
cada uma.
Para salvar e sair no VIM você deve pressionar a tecla “ESC” até que a palavra “INSERT”
suma ali de baixo, e digitar:
:wq
Não esqueça dos dois pontos, o W serve para salvar a sua edição e o Q para sair. Se você
quiser aprender mais sobre o VIM e sobre o terminal, confira o nosso curso de Bash no
Diolinux EAD (https://play.diolinux.com.br/conteudos/curso-de-terminal-linux-bash/), ele
tem um módulo bônus somente sobre o VIM.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 16/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
gerando imagem
Comando:
make bzImage
Se liga aí no “I” maiúsculo. Nesta parte eu tive esse problema, como você pode ver, só
ocorreu no Linux Mint/Ubuntu, no Debian foi de boa. Isso era a falta de um pacote no
sistema que você resolve com:
Essa parte demora meu jovem, então vá dar uma caminhada ou tomar aquele seu café,
deixe apenas o terminal trabalhando, procure fechar as outras aplicações pois a
compilação consome recursos da máquina, memória e processador especialmente, e
quanto mais livre ela estiver, mais rápido tende a ser. Sugestão, aproveita e assiste um
episódio de Bates Motel na Netflix (https://www.youtube.com/watch?v=EOWcTivlLao), a
série é muito legal.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 17/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Se tudo deu certo, você deverá ter uma imagem dentro do diretório de boot, que é um
subpasta dentro da sua pasta “linux”, para verificar isso rode o seguinte comando:
ls /usr/src/linux/arch/x86_64/boot/
A arquitetura ali no meio do comando (x86_64) depende do tipo do kernel que você está
compilando, de 32 ou 64 bits. Você deverá ver algo como isto:
Compilando Kernel
O próximo passo vai compilar os módulos do seu Kernel, o que inclui os drivers que você
selecionou lá no menu de configuração:
make modules
Comando:
make modules
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 18/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Compilando Kernel
É bom você deixar um bom espaço livre também na sua partição / ou na /usr,
dependendo de como você particionou, essa compilação genérica gerou quase 14 GB de
dados.
Make modules_install
Compilação do Kernel
Comando:
make install
Ao terminar de executar esta tarefa, você deverá ver uma imagem semelhante a esta:
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 19/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Alguns erros que aparecem nessa tela ocorrem por conta do VirtualBox
Agora precisamos mudar de diretório para rodar mais um comando que vai criar a nossa
imagem de inicialização do Kernel:
Comando:
cd /boot
nome do kernel
Comandos:
ls /lib/modules/
Esse comando vai servir pra termos certeza do nome do nosso kernel, como você pode
ver na segunda linha da imagem acima, o kernel que compilamos tem o nome de
“4.12.0diocomp1”, vamos precisar deste nome no comando a seguir, que é:
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 20/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Preste atenção, pois este comando deve ser rodado dentro do diretório /boot.
Este comando não deve te retornar nada no terminal, ele apenas vai “rodar”, por assim
dizer.
Estamos chegando perto do final, precisamos fazer com que o GRUB reconheça o nosso
novo kernel para que possamos reiniciar a máquina utilizando ele, para que isso aconteça
é necessário atualizar a lista de sistemas/kernels que estão listadas no menu do GRUB
(Aquele carinha que aparece na inicialização do computador).
Esse passo pode variar um pouco de acordo com o sistema que você estiver utilizando,
Debian, Ubuntu, Mint, etc tem uma shell script nativo do sistema que faz essa atualização
através do comando:
Compilando Kernel
Comando:
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 21/35
13/05/2023, 06:55 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
update-grub
Eventualmente a sua distro pode ter outro método de fazer este mesmo passo, então vale
a pena consultar a documentação do sistema caso o comando não funcione.
Repare na imagem acima, nós já temos a imagem do kernel e do initrd encontradas com a
nossa compilação, esse comando não demora muito e ao terminar, nós já temos tudo
pronto para começar a utilizar e testar o nosso kernel compilado.
Agora você pode reiniciar o computador para testar o novo Kernel compilado por você
mesmo, se funcionar eu sei que você vai estar se sentindo um Elliot da vida, mas vamos
para o teste definitivo.
Reinicie como você preferir, se quiser fazer pelo terminal, apenas digite:
reboot
Se o seu computador tem apenas um sistema operacional instalado, ele deve carregar
automaticamente o seu kernel, caso ele seja o mais recente instalado, caso você tenha
mais de um sistema, você verá o GRUB, onde fica fácil de você identificar se o seu novo
kernel está listado para iniciar.
GRUB com kernel compilado
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 22/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Caso o GRUB não apareça para você, basta ficar pressionando a tecla “Shift” na
inicialização do computador, depois selecione o modo avançado e você verá uma imagem
semelhante a esta, com o seu kernel como opção para inicializar.
Se tudo deu certo, seu computador vai funcionar normalmente, uma vez na área de
trabalho você pode conferir se você está usando o Kernel correto rodando o seguinte
comando:
Comando:
uname -romi
ou
uname -r
Pronto meu amigo ou minha amiga, você acabou de compilar o Kernel Linux! Não foi tão
difícil foi?
Como eu quero deixar as coisas mais completas, eu vou te ensinar a voltar para o kernel
da sua distro e remover o seu kernel compilado, caso você queira. Existem várias formas
de editar o GRUB (http://www.diolinux.com.br/2012/09/instale-o-grub-customizer-3-no-
ubuntu.html) para você escolher com qualquer kernel ou sistema você quer inicializar por
padrão, mas vamos tomar de exemplo que por qualquer motivo você não queira mais o
seu kernel compilado e você queira usar o a sua distro te oferece.
Reinicie o seu computador mais uma vez e na tela do GRUB selecione outra versão do
Kernel que não seja a sua compilação, dê preferência pela mais recente, fora a sua.
grub customizer
No meu caso seria a versão “4.8.0-53-generic”, que é a entrada que está marcada logo
acima no meu GRUB, selecione a opção e dê “enter”, assim você vai inicializar por este
kernel. Essa dica é bacana em vários casos, existem opções de recuperação do sistema
que aparecem ali que nem todos conhecem. Eu recomendo que você veja este vídeo
(https://www.youtube.com/watch?v=jCmYUya5doQ) onde eu expliquei como funcionam
estas opções, vale a pena.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 24/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Seu sistema deve iniciar normalmente e está pronto para fazermos a remoção. Como nós
fizemos a compilação “na unha”, como se diz, a remoção vai ter que ser também, existem
alguns arquivos e diretórios que você precisa apagar, que são os arquivos do seu kernel
compilado, são eles:
/boot/vmlinuzNOME-DO-SEU-KERNEL
/boot/initrdNOME-DO-SEU-KERNEL
/boot/System-mapNOME-DO-SEU-KERNEL
/boot/config-NOME-DO-SEU-KERNEL
/lib/modules/NOME-DO-SEU-KERNEL/
/var/lib/initramfs-tools/NOME-DO-SEU-KERNEL/ ou /var/lib/initramfs/NOME-DO-SEU-KERNEL/
Entre como root novamente, como você fez para compilar e rode os seguintes comandos:
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 25/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Vamos entrar em /boot para limpar os arquivos ali primeiro, depois use o “ls” para listar os
arquivos e diretórios dentro desta pasta, assim você pode ver o nome do kernel que você
compilou, fica fácil de reconhecer por conta da modificação que fizemos no nome “lá
atrás”, quanto editamos o arquivo de configuração. Todos os arquivos tem a versão do
nosso kernel compilado (4.12 no nosso exemplo) e as informações que colocamos em
EXTRAVERSION, no exemplo eu coloquei diocomp1.
Para remover vamos usar o comando ”rm”, como está na imagem acima, sendo assim, o
comando ficaria:
Lembre de colocar a SUA VERSÃO do kernel, com o nome que você deu pra ele.
Rodando o comando e dando um novo “ls” você verá que os arquivos foram apagados:
Precisamos mudar de diretório primeiro:
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 26/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Comandos:
cd /lib/modules/
Primeiro mudamos para o diretório dos módulos, uma vez dentro dele, rodando o “ls” para
vermos o conteúdo novamente. Certamente você encontrará outro diretório com o nome
da sua compilação do kernel, no exemplo temos “4.12.0diocomp1”, temos de removê-lo
também:
rm -rf NOME_DO_SEU_KERNEL
rm -rf 4.12.0diocomp1/
Repare que diferente de quanto apagamos os arquivos no diretório /boot, aqui usamos
um parâmetro para o “rm”, o “-rf”, ele serve para apagar pastas e arquivos de forma
recursiva, se você usar apenas o “rm”, o comando não consiguirá apagar a pasta porque
ela não está vazia.
Se você der um novo “ls” depois de apagar a sua pasta, você verá que ela não existe mais.
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 27/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Comandos:
cd /var/lib/initramfs/
ou
cd /var/lib/initramfs-tools/
Aqui eu tive uma “surpresa”, da última vez que eu tinha compilado um kernel o diretório se
chamava apenas de “initramfs”, mas acabei descobrindo que ele ganhou um sufixo extra
“initramfs-tools”, não sei dizer quando isso mudou, mas pesquisando eu encontrei
referências de 2014/2015, também não sei dizer se isso é uma particularidade do Linux
Mint, que eu estou usando neste tutorial, de qualquer forma achei o diretório e você
também o achará.
Dentro dele você pode dar mais um “ls” para ver o há por ali, mais uma vez você deve
encontrar o seu kernel compilado, basta remover o arquivo como você fez com os
arquivos em /boot.
rm NOME_DO_SEU_KERNEL
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 28/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
No meu exemplo:
rm 4.12.0diocomp1
Depois, precisamos atualizar o GRUB novamente para que ele remova a entrada do kernel
compilado, caso contrário ao tentar iniciar o computador por ele você terá uma bela tela
de erro.
update-grub
Ao fazer a atualização do GRUB, repare que o kernel compilado sumiu das entradas. Ao
reiniciar você pode até olhar no GRUB para conferir que o kernel compilado não existe
mais.
Se tiver ainda dúvidas, ao chegar na sua área de trabalho consulte novamente via
terminal:
uname -r
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 29/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
Finalizando
Este é provavelmente um dos maiores tutoriais que eu já pude escrever aqui no blog e
também um dos assuntos mais “complexos” abordados. A maior parte das vezes que vi
tutoriais à respeito do assunto eles não eram tão “passo a passo” e raramente ensinavam
a remover o kernel compilado, espero que eu tenha conseguido cumprir o meu objetivo de
desmistificar um pouco essa questão e mostrar que não é tão complicado quanto a maior
parte das pessoas pensa.
Não precisa ser nenhum gênio para compilar um kernel, como você pôde ver, entretanto, a
parte diferencial pode ser a otimização para o seu hardware e neste caso você terá de
fazer um estudo particular sobre a sua situação e entender o que você pode alterar que
poderá te dar algum benefício.
Eu escrevi este artigo com muita dedicação e carinho, porém, ele não está isento de erros,
mesmo que eu tenha conferido algumas vezes todo o processo (em mais de uma distro),
caso você encontre erros de português, erros no processo da compilação ou tenha
sugestões, use os comentários para colaborar e engrandecer o material, certamente será
de grande ajuda.
Compartilhe para os seus amigos como forma de pagamento pelo conteúdo e até a
próxima! 🙂
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 30/35
😁
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
(https://diolinux.com.br/podcast/debugando-o-codigo-fonte-tv.html)
diocast(https://diolinux.com.br/podcast)
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 31/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
(https://bit.ly/KasmWorkspaces)
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 32/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
(https://diolinu Conheça uma boa fonte sobre média salarial de programadores no Brasil
(https://diolinux.com.br/video/fonte-media-salarial-de-programadores.html)
media-
09/05/2023
salarial-de-
Criador do blog e canal Diolinux, alguém que acredita em liberdade de
2696 escolha e é apaixonado por música e tecnologia.
postagens
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 33/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
artigos (https://diolinux.com.br/autor/diolinux)
Anterior
Próximo
Postagens relacionadas
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 34/35
13/05/2023, 06:56 Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO] - Diolinux
https://diolinux.com.br/sistemas-operacionais/como-compilar-um-kernel-linux-passo-a-passo.html 35/35