Nem todas as distribuições Linux usam o GRUB como carregador de inicialização do sistema, o Pop! OS por exemplo usa no lugar do GRUB o bootctl do systemd, principalmente quando você instala o sistema em modo UEFI.
Enquanto no GRUB editamos o arquivo /etc/default/grub, adicionamos parâmetros do kernel e então usamos o comando update-grub no terminal, com o bootctl o processo é diferente.
Nesse artigo de hoje eu vou mostrar pra vocês como se faz para editar e adicionar parâmetros de kernel em distros que usam o bootctl, como é o caso do Pop OS.
Adicionar parâmetros no kernel permitem inicializar módulos específicos, no meu caso eu uso dois, um que me permite limitar o nivel C-State da CPU e outro que força a ativação do módulo DRM, da minha placa de vídeo Nvidia.
Criando uma nova entrada no bootctl
Por exemplo no Pop OS, que usa o bootctl, vamos precisar mexer com dois arquivos: loader.conf e Pop_OS-current.conf
- Abra o arquivo loader.conf, o local dele é /boot/efi/loader/loader.conf
- Substitua a linha “default Pop_OS-current” por “default Pop_OS-custom”
- Salve o arquivo.
Agora vamos precisar criar uma cópia do arquivo Pop_OS-current.conf e depois mudar o nome do arquivo
- Vá para diretório /boot/efi/loader/entries/
- Faça uma cópia do arquivo Pop_OS-current.conf, você pode fazer isso usando Ctrl + C e Ctrl + V.
- Depois disso mude o nome desse arquivo para Pop_OS-custom.conf
- Abra o arquivo Pop_OS-custom.conf
Ao abrir o arquivo você verá algo mais ou menos assim:
title Pop!_OS linux /EFI/Pop_OS-5b86ca34-a90e-4394-8049-c81207d92cf7/vmlinuz.efi initrd /EFI/Pop_OS-5b86ca34-a90e-4394-8049-c81207d92cf7/initrd.img options root=UUID=5b86ca34-a90e-4394-8049-c81207d92cf7 ro quiet loglevel=0 systemd.show_status=false splash
Para adicionar parametros de kernel é só acrescentar eles após a ultima parte da linha options, veja como fica no meu caso:
title Pop!_OS linux /EFI/Pop_OS-5b86ca34-a90e-4394-8049-c81207d92cf7/vmlinuz.efi initrd /EFI/Pop_OS-5b86ca34-a90e-4394-8049-c81207d92cf7/initrd.img options root=UUID=5b86ca34-a90e-4394-8049-c81207d92cf7 ro quiet loglevel=0 systemd.show_status=false splash intel_idle.max_cstate=2 nvidia-drm.modeset=1
O que eu fiz foi colocar opçãos adicionais no final da linha options, que no caso foi intel_idle.max_cstate=2
e nvidia-drm.modeset=1
Pronto, na proxima vez que você reiniciar o sistema, os parametros serão carregados junto com o Linux.
Nota: Você não deve editar o proprio arquivo Pop_OS-current.conf pois ele é “resetado” toda vez que o kernel é atualizado, ou quando o sistema roda o update-initramfs. É por isso que precisamos criar uma cópia dele com outro nome.
Bom pessoal, acredito que seja apenas isso mas se você encontrar algum problema ou queira colaborar com o artigo é só deixar o seu comentário, até a próxima e um bom 2023 a todos.