Systemd Boot novo kernel

 

Nessa matéria aprenda a adicionar novas entradas de kernel ao menu de boot do Systemd.

Systemd Boot novo kernel


O systemd-boot, anteriormente chamado de gummiboot, é um gerenciador de inicialização UEFI fácil de configurar. Ele fornece um menu de texto para selecionar a entrada de inicialização e um editor para a linha de comando do kernel. Ele está incluído no systemd. 

OBS:O systemd-boot só pode iniciar executáveis EFI (por exemplo, o kernel do Linux EFISTUB, UEFI shell, GRUB ou Windows Boot Manager).

Exemplos para Arch Linux mas tirando a instalação do Kernel o restante se aplica a todas as distribuições.

Nessa matéria irei mostrar como adicionar entradas novas de kernels ao systemd-boot, ao instalar uma distribuição que utiliza esse gerenciador de boot você tem algo como a imagem com um único kernel.

 

Supondo que você queira instalar um kernel com características diferentes, como os exemplos no Arch Linux.

Stable — Kernel e módulos Vanilla Linux, com alguns patches aplicados. 

  • É o kernel padrão para quem não precisa de muita segurança e ou maior desempenho.

Hardened — Um kernel Linux focado na segurança que aplica um conjunto de patches rígidos para mitigar as explorações do kernel e do espaço do usuário. Ele também permite mais recursos de fortalecimento do kernel upstream. 

Destinado a quem busca e precisa de segurança extrema.

Longterm — Kernel e módulos Linux de suporte a longo prazo (LTS). 

  • O LTS é pra quem necessita de tempo maior de suporte por não poder ou querer ficar alterando o kernel em períodos curtos.

Zen Kernel — Resultado de um esforço colaborativo de hackers do kernel para fornecer o melhor kernel Linux possível para os sistemas do dia a dia.

  • Kernel ideal para quem precisa de desempenho maior para Games, aplicativos para áudio, vídeo e imagens.

Nesse exemplo irei instalar o Linux-Zen

sudo pacman -S linux-zen linux-zen-headers

 Ao final da instalação do novo kernel as novas imagens de boot são criadas.

Ao rodar o comando para listar as entradas do gerenciador de boot, não temos o novo kernel.


A entrada deve ser criada manualmente ( ao menos não encontrei uma forma mais simples ).

A entrada padrão está em /boot/loader/entries/.

ls /boot/loader/entries/


Para facilitar e agilizar a criação da nova entrada, faça uma cópia da original já com o nome da nova. Altere "2023-01-26_12-34-32_linux.conf" para o seu caso.

Log com o Root

su

cp /boot/loader/entries/2023-01-26_12-34-32_linux.conf /boot/loader/entries/linux-zen.conf
Agora temos duas entradas.


Abra a nova entrada para edição.

nano /boot/loader/entries/linux-zen.conf

Você deve altera apenas.

  • title- de um condizente ao novo kernel
  • linux - vmlinuz do novo kernel, pode ver o nome correto em /boot
  • initrd- initramfs do novo kernel, pode ver o nome correto em /boot

ls /boot

Nesse exemplo ficou assim.

Feita a alteração salve teclando Ctrl +x tecle s e tecle Enter para fechar o nano.

Liste as entradas de boot.

bootctl list

A nossa nova entrada está listada

Para definir o novo kernel como o padrão do boot execute. (Altere linux-zen.conf para a id: no seu caso )

bootctl set-default linux-zen.conf
Liste novamente as entradas.

bootctl list

Agora o seu novo kernel é o padrão para o boot.

 


Reinicie o computador e confira o novo kernel no menu de boot.

Kernel zen carregado.

Caso queira alterar o tempo de exibição no menu de boot use a sintaxe.

bootctl set-timeout "tempo em segundos"

Exemplo para 10 segundos

sudo bootctl set-timeout 10

Caso não queira que o menu seja exibido no boot, basta setar o tempo para zero.

sudo bootctl set-timeout 0




Comentários

  1. Sensacional. Tem pouco conteúdo sobre o systemd-boot em Português.

    ResponderExcluir

Postar um comentário

olá, seja bem vindo ao Linux Dicas e suporte !!

Você precisa ver isso

Todos os arquivos do blog

Mostrar mais