Como faço para redefinir o watchdog do meu dispositivo Linux incorporado

5

Existe um comando como

vi > out
vi | out

Que eu poderia usar para causar uma reinicialização watchdog do meu dispositivo Linux incorporado?

    
por abc 24.09.2011 / 03:40

2 respostas

13

Se você tiver um watchdog em seu sistema e um driver que usa /dev/watchdog , tudo o que você precisa fazer é eliminar o processo que está sendo alimentado; se não houver esse processo, você poderá usar touch /dev/watchdog uma vez para ativá-lo e, se você não tocá-lo novamente, ele será redefinido.

Você também pode estar interessado em redefinir o dispositivo usando o modo "magic sysrq". Se você tem um kernel com o recurso CONFIG_MAGIC_SYSRQ compilado, então você pode echo 1 > /proc/sys/kernel/sysrq habilitá-lo, então echo b > /proc/sysrq-trigger para reinicializar. Quando você faz isso, ele reinicia imediatamente, sem desmontar ou sincronizar sistemas de arquivos.

    
por 24.09.2011 / 05:06
6

Se você acha que o watchdog está funcionando OK e quer testar se ele realmente é capaz de recuperar um sistema com falha, então você pode fazer uma melhor que a resposta de Shawn usando o "magic sysrq" para travar o sistema com um kernel pânico. Sincronizar seu sistema de arquivos primeiro é uma boa idéia, então faça algo assim como root:

sync; sleep 2; sync; echo c > /proc/sysrq-trigger

Isso deve causar um kernel panic se o sysrq estiver ativado. Então, se você esperar cerca de 60 segundos (tempo limite típico para o módulo watchdog), deverá ver a máquina reinicializar. Por favor, note que isso só funcionará com watchdog de hardware e não com o módulo 'softdog'.

    
por 04.09.2013 / 18:45