Trocando a versão do kernel Linux por outra mais antiga ou mais nova pode ser a solução para os mais diversos problemas de hardware e compatibilidade!
| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. Mais detalhes clicando aqui.
Introdução
Como já explicado neste post, o Kernel Linux é basicamente a peça chave que comunica Hardware e Software; E tal qual, trás consigo centenas de módulos (drivers) para todo tipo de periférico ou dispositivo de interface humana, por isso é tão dinâmico e compatível com tantos hardwares. Mas nem sempre isso acontece e se seu Bluetooth não funciona corretamente ou seu Wifi fica oscilando e desconectando demais, caso seu driver de vídeo AMD ou Intel tenha problemas, isso tudo pode ser causado por driver incorreto que pode ser corrigido trocando a versão do kernel.
Antes de prosseguir com este tutorial, verifique que:
- Este tutorial é voltado aos usuários de Ubuntu, Debian, LinuxMint ou Similares.
- Os usuários de Fedora, OpenSUSE e ArchLinux devem verificar a disponibilidade do pacote do novo kernel em seus repositórios. Para instalar, troque apt por dnf ou yum.
- Não precisa ser familiarizado em fazer comandos no Terminal, mas estar atento ao que está fazendo é vital.
- Todos os comandos são facilmente reversíveis, você não vai quebrar seu sistema por faze-los! – Basta ficar atento ao tutorial.
- Esteja igualmente atento que, sua máquina ser nova não significa plenamente compatível, esteja pronto para reverter as mudanças aos primeiros sinais de problemas.
1. Download
A fonte de todos os kerneis em .deb é esta, compilados pela Canonical. Não possuem nada de diferente de outros compilados do .tar.gz original em kernel.org. Existem sim alguns blobs da Canonical mas eles não vão causar problemas ou lentidão no PC.
Faça o comando $ uname -a
assim você verá qual seu atual kernel.
- Se você está usando por exemplo o 4.10 e seu hardware é mais moderno, como um Core i5, pode atualizar para o 4.19.x LTS ou mesmo o recém lançado 5.2.
- Já se você pegou o Ubuntu 18.04 (kernel 5.0) e seu PC é mais antigo, ficando com problemas de audio/video ou mesmo outros drivers, então fazer um downgrade é melhor nesse caso. Pegue um 4.19 ou 4.14.
Não importando sua escolha, ao escolher a versão no link da fonte acima, você estará numa tela cheia de links.
Clique na versão do Kernel de sua escolha. No nosso exemplo, cliquei no 4.19.74, que até a data desta postagem é o mais atual da linha LTS. Para checar se um kernel é LTS, visite kernel.org!
Agora, você verá um conjunto de links para cada arquitetura.
Para a maioria, será AMD64, será o primeiro grupo de links após a linha:
Build for amd64 succeeded (see BUILD.LOG.amd64):
Você terá á mão estes links.
- Caso deseje o kernel Normal, a maioria dos usuários, baixe somente os em negrito, sem o “lowlatency” no nome:
Build for amd64 succeeded (see BUILD.LOG.amd64):
linux-headers-4.19.74-041974_4.19.74-041974.201909190833_all.deb
linux-headers-4.19.74-041974-generic_4.19.74-041974.201909190833_amd64.deb
linux-headers-4.19.74-041974-lowlatency_4.19.74-041974.201909190833_amd64.deb
linux-image-unsigned-4.19.74-041974-generic_4.19.74-041974.201909190833_amd64.deb
linux-image-unsigned-4.19.74-041974-lowlatency_4.19.74-041974.201909190833_amd64.deb
linux-modules-4.19.74-041974-generic_4.19.74-041974.201909190833_amd64.deb
linux-modules-4.19.74-041974-lowlatency_4.19.74-041974.201909190833_amd64.deb
- Caso deseje o kernel Low Latency (Músicos e quem trabalha com edição de vídeo), baixe somente os em negrito, com o “lowlatency” no nome.
Build for amd64 succeeded (see BUILD.LOG.amd64):
linux-headers-4.19.74-041974_4.19.74-041974.201909190833_all.deb
linux-headers-4.19.74-041974-generic_4.19.74-041974.201909190833_amd64.deb
linux-headers-4.19.74-041974-lowlatency_4.19.74-041974.201909190833_amd64.deb
linux-image-unsigned-4.19.74-041974-generic_4.19.74-041974.201909190833_amd64.deb
linux-image-unsigned-4.19.74-041974-lowlatency_4.19.74-041974.201909190833_amd64.deb
linux-modules-4.19.74-041974-generic_4.19.74-041974.201909190833_amd64.deb
linux-modules-4.19.74-041974-lowlatency_4.19.74-041974.201909190833_amd64.deb
OBS: Somente o primeiro pacote não tem “low latency” no nome. Note que tanto o kernel Generic quanto o Low Latency usam o mesmo pacote “linux-headers-4.19.74-041974_4.19.74-041974.201909190833_all.deb”.
Isso é um padrão do kernel.
O kernel Low Latency é de baixa latência, ou seja, para processos que exigem tempo próximo do real de execução. Ele é voltado a quem usa por exemplo o UbuntuStudio e edita vídeos ou audios.
Para o usuário comum, ele não melhora games ou usabilidade, pode na verdade prejudicar o sistema todo causando delay, gargalos de acesso; a CPU dando prioridade a processos originalmente não prioritários e outros ficando na fila para isso. É uma escolha ruim no aspecto genérico.
2. Instalação
Baixe os 4 arquivos .deb para uma pasta. Aqui, chamei a pasta de “kernel”.
$ mkdir /home/$USER/kernel
Cole os 4 .debs nessa pasta.
Instale-os com:
$ sudo dpkg -i /home/$USER/kernel/*.deb
OBS: Usuários do Fedora, ArchLinux e OpenSUSE poderão baixar direto do repositório padrão e poderão fazer estes mesmos procedimentos via dnf ou yum. Porém nem todos os kerneis estão disponíveis no repositório!
- Reinicie seu computador.
3. Testando
Se:
- O número do novo kernel for MAIOR que o anterior, a troca será automática!
- O número do novo kernel for MENOR que o anterior, você deve abrir seu menu do GRUB e selecioná-lo manualmente. Isso permitirá ir do 4.19 para o 4.14 ou 4.9, por exemplo.
No momento em que o PC iniciar, segure Shift na hora que aparecer a tela cinza (Delete caso você use Linux num Macbook). No menu de opções que aparecer, escolha “Opções Avançadas do Ubuntu” e dê Enter sobre o kernel anterior ao que estava instalado em seu PC.
Ao voltar do reinício, verifique se está tudo em ordem:
O comando:
$ uname -a
Exibirá a versão atualmente em execução no seu sistema.
Teste os periféricos (webcam e som), atalhos de teclado (botão de ajuste de som e brilho da tela em notebooks), acesso e estabilidade do Wifi ou Bluetooth (se estavam com problemas, veja se resolveu! Se estavam funcionando bem, veja se continuam funcionando bem) e veja se você ganhou ou perdeu desempenho em seus games.
OBS: O VirtualBox ainda não acompanhou o lançamento do Kernel 5.3 e portanto NÃO funciona nele! Aguarde alguns dias até sair uma atualização ou continue usando o kernel anterior para manter o suporte ao programa.
Outros programas que exigem compilação em tempo real, erros semelhantes de compatibilidade podem ocorrer. Aguarde o lançamento de atualizações para seus programas nos próximos dias.
Pelo comando:
$ inxi -b
Você pode verificar qual a versão do módulo GLX e MESA foi instalado. Se você tiver numa versão superior á do kernel anterior, então você poderá ganhar desempenho nos games (GLX seria o OpenGL e MESA é da GPU).
Também há uma chance disso não mudar nada e tudo se manter igual!
Caso esteja tudo em ordem, parabéns, você atualizou seu Kernel para a versão mais recente e foi tudo perfeito.
3.1 Drivers
A maioria das trocas de kernel efetua a compilação de drivers herdando os anteriormente instalados. Portanto se você possuía os módulos do VirtualBox, NVIDIA, AMD Proprietária, r8168 ou outros, eles serão re-compilados e instalados no novo kernel.
Caso aja alguma incompatibilidade, a herança de driver falhou. Nesse caso o ideal é entrar no kernel antigo, remover os módulos instalados, entrar no kernel novo e assim reinstalá-los.
Não é a medida mais simples e bela mas há uma garantia maior de contornar problemas que podem ocorrer numa troca de kernel.
4. Revertendo
Caso você tenha problemas, por exemplo, um game perdeu desempenho, um atalho de função do teclado do seu notebook parou de funcionar ou o Wifi ficou louco, então considere remover o kernel novo e continuar com o anterior.
Para isso, faça:
- Reinicie seu PC
- No momento em que o PC iniciar, segure Shift na hora que aparecer a tela cinza (Delete caso você use Linux num Macbook). No menu de opções que aparecer, escolha “Opções Avançadas do Ubuntu” e dê Enter sobre o kernel anterior ao que estava instalado em seu PC.
Lembrando que, para reverter, será ao contrário:
- Se o número do novo kernel novo for MAIOR que o anterior, você deve abrir seu menu do GRUB e selecioná-lo manualmente. Isso permitirá ir do 4.19 para o 4.14 ou 4.9, por exemplo.
No momento em que o PC iniciar, segure Shift na hora que aparecer a tela cinza (Delete caso você use Linux num Macbook). No menu de opções que aparecer, escolha “Opções Avançadas do Ubuntu” e dê Enter sobre o kernel anterior ao que estava instalado em seu PC. - Se o número do novo kernel for MENOR que o anterior, a troca será automática ao reiniciar!
Ao término do comando, você já estará livre do kernel novo do nosso exemplo e seu PC voltará ao que era antes da atualização. Usuários do Fedora, Arch e demais, poderão repetir o comando trocando apt pelo dnf ou pelo yum.
5. Desinstalando
Poderá remover o kernel anterior com os seguintes comandos:
$ sudo apt purge linux-
Aperte TAB 2x para auto completar.
Selecione, copie e cole os nomes dos pacotes do kernel com a numeração que você deseja remover.
Após isso, copiando com CTRL+SHIFT+C e colando com CTRL+SHIFT+V, dê Enter.
Vamos supor que quero remover o kernel 4.19.65. Ficaria assim:
$ sudo apt purge linux-headers-4.19.65-041965 linux-headers-4.19.65-041965 linux-image-unsigned-4.19.65-041965-generic linux-modules-4.19.65-041965-generic
Ao finalizar, reinicie seu PC. Você estará novamente no kernel anteriormente selecionado.
5. Conclusão
A vantagem de trocar de kernel, seria pela estabilidade e otimização geral; novos kerneis possuem melhores Governadores de CPU que permitem você usar seu notebook economizando mais bateria.
Novos kerneis também possuem melhor suporte a gestão do sistema de arquivos BtrFS, EXT4 e outros, para otimizar mais a utilização do disco e evitar qualquer problema futuro com relação á bugs ou falhas. Também terá as correções de segurança mais recentes, entre outros.
A troca será pertinente e variará de usuário para usuário.
#UrbanCompassPony
Autodidata, me aprofundei em sistemas operacionais baseados em UNIX®, principalmente Linux. Também procuro trazer assuntos correlacionados direta ou indiretamente, como automação, robótica e embarcados.