De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Seu linux congela na hora de reiniciar?

Colaboração: Altemir Braz Dantas Junior

Data de Publicação: 07 de novembro de 2011

Esses dias me deparei com a seguinte situação, logo após todo processo de instalação do Debian quando a máquina ia rebootar ela congelou na seguinte tela.

"Restarting system"

Então tive que desligar e ligar a máquina no "DEDÃO"

Ao religá-la tentei reiniciar novamente.

  # reboot

E novamente nada ela me congelou a tela no "Restarting system". Como dou suporte remotamente e se por algum motivo eu tivesse que rebootar a máquina estaria perdido.

Então vamos em busca de uma solução.

Olhando no site http://www.kernel.org/doc/Documentation/kernel-parameters.txt procurando por opções no reboot achei a seguinte linha

  reboot=   [BUGS=X86-32,BUGS=ARM,BUGS=IA-64] Rebooting mode
            Format: < reboot_mode>[,< reboot_mode2>[,...]]
            See arch/*/kernel/reboot.c or arch/*/kernel/process.c

Então vi que a resposta poderia estar num desse dois arquivos **reboot.c* ou *process.c*

Então achei o seguinte site http://lxr.free-electrons.com/source/arch/x86/kernel/reboot.c e vi que poderia usar as seguintes opções

  /*   reboot=b[ios] | s[mp] | t[riple] | k[bd] | e[fi] [, [w]arm | [c]old] | p[ci]
     warm   Don't set the cold reboot flag
     cold   Set the cold reboot flag
     bios   Reboot by jumping through the BIOS (only for X86_32)
     smp    Reboot by executing reset on BSP or other CPU (only for X86_32)
     triple Force a triple fault (init)
     kbd    Use the keyboard controller. cold reset (default)
     acpi   Use the RESET_REG in the FADT
     efi    Use efi reset_system runtime service
     pci    Use the so-called "PCI reset register", CF9
     force  Avoid anything that could hang.
  */

Como o meu processador é 64 bits descartei de cara algumas das opções e meu teste era simplesmente alterar o no meu arquivo /boot/grub/grub.conf na linha do

  linux      /vmlinuz-2.6.32-5-amd64 root=UUID=6ff1ca81-c53e-4a3c-b273-9e9ad4c36a30 ro  quiet

eu apenas adicionava a opção de reboot=opcao, ficando assim

  linux      /vmlinuz-2.6.32-5-amd64 root=UUID=6ff1ca81-c53e-4a3c-b273-9e9ad4c36a30 ro  quiet reboot=pci

para ver a opção atual você pode usar o comando

  # cat /proc/cmdline
  BOOT_IMAGE=/vmlinuz-2.6.32-5-amd64 root=UUID=a01ba697-06ab-47ab-bbe2-e7e6a9c06724 ro quiet

Então eu desligava e ligava a máquina verificava se minha opção estava rodando o comando acima

  # cat /proc/cmdline
  BOOT_IMAGE=/vmlinuz-2.6.32-5-amd64 root=UUID=a01ba697-06ab-47ab-bbe2-e7e6a9c06724 ro quiet reboot=pci

Reiniciando ...

  # reboot

Para minha felicidade a opção reboot=pci funcionou belezinha

Para não ter problemas em futuras atualizações do kernel ou quando rodar o comando update-grub (pelo menos no Debian e distribuições derivadas) edite o arquivo /etc/default/grub:

  GRUB_CMDLINE_LINUX=""

e altere para

  GRUB_CMDLINE_LINUX="reboot=pci"

e rode o comando

  update-grub
Altemir Braz Dantas Junior (jocajuni) http://acessa.me/@joca, http://acessa.me - crie seu atendimento online gratuito

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Altemir Braz Dantas Junior