C't-VDR - NVRAM WakeUp
Inhaltsverzeichnis |
Bootloader
Wie in NVRAM WakeUp beschrieben muss der Rechner manchmal neugestartet werden um einen Effekt erzielen zu können. Beim Ct'VDR kann dies so erreicht werden:
bis ctvdr5 / debian sarge
Lilo: Folgende Einstellungen müssen dann in der /etc/vdr/vdr-nvram-wakeup.conf für Lilo bzw. Grub getätigt werden.
ENABLED=yes COMMANDLINE="--directisa" SPECIALSHUTDOWN="lilo -R PowerOff ; shutdown -r now" FORCE_REBOOT="yes"
Grub:
ENABLED="yes" COMMANDLINE="--directisa" SPECIALSHUTDOWN="echo y | grub-reboot 2" FORCE_REBOOT="yes"
Die "2" steht in diesem Fall für den dritten Eintrag in der /boot/grub/menu.lst, also beginnend mit Null.
Für den Bootloader Grub (bis C't-VDR Version 5.1 !) muss ausserdem ein zusätzlicher Eintrag (also als dritter Eintrag) in der /boot/grub/menu.lst (am besten an das Dateiende) hinzugefügt werden.
title NVRAM root (hd0,0) halt
ab ctvdr6 / debian etch mit Grub 0.97
Bei grub 0.97 sollte man die /etc/vdr/vdr-nvram-wakeup.conf wie folgt aussehen.
ENABLED="yes" COMMANDLINE="--directisa" SPECIALSHUTDOWN="grub-set-default 2 ; reboot" FORCE_REBOOT="yes"
Achtung! Für Grub 0.97 (aus debian/etch, C't-VDR Version 6) muss im Gegensatz zu oben die /boot/grub/menu.lst wie folgt geändert werden:
Ein bereits in der Datei vorhandener Eintrag
default 0
ist unbedingt in
default saved
zu ändern, da Grub sonst immer mit dem 1. Menüpunkt (Zählung beginnt bei 0) startet. Hinweis: Zwischen dem Key 'default' und dem zugehörigen Value '0' bzw. dann 'saved' befindet sich ein nicht zu veränderndes Trennzeichen. Dies nicht durch beliebige blanks zu ersetzen. Deshalb nur die '0' durch 'saved' ersetzten, weil ansonsten der neue Wert evtl. nicht beachtet wird.
Anschließend werden folgende Zeilen in die Datei eingefügt (am besten an das Dateiende):
title PowerOff root (hd0,0) savedefault 0 halt
Falls das Speichern des Defaultwertes 0 nicht funktioniert und immer der PowerOff Eintrag gebootet wird, kann folgendes Abhilfe schaffen:
title PowerOff root (hd0,0) savedefault 0 cat /boot/grub/default halt
Bei einigen Systemen hilft aber auch das "cat grub/default" nicht. Der "halt"-Befehl wird immer noch ausgeführt, bevor grub mit dem Schreiben in grub/default fertig ist und das cat verzögert das nur sehr wenig. Bei mir funktioniert das nur in einem von etwa 5 Versuchen! Hier hilft ggf. ein "cat /boot/grub/bigfile", wobei "bigfile" eine ca. 150k-große Textdatei ist. Das verzögert das Ausschalten lange genug. Falls das auch nicht geht hilft es einen PowerOff-Kernel zu boot, damit Grub genug Zeit zum Schreiben in die grub/default hat!
Einen PowerOff-Kernel findet man z.B. in den Repository's von e-tobi zu sarge: http://e-tobi.net/vdr-experimental/pool-sarge/binary/base/kernel-poweroff-2.4.24_0.1_i386.deb
Dieses Debian-Paket lädt man sich nun z.B. mit "wget <link>" auf den VDR herrunter und installiert es mit "dpkg -i <Name>".
Anschließend editiert man die menu.lst von grub wie folgt:
default saved
und der PowerOff-Eintrag muss etwa so lauten:
title PowerOff root (hd0,0) savedefault 0 kernel /bzImage.2.4.24.poweroff
Mit dem PowerOff-Kernel 2.4.24 funktionierte der PowerOff auf erstmal recht gut, leider ging kein WAKE ON LAN mehr, da dies scheinbar durch diesen Kernel deaktiviert/nicht unterstützt wird. Erst der kernel "bzImage.2.6.9.poweroff", welchen man im CVS-trunk des NVRAM-Projektes finden kann, schafft da abhilfe! Nach dem Download des kernels (z.B. mit wget auf den passendedn CVS-link) sieht der PowerOff-Eintrag so aus:
und der PowerOff-Eintrag muss etwa so lauten:
title PowerOff root (hd0,0) savedefault 0 kernel /bzImage.2.6.9.poweroff
Leider wird das Modul nvram standardmäßig nicht geladen (Fehlermeldung "/dev/nvram: No such file or directory"). Deshalb muss nvram in die Datei /etc/modules eingefügt werden.
Update auf Grub 0.97
Bei einem Update von Sarge auf Etch muss man noch den Befehl
grub-install /dev/hda
ausführen, um grub 0.97 in dem MBR der Festplatte zu installieren. Ansonsten funktioniert die Auswahl des Boot-Eintrags nicht. (Wenn nicht von /dev/hda gebootet wird, ist der Befehl entsprechend anzupassen.)
BIOS/UTC
Wenn durch NVRAM vom Timer abweichende Aufwach-Zeiten ins BIOS gesetzt werden, kann es helfen, in der lokalen Zeitzone zu betreiben.
Dazu sollte man:
- Im BIOS die Uhrzeit auf mitteleuropäische Zeit stellen
- In der Datei /etc/default/rcS einstellen: UTC=no und HWCLOCKACCESS=no (s. man rcS)
- Bei Bedarf noch in den VDR-Einstellungen festlegen, dass die Uhrzeit aus dem EPG aktualisiert werden darf