Sunday 22 February 2009

Compiling and installing MythTV on a VIA EPIA 800 (586) system

I have four of these old 586-based 800Mhz EPIA boards lying around and I’ve been desperate to find a (funky) use for them. Eventually, I concluded that these would make great (if not super-powerful) media front-ends and, after a bit of R&D, I settled on MythTV as the app that was going to make this happen.

So I toyed around with MythTV on a faster test box and decided to install the excellent MythBuntu distro onto the EPIA and promptly got extremely confused. Whenever I started any of the Myth apps I was rewarded with… nothing! Starting the apps from the menus had zero effect so I started a shell and ran first the backend (mythbackend) and then the front end (mythfrontend) and got;

illegal instruction

Ah! Now we’re getting somewhere, I thought… A quick bit of Google and I’m sure I’ll get the answer! I got the answer, all right - the team behind MythTV stopped supporting the 586 a long time ago and this “Illegal Instruction” was telling the truth; MythTV was trying to run an instruction that my CPU did not have.

A quick (well, not that quick) shot at other distros including standard Ubuntu and MythDora showed that they were all using non-586 compatible builds.

Not to be outdone, and still desperate to find something to do with my EPIAs I decided to build my own 586-compatible version of MythTV on top of an existing MythBuntu system. I chose MythBuntu as the base because it already had all of the harnessing for a dedicated MythTV box – it was just missing code that would execute.

The following has all been tested on a MythBuntu 8.10 system which, unsurprisingly, is based on Ubuntu 8.10. It may work on other systems but you’re probably on your own there.

There are two routes you can follow to here;

  1. Download the script that will do everything for you, from here
  2. Run the commands one at a time

I’ve documented both approaches but the script is probably easier because;

  • It captures the output from each command (which can be veeeeeeeeeeeery long) into separate log files so you don’t get the display cluttered up
  • It checks that each command completes before moving on to the next
  • It’s just easier!

Related posts;

Installing from the scriptInstalling MythTV onto a 586, using a shell script
What the script doescoming soon
Installing by handcoming soon

Please let me know how you get on.

7 comments:

  1. This thing worked like a champ but it did fail when trying to get it work with just a frontend only.

    ReplyDelete
  2. That's a shame :-(

    I take it you have a separate backend, then? And did you disable the backend on your EPIA/586?

    Cheers
    Scott

    ReplyDelete
  3. Thanks alot. This was perfect timing ... I just finished setting this up with the script and boy did it take a "loooong" time. Everything is running with one exception, I can't get the sound running. It doesn't seem to work in Mythbuntu or Mythtv. Any suggestions?

    ReplyDelete
  4. No probs, Bernard. Took me a few days to figure it out, and I created the script because the whole thing really *does* take ages!

    As for sound, I don't know, I'm afraid. Works ok for me. I'm guessing that you're saying sound does not work at all in Mythbuntu (Ubuntu) either, in which case I'd check the Ubuntu forums for details of your sound card.
    Cheers
    Scott

    ReplyDelete
  5. Well I decided to re-install, just in case something got corrupted. I checked Mythbuntu before installing the script and sound worked, but after, no sound. Unfortunately, I didn't check to see what drivers were installed before the script installation. Is there anyway for you to tell me what drivers your EPIA C3 800 are using after the script installation? I know that you have it on your to do list, but do you have a list of the script modifications? I am just wondering if one of the updates in the script is not working properly. Again, thanks for all you help.

    ReplyDelete
  6. Hi Bernard. That's really odd, as I'm not updating any drivers (I think!).

    If you open up the script in any text editor you can see what packages it installs but, for completeness, here's the list (lines 18-20 of the script);

    PKG_BLDE="g++ build-essential linux-headers-`uname -r`"
    PKG_BLDMY="libfreetype6 libqt3-mt-mysql libmp3lame0 libmp3lame-dev libXxf86vm-dev libxv-dev libfreetype6-dev qt3-dev-tools"
    PKG_BLDPL="libmad0-dev libvorbis-dev libflac-dev libcdaudio-dev libcdparanoia0-dev libtag1-dev libtiff4-dev libexif-dev kdelibs4-dev"

    Sorry for the hassle.
    Scott.

    ReplyDelete
  7. Just tried this with Karmic alpha 6 (9.10) on an EPIA M6000 (or something like that) and it compiles without error using your script and runs okay.

    Issues I have seen: Mythbuntu pre-installs a newer database schema (0.22) so I had to drop that to keep the newer version happy, but I expected that to happen.

    Also I had to disable pulseaudio because it compiled without pulseaudio support by default, and I'm not convinced XvMC acceleration has worked either. But it's a start...

    ReplyDelete