[Résolu]: décalage horloge hwclock echec au bout sur amd64

Au boot présence de deux warnings sur hwclock /dev/rtc non présent,
sur lenny kernel 2.6.26-2-amd64.
L’horloge sytème avance d’une heure et aucun moyen de la mettre à l’heure par hwclock

La résolution n’est pas facile pour un débutant en voici le principe.

Il faut recompiler le noyau en déselectionnant (par make menuconfig):
Device Drivers —>
< > Real Time Clock —>
et en sélectionnant à la place:
Device Drivers —>
Character devices —>
Enhanced Real Time Clock Support (legacy PC RTC driver)
Generic /dev/rtc emulation
[*] Extended RTC operation

C’est pour avoir le module genrtc

Charger genrtc dans le kernel au boot:
echo “genrtc” >>/etc/modules

Changer l’ordre d’éxécution de module-init-tools (avant hwclock):
cd /etc/rcS.d/
mv S20module-init-tools S07module-init-tools

Guide des commandes a passer en étant root:

cd /usr/src
tar jxvf linux-source-2.6.26.tar.bz2
ln -s /usr/src/linux-source-2.6.26 linux
cd /usr/src/linux
vi Makefile et mettre à jour EXTRAVERSION = -Avatar (par exemple !) :smiley:
cp /boot/save/config-2.6.26-2-amd64 .config
make oldconfig
make menuconfig
make (ou make -j 20)
make modules_install
make install
update-initramfs -c -k 2.6.26-Avatar

Le make prend du temps :blush:

Pour accélérer la compilation l’option -j de make permet d’éxécuter la tâche make avec N processus en parallèle.
Par exemple make -j 25 lancera 25 processus en parallèle.
Ce qui si la quapacité mémoire et processeur de votre ordinnateur le permet peut diviser par 2 le temps de compilation.

sous /boot vous avez:
config-2.6.26-Avatar
initrd.img-2.6.26-Avatar
System.map-2.6.26-Avatar
vmlinuz-2.6.26-Avatar

Rebooter, et votre pendule est à l’heure !

Salut,

[quote]Au boot présence de deux warnings sur hwclock /dev/rtc non présent,
sur lenny kernel 2.6.26-2-amd64.
L’horloge sytème avance d’une heure
[/quote]

Si l’horloge système avance d’une heure c’est qu’elle est à l’heure locale au lieu d’ètre à l’heure UTC !

Plusieurs remarques:

  • Il s’agit de charger les modules avant d’appeler hwclock (S08hwclockfirst.sh). Il y a donc un nom de module à mettre dans /etc/modules

  • Si on regarde le script hwclockfirst.sh, on constate qu’il regarde si l’heure est en UTC ou non dans /etc/default/rcS. Il suffit en général de vérifier cela.

Si ça ne marche pas et vu le message sur /dev/rtc, il faut effectivement regarder du coté du noyau. Par contre la bonne idée est de compiler via les outils debian afin de faire un paquet.

Sinon on peut minimiser le travail: il s’agit ici de compiler genrtc.ko. Il faut donc cocher CONFIG_GEN_RTC et faire un

$ make -C /usr/src/linux SUBDIRS=/usr/src/linux/drivers modules

qui ne compilera que le nécessaire. Il faut aller chercher le module dans /usr/src/linux/drivers (faire un lien /usr/src/linux -> /usr/src/linux-???)

J’ai le même problème sous noyau 686. 1 heure d’avance. Je pense que cela vient lors de l’install, j’ai choisi réglage de l’heure en UTC. Je ne sais pas comment changer cela sans partir dans toutes les explications de pisur5 qui me paraissent bien compliqué pour régler le problème.

en clair UTC=yes ou UTC=no dans /etc/default/rcS

Salut,

J’ai UTC=no et tout fonctionne bien :slightly_smiling:

J’avais yes. Je l’ai changé en no et on verra bien si ça reste bien réglé…