Blog Linux Avante

2 utilitários para instalar o kernel mais recente no Ubuntu ou Linux Mint (GUI e linha de comando)

17 de abril de 2020

Logotipo do Linux Tux

Depois que uma versão regular do Ubuntu é lançada, geralmente não recebe novas atualizações principais da versão do kernel. Para versões LTS, como o Ubuntu 18.04, existem LTS Enablement Stacks que fornecem kernel mais recentes e atualizações Xorg, mas leva um tempo até que sejam lançadas.

Por exemplo, Ubuntu 18.04 deve receber um kernel atualizado por volta de fevereiro de 2019.

Se você deseja instalar um kernel mais recente do que o disponível no Ubuntu por motivos como algum novo recurso importante, melhor suporte de hardware, ou no caso de corrigir algum problema crítico que você está tendo com o kernel padrão do Ubuntu, como algum dispositivo não funcionando, você pode usar o Mainline Kernel PPA.

Este não é um PPA real que você pode adicionar ao seu sistema como um PPA do Launchpad e, em vez disso, você precisa baixar e instalar manualmente os pacotes DEB. Para tornar este processo mais fácil e opcionalmente ser notificado quando novos kernels estiverem disponíveis no Mainline PPA, existem várias ferramentas que você pode usar, e este artigo apresenta duas dessas ferramentas, uma que usa uma interface gráfica de usuário e outra que pode ser usada da linha de comando. Ambos os utilitários oferecem suporte não apenas ao Ubuntu, mas também a distribuições Linux baseadas no Ubuntu, como o Linux Mint.

Neste artigo:

AVISO - Leia antes de atualizar o kernel

Antes de instalar qualquer coisa, você deve saber que geralmente não é uma boa idéia instalar um kernel mainline em sua máquina Ubuntu. Esses kernels são construídos a partir das fontes Linux mais recentes, sem nenhum patch do Ubuntu ou qualquer outra modificação, e não são suportados.

Além do mais, a instalação de um kernel do Mainline Kernel PPA geralmente interrompe os drivers proprietários ou módulos fora da árvore, como os drivers gráficos proprietários da Nvidia, drivers wireless Broadcom, módulo dkms do VirtualBox e assim por diante. Como resultado, seu computador pode inicializar com uma tela preta, você pode experimentar congelamentos aleatórios e/ou seu WiFi pode não estar funcionando após a instalação e inicialização de um kernel principal.

Por exemplo, instalei o Linux 4.19 mais recente enquanto tinha os drivers gráficos Nvidia 396.54 instalados, e o módulo Nvidia falhou na construção. Felizmente, o Nvidia Graphics PPA tem uma versão de drivers mais recente que suporta Linux 4.19 - Nvidia 410, então instalei para resolver o problema. Mas se a Nvidia 410 não tivesse sido lançada ou se minha placa de vídeo não suportasse a versão mais recente dos drivers do PPA, meu computador teria inicializado com uma tela preta usando o kernel 4.19 (ou eu teria que remover os drivers proprietários da Nvidia e use o Nouveau).

Dito isso, use essas ferramentas para instalar o kernel mais recente do Ubuntu Kernel PPA por sua própria conta e risco!

Atualize o kernel no Ubuntu ou Linux Mint usando um utilitário GUI chamado Mainline

Ubuntu Mainline Kernel Installer

