{"id":25914,"date":"2020-05-12T05:00:44","date_gmt":"2020-05-12T03:00:44","guid":{"rendered":"https:\/\/eltallerdelbit.com\/?p=25914"},"modified":"2020-09-02T10:57:05","modified_gmt":"2020-09-02T08:57:05","slug":"corregir-hora-fake-hwclock-raspberry","status":"publish","type":"post","link":"https:\/\/eltallerdelbit.com\/corregir-hora-fake-hwclock-raspberry\/","title":{"rendered":"Corregir hora del fake-hwclock de RaspberryPi"},"content":{"rendered":"

Es probable que te hayas dado cuenta de que la hora del reloj de hardware de Raspberry Pi<\/strong> (hwclock<\/em><\/strong>) no es la misma que la del reloj de software (date<\/em>). Vamos a ver c\u00f3mo ajustar a hora del reloj de hardware de Raspberry Pi<\/strong> (fake hwclock<\/em><\/strong>).<\/h2>\n

 
\n\"corregir
\n <\/p>\n

Revisando los logs<\/a> de syslog (var\/log\/syslog) en la Raspberry, hay algo que me llam\u00f3 la atenci\u00f3n. Se trataba del mensaje de advertencia:
\n 
\n“La \u00faltima hora de montaje del superbloque est\u00e1 en el futuro”.
\n <\/br><\/br>
\n#011(por menos de un d\u00eda, probablemente debido a que el reloj del hardware est\u00e1 mal puesto).
\n <\/p>\n

\r\nMay 3 02:17:51 Rasp systemd-fsck[126]: La \u00faltima hora de montaje del superbloque est\u00e1 en el futuro.\r\nMay 3 02:17:51 Rasp systemd-fsck[126]: #011(por menos de un d\u00eda, probablemente debido a que el reloj del hardware est\u00e1 mal puesto)\r\n<\/pre>\n

 <\/p>\n

\"corregir<\/p>\n

 <\/p>\n

 <\/p>\n

Comprobamos el desajuste horario entre el reloj de software y el reloj de gardware (fake-hwclock<\/em>):<\/p>\n

Hacemos un <\/p>\n

date<\/pre>\n

 <\/p>\n

y luego un <\/p>\n

cat \/etc\/fake-hwclock.data\r\n<\/pre>\n

 <\/p>\n

\"hora
\n <\/p>\n

 
\nNos percatamos f\u00e1cilmente de que la hora no es la misma. Parece que
la hora del fake-hwclock<\/em><\/strong> tiene un desajuste<\/a> de 2 horas menos que la hora real que nos muestra el reloj por software del sistema (date<\/em>).
\n 
\n
\n <\/p>\n

La Raspberry Pi no dispone de un reloj en tiempo real (RTC). Por eso existe fake-hwclock<\/em><\/strong><\/a>; se trata de un script que guarda la hora real y la carga al inicio.
\n <\/br><\/br>
\nLo que ocurre en este caso es que la hora de fake-hwclock usa la hora universal, mientras que podemos ver que nuestra hora real en este caso es una hora UTC, concretamente
CEST<\/a>, que es el horario de verano de Europa Central.<\/strong><\/p>\n

Lo que podemos hacer es una peque\u00f1a trampa al script de fake-hwclock<\/em><\/strong>. Le modificaremos un par\u00e1metro, para que no use la hora universal.
\n 
\nEditamos el fichero \/sbin\/fake-hwclock:<\/p>\n

sudo vi \/sbin\/fake-hwclock<\/pre>\n

 
\nen la l\u00ednea 30-37 (por ah\u00ed …), veremos lo siguiente:<\/p>\n

\r\ndate -u '+%Y-%m-%d %H:%M:%S' > $FILE\r\n<\/pre>\n

 <\/p>\n

Pues lo modificamos eliminando el -u,<\/p>\n

\"cambiar<\/p>\n

 <\/p>\n

que significa que usar\u00e1 el tiempo UTC (universal).<\/p>\n

\"date<\/p>\n

 
\n
\n <\/p>\n

Lo dejamos as\u00ed:<\/p>\n

\"fake-hwclock<\/p>\n

 <\/p>\n

Lanzamos el script que recoge la hora y la almacena en el reloj de hardware:<\/p>\n

sudo fake-hwclock<\/pre>\n

 <\/p>\n

y volvemos a comprobar la hora y fecha por software y la del reloj de hardware:<\/p>\n

date<\/pre>\n
cat \/etc\/fake-hwclock.data<\/pre>\n

 <\/p>\n

\"corregida
\n 
\n
\n <\/p>\n

 <\/p>\n

Y podemos comprobar que la hora por software (date<\/em>) y la hora de harware (fake-hwclock<\/em>) ya se encuentran sincronizadas<\/strong> en nuestra Raspberry Pi.<\/h3>\n

 <\/p>\n\n

<\/div>","protected":false},"excerpt":{"rendered":"

Es probable que te hayas dado cuenta de que la hora del reloj de hardware de Raspberry Pi (hwclock) no es la misma que la del reloj de software (date). Vamos a ver c\u00f3mo ajustar a hora del reloj de hardware de Raspberry Pi fake-hwclock.<\/p>\n","protected":false},"author":1,"featured_media":26051,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false},"categories":[1268],"tags":[1128],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/posts\/25914"}],"collection":[{"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/comments?post=25914"}],"version-history":[{"count":0,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/posts\/25914\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/media\/26051"}],"wp:attachment":[{"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/media?parent=25914"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/categories?post=25914"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/tags?post=25914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}