I’ve spent most of the afternoon revamping the mythbox here. I removed myth-backend from neo and installed it on architect, as well as mysql-server to back myth-backend. I’ve installed and configured LIRC and created a .lircrc for the Packard Bell remote and receiver I bought years ago on ebay.
I’ve installed splashy on the machine for a more pretty boot sequence and set X up to auto-spawn on ttyS7 for the mythtv user and automagically runs irxevent and mythfronted via .xinitrc.
For most people, they will read to hear and take away that my mythbox is now sexier. For the insane few that care to know what exactly I did, that’s after the jump.
Moving mythtv-backend
This should have been a simple
apt-get install mythtv-backend
and we’d be off to the races. This did indeed depend on mysql-server which installed mysql-server-5.0 which prompted me to supply a root password for the mysql user, which I did. Then when dpkg went to configure mythtv-database it prompted me for the same password and then promptly failed to install the package. After many minutes of frustration being told that the password is invalid, run
dpkg-reconfigure mythtv-database
I realised what was going on. I was reconfigureing mythtv-database, sure. But that package relies on mythtv-common to set what hostname it uses for the database server! So a quick
dpkg-reconfigure mythtv-common
and we were off to the races.
Installing and configuring lirc
apt-get install lirc lirc-modules-source
gets us started. After that I had to compile the module I needed. This is where we love module-assistant.
m-a a-i lirc-modules
compiled and installed the necessary modules for lirc. I then attempted to modprobe lirc_serial but that failed initially. It would seem setserial was holding the device open or some such. If I issued
setserial /dev/ttyS0 uart none
then I could modprobe lirc_serial successfully. However, that didn’t last between reboots. I created /etc/serial.conf with the following in it
/dev/ttyS0 uart none
This prevented setserial from taking over the serial port on boot. I then added lirc_serial to /etc/modules, however lircd still failed to come up on boot. Turns out that lircs init script was running before setserial. One option would have been to try to change that, however lirc has an line option in /etc/lirc/hardware.conf.
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE=""
MODULES="lirc_serial"
I added lirc_serial to the modules line and lircd modprobes the module when started. Easy as pie.
~/.lircrc
It took a bit of wrangling to get a working .lircrc going. Part of the problem is I didn’t bother to look up what the keynames that irxevent would pass… so I spent a bunch of time googleing looking at other configs which was a little unnecessary. The only hangup I ran into was passing the wrong key names. As the file is updated, I’ll put fresh copies here.
X AutoLogin
I followed the autologin setup here. I used this for my xinitrc. Pretty straightforward and no fuss there.
Splashy
Installed splashy and rebuilt initramfs.
apt-get install splashy splashy-themes
update-initramfs -u -t -k `uname -r`
I followed the original documentation I found for splashy that instructed me to append the following to the kernel line in menu.lst
vga=791 splash
However, the video card in my Asus Pundit didn’t really like that much. I did find in the splashy wiki on the tips and tricks page that another option was:
vga=0x314 splash
This did the trick. In a few hours figuring out the above, I’ve got the mythbox to boot pretty, auto-launch mythfrontend and take the remote I have as an input. Not bad for a saturday afternoons work.