MythTV Shutdown / Wakeup How to
'Warning this procedure worked for me, but it may hose your BIOS rendering your motherboard a poor excuse for a frisbee. I hold no responsibility'
This is a basic tutorial on using the shutdown and wakeup features of MythTV as described here . It assumes you are using a combined frontend/backend machine. Directions are FC2 specific, but should work for many distributions.
# apt-get update # apt-get install nvram-wakeup # /usr/sbin/guess-helper.sh under Fedora Core 3 this might be called just /usr/sbin/guess-helper
Follow the instructions from the script, it will ask you to change the bios settings and reboot several times.
Run through rebooting your computer and creating the config file. The config file nvram-wakeup.conf will be found in the root home directory in the guess-directisa directory. Copy this file somewhere permanent and name it mymb.conf.
To test that you have nvram-wakeup working properly,
# /usr/sbin/nvram-wakeup -A -C /path/to/mymb.conf -s $((`date +%s` + 10 * 60)) # reboot
you may not need the -A, but that was the only way it worked for me Check the BIOS upon reboot that the values have been stored correctly. If not, search Google, or as a last resort email the project admin Sergei, he is very helpful.
My MB requires a reboot for the wakeup to work properly. This requires a couple more steps. Myth will reboot the computer to a kernel that immediately shuts down the computer.
- download the poweroff-kernel from the nvram-download page 
$ tar jxvf reboot-2004.10.03.tar.bz2 # cp reboot-2004.10.03/[[bz Image]].2.4.20.poweroff /boot/
- Now append the following lines to /boot/grub/grub.conf
Title [[Power Off]] savedefault --default=0 root (hd0,1) kernel /[[bz Image]].2.4.20.poweroff root=/dev/none
Default should be the same as number as your default kernel listed in grub.conf (remember they are numbered 0,1,2...)
Another way to configure grub to shutdown is to use the following lines (instead of the lines above):
Title [[Power Off]] savedefault --default=0 halt
At this point, all the pieces are in place. We just need to tell Myth what to do.
- Select General
- Page through to the Shutdown / Wakeup Options
- Uncheck Block shutdown before client connected
- Tweak these as you like, but I used Idle Timeout: 180 | Max. wait for recording: 30 | Startup before rec.: 120
- Wakeup time format: time_t
- Set wakeuptime command: /usr/sbin/nvram-wakeup -A -C /path/to/mymb.conf -s $(($time + 300)) (again, you may not need the -A)
- Server halt command: /usr/sbin/mythshutdown or if you do not require reboot shutdown -h now
- Pre Shutdown check-command: exit 0
Now create the /usr/sbin/mythshutdown file in your favorite text editor.
### /usr/sbin/mythshutdown ### echo "savedefault --default=1 --once quit" | grub reboot
Default is whatever place your shutdown kernel is in grub.conf. Most likely 1 or 2 (dual-boot).
Make it executable:
# chmod 755 /usr/sbin/mythshutdown
Instead of the script above, the
grub-reboot scribt could be used (part of most distributions?). As the script requires keyboard interaction it is used like
### /usr/sbin/mythshutdown ### echo "y" | grub-reboot 1
Now give it a try. Exit the frontend and wait to see what happens. After the idle time, it should reboot, then shutdown after the grub screen, and wakeup just in time for the next recording. Check the mailing list if you have any problems .
Next problem. If you have the frontend startup automatically, it will never shutdown without you manually quitting the frontend. I got around this by starting up the frontend by lirc.
- Remove link to autostart frontend
$ rm ~/.kde/Autostart/mythfrontend
- Autostart irexec
ln -s /usr/bin/irexec ~/.kde/Autostart/
- Edit your ~/.lircrc file to include a button to startup the frontend I used the power button on my grey hauppauge
begin prog = irexec button = OFF repeat = 0 config = /usr/bin/mythfrontend end
Now when you want to use Myth, just power on the machine and hit the power button on your remote once KDE loads to fire up the frontend.
Good luck, please make additions and comments where necessary.