hwclock auf ACER Aspire

Diese Seite behandelt ein Problem mit der Systemuhr, das bei dem Betrieb eines Debian-Linux auf einem ACER Aspire 5510 aufgefallen ist. Was dazu im Internet zu finden ist, scheint es aber nicht nur auf die Kombination Debian und ACER Aspire begrenzt zu sein, sondern auch bei einigen anderen Notebooks und Linux-Distributionen aufzutreten.

Symptome

  • Wenn die Hardwareuhr auf Lokalzeit läuft, z.B. weil man noch ein Windows als zweites System auf dem Rechner hat, das dieses erwartet, geht unter Linux die Systemuhr exakt um die Differenz falsch, die zwischen UTC (Greenwich-Zeit) und der eigenen Zeitzone besteht.
  • Während des Bootvorgangs sieht man an der Stelle, an der die Systemzeit gestellt werden sollte, die folgende Fehlermeldung:
    select() to /dev/rtc to wait for clock tick timed out
  • Wenn man als root das Kommando "hwclock" ausführt, erscheint die gleiche Meldung, "hwclock --systohc" und "hwclock --hctosys" funktionieren nicht.

Die Ursache des Problems liegt in der Interaktion des RTC-Treibers mit der Hardwareuhr, die hier nicht korrekt funktioniert. "hwclock" kann aber mittels des zusätzlichen Parameters "--directisa" dazu gebracht werden, nicht den RTC-Treiber zu verwenden, sondern direkten Zugriff auf die Uhr.

Problemlösung

Um nun "hwclock" dazu zu bringen, immer mit diesem Parameter zu starten, kann man folgendermaßen vorgehen.

Anlegen einer Sicherungskopie von hwclock

cd /sbin/
mv hwclock hwclock.bak
cp hwclock.bak hwclock.bin

Eine neue Datei /sbin/hwclock mit folgendem Inhalt anlegen

#!/bin/sh
/sbin/hwclock.bin --directisa $*
/sbin/hwclock.bin --hctosys

 

Manuell "hwclock --hctosys" ausführen, um die Systemuhr nach der Hardwareuhr zu stellen.

 

Abschliessend wird die Datei noch ausführbar gemacht.

chmod a+x hwclock


Damit startet die Systemuhr beim Bootvorgang mit den richtigen Einstellungen.