2011-09-24

Como arrancar o computador a uma hora determinada

Descobri agora que é possível em Linux programar um computador (que seja minimamente recente) para acordar a uma determinada hora, mesmo que esteja desligado (mas ligado à alimentação, obviamente).

Descobri essa informação na Wiki do MythTV (um Digital Recorder feito com Linux), na página ACPI Wakeup .


Aqui está a parte relevante:


sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
sudo sh -c "echo `date '+%s' -d '+ 5 minutes'` > /sys/class/rtc/rtc0/wakealarm"
cat /sys/class/rtc/rtc0/wakealarm


Se tudo correr bem, se desligarem o computador após fazerem isto daí a 5 minutos o computador arranca.

O tempo máximo para se usar isso depende do RTC mas o normal aparenta ser com um máximo de um mês de distância.

Requisitos:
  • computador com ACPI
  • Linux kernel > 2.6.22
Potenciais problemas:
  • pode haver conflito com o HPET Timer
  • pode haver desactivação do alarme ao actualizar a hora na BIOS (coisa que os Linux fazem ao encerrar) -- no meu caso não houve problema com isso
  • este e outros têm solução em ACPI Wakeup .

Referências

2 comments:

Sintra said...

:O

Pedro F. said...

O plano é meter a Marcha das Valquírias de manhãzinha para servir como despertador :D