Estou usando o Centos 7 com o kernel 3.10 e tenho o hwclock e o chrony instalados e em execução. Está escrito que o relógio do sistema é definido a partir do relógio de hardware no tempo de inicialização. (aqui link )
“The other is the "system clock" (sometimes called the "kernel clock" or "software clock") which is a software counter based on the timer interrupt. It does not exist when the system is not running, so it has to be initialized from the RTC (or some other time source) at boot time.”
e que poderia ser definido pelo script de inicialização (que foi substituído pelo systemd) ou pelo próprio kernel (aqui link ):
“Typically the hardware clock is used to setup the system clock on boot. This can be done by the kernel itself or by a boot service (init script).”
Embora mais tarde seja mencionado que no kernel moderno (o artigo parece um pouco desatualizado) o Linux cuida disso (aqui link ).
“On a sufficiently modern kernel (3.9 or newer), Linux can be configured to handle setting the system time automatically.”
Eu verifiquei o arquivo / var / log / dmesg e este parece ser o meu caso, ou seja, o próprio kernel define o clock do sistema a partir do RTC na inicialização.
2.596137] rtc_cmos 00:00: setting system clock to 2018-05-08 14:49:58 UTC (1525790998)
Embora haja várias informações sobre o tempo de inicialização, encontrei muito poucas informações (e bastante controversas, como para mim) sobre o tempo de desligamento. Está escrito (aqui link ) que o relógio do sistema é ajustado de volta ao RTC no desligamento. Como no tempo do sistema de inicialização é definido pelo kernel eu imaginei que o kernel poderia ser responsável por definir a hora do sistema de volta ao RTC no desligamento, mas não conseguiu encontrar nenhuma informação sobre ele.
Então, minhas perguntas são: se o tempo é realmente definido do relógio do sistema para o RTC no desligamento ou pode haver algumas exceções para isso? (exceções talvez como a versão do kernel ou sinalizadores especiais) E se sim, quem é responsável por isso, pelo kernel ou por um script?
A propósito, eu li a pergunta Relação entre o relógio do hardware e o relógio do sistema , mas minha pergunta é um pouco mais específica e diferente.
// --------------------------------------------- -------------------------------------------------- ----------------- // Minha pergunta está em espera, por isso estou escrevendo aqui
de acordo com a discussão de bugs aqui (embora um pouco antiga) ( link ) O RTC está definido como tempo do sistema no desligamento de fato e isso é feito pelo kernel
hwclock --systohc used be called on every shutdown, but it's not anymore.
Reassigning to kernel.
Então, parece que as questões sobre a configuração dos valores de tempo do sistema para o RTC estão resolvidas.