Sunday, May 3, 2009

Migrating MythTV

The task: migrate all my recordings and the mythtv database to the new mythbox.

Steps:

  • rsync the following directories: /myth/tv, /myth/video
  • mysqldump the database, copy the dump file over to the new machine
  • Install mythtv, mythtv-themes, and plugins: mytharchive, mythbrowser, mythdvd, mythflix, mythgallery, mythgame, mythmovies, mythmusic, mythnews, mythphone, mythvideo, mythweather

  • Unfortunately, mytharchive can't be installed, because it depends on mjpegtools-1.8, which is not itself compilable without manually patching the code. I'll just wait for the patch to be released...

  • Wow, mythbrowser also threw a compile error. Well, I don't really use that, so I'm not going to look into it now, I'll just skip it.

  • MythTV pulled in MySQL database as a dependency, but it needs to be configured. Run emerge --config =dev-db/mysql-5.0.70-r1. This will create the main database and set the password for the "root" DB user.

  • Next, start the mysql daemon (/etc/init.d/mysql start, and rc-update add mysql default for all future sessions).

    Edit /etc/mythtv/.mythtv/mysql.txt. Contents:
    DBHostName=localhost #if you aren't using a separate backend computer

    # By default, Myth tries to ping the DB host to see if it exists.
    # If your DB host or network doesn't accept pings, set this to no:
    #
    DBHostPing=no

    DBUserName=<your_db_username>
    DBPassword=<your_db_password>
    DBName=mythconverg #I believe this is typical; you may have to change it
    DBType=QMYSQL3


  • I'm unsure what the correct chronology is for the next few steps. Should I import the database dump from the old mythbox first, or run mythtv-setup first? I'm going to try importing the old database first. But before I do it, the mythconverg database needs to be created first:

    # mysql -u root -p
    mysql> create database mythconverg;
    Query OK, 1 row affected (0.00 sec)

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    mysql> exit
    Bye


    Then we can issue the command to import the old database information: mysql -u root -p mythconverg < mythtv_backup.sql

  • All right. Next run mythtv-setup. Funny story. It segfaults! No indication why, but digging around in the excellent Gentoo forums revealed this thread, which indicates that the problem is related to video drivers/opengl/mesa. Here's what I did to try to solve it:

    • Unmask mesa-7.4, and emerge it (required unmasking a couple of dependencies as well).
    • I discovered in that thread that there's a "radeonhd" driver, so i am going to try to use that instead of the regular "radeon" driver. So, I also ran emerge xf86-video-radeonhd
    • re-emerge xorg-server and mythtv.
    • revdep-rebuild to recompile dependencies.
    • Reboot to pull in all changes.


    Unfortunately, that didn't work. The other solution in that thread was to disable glx in xorg.conf. That worked; hopefully I won't miss GLX too much :/

    The nice thing was that importing the database from the old mythbox pulled in all of my configuration information as well, so there was very little to change in mythtv-setup!

  • Next, run mythfilldatabase.

  • Start mythbackend: /etc/init.d/mythbackend start, and for all future sessions: rc-update add mythbackend default. This didn't work right away, because I didn't realize that on gentoo, the backend gets the DB information from /etc/mythtv/.mythtv/mysql.txt, not from ~/.mythtv/mysql.txt.

  • Try running mythfrontend and watching a recording (which had been ported over from the old mythbox). Well, it worked, but there's no sound and the video playback is extremely poor quality, because I've disabled GLX in xorg.conf! Argh, what am I to do?

  • Get sound working. This was silly of me: I didn't select my motherboard's sound card in the kernel config. Now I'm compiling it as a module and will add it to modules.autoload. Then I had to emerge alsa-utils, then run alsaconf, then /etc/init.d/alsasound and rc-update add alsasound default.
    Darn: alsaconf doesn't appear to know about my sound chip. Or maybe I misidentified it in the kernel...I'm seeing another module name in the forums.

  • Get firewire connection to cable box working - TBD

  • Get the remote working - TBD

  • Fix deinterlacing settings, if necessary - TBD

  • Get auto shutdown/wakeup working - TBD


I'm already sick of this...

No comments:

Post a Comment