Fazendo com que o GRUB utilize um kernel específico uma vez ao dar boot

Cenário

Essa situação é interessante quando foi compilado um novo kernel e se está com acesso remoto ao servidor, ou seja, mandar um reboot remotamente com um novo kernel, muita coisa pode acontecer, e o mínimo é perder a conexão.

Para essas situações tem como fazer com que o GRUB utilize um kernel em específico apenas uma vez, e em caso de Kernel Panic o servidor será resetado e o kernel original será utilizado, voltando assim o acesso remoto para serem feitas as alterações necessárias.

Preparando o ambiente

É importante também definir os seguinte parâmetros de kernel:

kernel.panic = 5
kernel.panic_on_oops = 1

A primeira linha significa que o computador será “resetado” após 5 segundo de Panic e a segunda linha informa que será gerado um Kernel Panic em qualquer evento de estouro de memória e afins.

Adicione as duas linhas anteriores no arquivo /etc/sysctl.conf e após isso, execute o comando

 sysctl -p

Lidando com o GRUB

Como root execute

grub --batch
grub> savedefault --default=1 --once
grub> quit

Fará com que o GRUB ignore uma única vez os parâmetros ‘default’ e ‘timeout’ do grub.conf e nessa inicialização utilizará o kernel ‘1’ do GRUB, no boot seguinte será utilizado o arquivo grub.conf normalmente.

Share this post

Join the conversation