Gerenciamento de RTC em ambientes de desktop e embarcados

0

Ao trabalhar em um ambiente embarcado (atual: Raspberry Pi com Debian Stretch) com um módulo RTC externo (ou seja, DS1307) eu tenho que manter manualmente sincronizado o clock do sistema e do RTC.

Isto pode ser alcançado periodicamente chamando hwclock -w - colocando-o em um cron job por exemplo.

Estou curioso em saber como os sistemas de desktop lidam com essa situação. Inspetindo as tarefas do cron na minha máquina desktop Debian, parece que não há nada relacionado ao RTC (embora possa estar "escondido" em algumas outras tarefas).

Então, como o RTC é mantido em sincronia com o relógio do sistema?

    
por Mark 23.08.2017 / 13:42

1 resposta

2

Em plataformas incorporadas como o Pi que não vêm com um RTC, o pacote adjtimex normalmente não é instalado por padrão. Esta é a ferramenta que gerencia a configuração RTC dos kernels, e o padrão é configurar o kernel para manter o relógio hw sincronizado com o clock do sistema.

Note que se você usar o hwclock ou similar, ele desativará a sincronização do kernel e você precisará usar o adjtimex para reativá-lo novamente.

adjtimex é uma solução para máquinas com conectividade intermitente ou sem conectividade para sincronização de horário. A outra opção é usar ntpd , que pode ser configurado para manter o relógio do sistema correto e, no desligamento, um script chama hwclock --systortc para gravar o último relógio mais correto no hwclock.

    
por 23.08.2017 / 18:01