[[Atualização:] Ukuu, ou Utilitário de atualização do kernel do Ubuntu, não é mais gratuito, então substituí-o neste artigo por Mainline, uma continuação do Ukuu que é gratuito.

Mainline (ou "Ubuntu Mainline Kernel Installer" é uma ferramenta para instalar o kernel mainline mais recente em distribuições baseadas no Ubuntu.

O aplicativo exibe a lista de kernels disponíveis no Ubuntu Mainline Kernel PPA, permitindo aos usuários baixar e instalar facilmente a versão desejada. Usando-o, você também pode remover um kernel principal instalado usando esse utilitário, bem como ver as mudanças em uma versão do kernel.

Ele também pode exibir notificações quando novos kernels estão disponíveis e pode alterar o tempo limite do menu GRUB em suas configurações, útil no caso de você querer usar um kernel antigo no caso de haver um problema com um kernel recém-instalado.

Mainline pode ser baixado de sua página de projeto, ou pode ser instalado usando um PPA:

Comandos para usar no terminal

sudo apt-add-repository -y ppa:cappelikan/ppa

sudo apt update

sudo apt install mainline

Agora você pode iniciar o Mainline, selecione a versão do Linux que deseja instalar e clique no botão Install. Uma nova janela aparecerá, exibindo o que está acontecendo nos bastidores, como baixar os debs do kernel e instalá-los:

Instalando o kernel mainline mais recente no Ubuntu Linux

Atualize o kernel no Ubuntu ou Linux Mint a partir da linha de comando usando ubuntu-mainline-kernel.sh

ubuntu-mainline-kernel.sh é um script Bash para instalar facilmente kernels do kernel PPA do Ubuntu.

A ferramenta de linha de comando também permite remover kernels instalados do kernel do Ubuntu PPA, pode verificar se uma versão de kernel mais recente está disponível, listar versões de kernel instaladas localmente e pesquisar e listar versões de kernel disponíveis. Também só pode baixar os arquivos deb, sem instalá-los.

Além do mais, em comparação com Ukuu, esta ferramenta de console também permite instalar a versão de baixa latência (isso reduz a latência e é útil, por exemplo, para gravação de áudio, mas sacrifica a economia de energia) do kernel, disponível para amd64 e i386, bem como instala o kernel Large Physical Address Extension, que está disponível apenas para armhf.

Como regra geral, recomendo verificar o código usado neste script e quaisquer outros scripts que você executa em seu sistema, e apenas executá-los se você tiver pelo menos algum conhecimento básico do que eles fazem.

Você pode instalar o script ubuntu-mainline-kernel.sh em /usr/local/bin/ usando estes comandos:

Comandos para usar no terminal

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh

sudo install ubuntu-mainline-kernel.sh /usr/local/bin/

O projeto ubuntu-mainline-kernel.sh também inclui um arquivo da área de trabalho que você pode adicionar na inicialização, para verificar automaticamente se há uma nova versão do kernel ao fazer o login. Isso é opcional e se você quiser esse recurso, pode instalá-lo usando estes comandos (libnotify-bin é necessário para mostrar notificações na área de trabalho quando uma nova versão estiver disponível):

Comandos para usar no terminal

sudo apt install libnotify-bin

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/UbuntuMainlineKernel.desktop

mv UbuntuMainlineKernel.desktop ~/.config/autostart/

Agora você pode começar a usar ubuntu-mainline-kernel.sh. Verifique a versão do kernel mais recente disponível no PPA do kernel Ubuntu usando -c:

Comandos para usar no terminal

ubuntu-mainline-kernel.sh -c

Para instalar uma versão do kernel, use -i version, por exemplo -i 4.9, assim:

Comandos para usar no terminal

sudo ubuntu-mainline-kernel.sh -i 4.9

Ou use simplesmente -i para instalar a versão mais recente disponível. É assim que parece:

$ sudo ubuntu-mainline-kernel.sh -i
Finding latest version available on kernel.ubuntu.com
Latest version is: v4.19.0, continue? (y/N)
Will download 6 files from kernel.ubuntu.com:
Downloading CHECKSUMS: 100%   
Downloading CHECKSUMS.gpg: 100%   
Downloading linux-headers-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb: 100%   
Downloading linux-headers-4.19.0-041900_4.19.0-041900.201810221809_all.deb: 100%   
Downloading linux-image-unsigned-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb: 100%   
Downloading linux-modules-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb: 100%   
Signature of checksum file has been succesfully verified
Checksums of deb files have been succesfully verified with sha256sum
Installing 4 packages
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.19.0-041900-generic
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.19.0-041900-generic
Found initrd image: /boot/initrd.img-4.19.0-041900-generic
Found linux image: /boot/vmlinuz-4.18.0-10-generic
Found initrd image: /boot/initrd.img-4.18.0-10-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
Cleaning up work folder

Todas as opções disponíveis:

ubuntu-mainline-kernel.sh -h
Usage: /usr/local/bin/ubuntu-mainline-kernel.sh -c|-l|-r|-u

Download & install the latest kernel available from kernel.ubuntu.com

Arguments:
  -c               Check if a newer kernel version is available
  -i [VERSION]     Install kernel VERSION, see -l for list. You dont have to prefix
                   with v. E.g. -i 4.9 is the same as -i v4.9. If version is
                   omitted the latest available version will be installed
  -l [SEARCH]      List locally installedkernel versions. If an argument to this
                   option is supplied it will search for that
  -r [SEARCH]      List available kernel versions. If an argument to this option
                   is supplied it will search for that
  -u [VERSION]     Uninstall the specified kernel version. If version is omitted,
                   a list of max 10 installed kernel versions is displayed
  -h               Show this message

Optional:
  -s, --signed         Only install signed kernel packages (not implemented)
  -p, --path DIR       The working directory, .deb files will be downloaded into
                       this folder. If omitted, the folder /tmp/ubuntu-mainline-kernel.sh/
                       is used. Path is relative from $PWD
  -ll, --low-latency   Use the low-latency version of the kernel, only for amd64 & i386
  -lpae, --lpae        Use the Large Physical Address Extension kernel, only for armhf
  -do, --download-only Only download the deb files, do not install them
  -ns, --no-signature  Do not check the gpg signature of the checksums file
  -nc, --no-checksum   Do not check the sha checksums of the .deb files
  -d, --debug          Show debug information, all internal command\'s echo their output
  --rc                 Also include release candidates
  --yes                Assume yes on all questions (use with caution!)

Como recuperar de uma instalação de kernel quebrada

Caso seu computador inicialize com uma tela preta, congela ou algo não está funcionando após a atualização do kernel, reinicie e selecione Opções avançadas para Ubuntu no menu GRUB:

Menu Ubuntu Grub2

Em seguida, selecione a versão anterior do kernel e pressione Enter:

Não importa o motivo, você precisará inicializar com uma versão anterior do kernel se quiser desinstalar o kernel mais recente. Isso porque você não pode remover um kernel que está em uso.

Caso você não consiga ver o menu GRUB2, pressione e segure a tecla Shift ou pressione a tecla Esc repetidamente (isso pode variar dependendo da inicialização do BIOS ou UEFI e da versão do Ubuntu/Linux Mint que você está usando) quando o GRUB for carregado. O menu Grub deve aparecer, permitindo que você selecione a versão anterior do kernel.

Como uma observação lateral, Ukuu pode definir o menu GRUB para ser exibido durante a inicialização sem ter que pressionar nenhuma tecla, definindo o tempo limite do menu GRUB em suas configurações.

Após inicializar no kernel anterior, você pode remover o kernel defeituoso. Ukuu e ubuntu-mainline-kernel.sh permitem a remoção de kernels instalados do PPA de kernel do Ubuntu.

Para remover um kernel usando Ukuu, selecione a versão do Linux que você deseja remover e clique no botão Remove.

Com ubuntu-mainline-kernel.sh, você pode desinstalar uma versão do kernel executando:

Comandos para usar no terminal

ubuntu-mainline-kernel.sh -u VERSAO

Onde versão é a versão do kernel, por exemplo 4,9. Você também pode executá-lo com -u sem especificar uma versão; nesse caso, a ferramenta listará até 10 versões do kernel e perguntará qual você gostaria de remover. É importante notar que ubuntu-mainline-kernel.sh não lista os kernels oficiais do Ubuntu.

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.
Propaganda