Expand everything   |   Expand non-PVR-350 Output bits   |   Expand PVR-350 Output bits   |   Close everything
*** Current setting: Everything closed ***

Step-by-step guide to building a MythTV System on Fedora Core 5 w/ATrpms

Compiled by Jarod C. Wilson <jarod@wilsonet.com>
Made possible by information gathered from all over the Internet (Google is your friend)...
    $Revision: 117 $
    $Date: 2006-09-17 21:02:10 -0400 (Sun, 17 Sep 2006) $

TABLE OF CONTENTS:

  1. Introduction
  2. Hardware
  3. Initial System Setup
  4. Firstboot setup -- create MythTV user and enable ntp
  5. Get your system up-to-date
  6. Configure 3rd-party package repositories
  7. Get and install video card drivers
  8. Audio setup
  9. Get and install MythTV
  10. Get and install capture card driver(s)
  11. Get and install lirc
  12. Set up MySQL
  13. Set up MythTV
  14. Configure automatic startup
  15. Configuring MythTV add-ons
  16. Upgrading your system
  17. Miscellanea
  18. Trouble-shooting
  19. Changelog

1. Introduction

MythTV is an open-source project, with its primary functionality being similar to that of a TiVo on steroids, with far more features, much greater flexibility and the ability to handle an extremely wide variety of content. The project's founder and leader is Isaac Richards. The official documentation can all be found on MythTV's official web site, at http://www.mythtv.org/. The project is supported by the contributed time and effort of the open-source community, with the primary lines of technical support being the documentation on the project web site, and the project's mailing lists. It is highly recommended that if you are intending to install MythTV, join at least the mythtv-users mailing list, which you can subscribe to here: http://www.mythtv.org/mailman/listinfo/mythtv-users/, and read through the official docs.

While the official documentation attempts to be as distribution-agnostic as possible, this document is geared specifically toward building a MythTV system on the Fedora Core 5 Linux distribution put out by Red Hat, with all components installed from binary packages using automatic dependency resoltion tools (i.e., you won't need to compile anything or manually deal with any twisted dependency issues). Quite a few people following this particular body of documentation have successfully created their own MythTV systems, and many of them frequent the MythTV Users mailing list. Someone on the list can generally help you if you have a problem. I also frequent the mailing lists, and will help out in any way I can, though my spare time is in very short supply these days. However, please search the mailing list archive, found here: http://www.gossamer-threads.com/lists/mythtv/, before you mail the list, because there is a good chance you'll find your answer there. If you are unable to find the answer there, then read this document: http://catb.org/~esr/faqs/smart-questions.html, after which you may address your question to the mailing list. ;-)

Versions of this document for older Fedora Core versions are NOT maintained in any way, but are still available for historical purposes. I'd recommend just using the latest version, unless you have some very compelling reason to do otherwise. The old versions can be found here:

Fedora Core 4 version
Fedora Core 3 version
Fedora Core 2 version
Fedora Core 1 version

It was suggested to me by a number of folks that I provide PayPal account information for those wishing to contribute. Contributions help persuade my wife that I'm doing more than just wasting my time! Certainly don't feel obligated, but go ahead and click on the little PayPay button if you feel inclined. =)

Anyhow, I try to answer any email I get, but of late, there's no way I can keep up (I'm at least a month and a half behind on replies as I write this). I often get some of them the same questions/problems over and over, so chances are, someone on the list can answer your question, even if you don't find what you needed in the mailing list archive, and you'll likely have a solution faster than I can respond. I used to be very active on the mailing list myself, but just plain haven't had the time lately (work and family has been taking precedent). However, if you think you've found a problem with something in this document, or have a suggestion for an improvement, please don't hesitate to contact me directly via email, and I'll try to get to it when I have the time. I try to keep this document as up to date and accurate as my time permits -- time just isn't permitting much these days... :(

Thank you for reading, and enjoy!
-- 
Jarod Wilson
jarod@wilsonet.com

2. Hardware

I suggest you start here for information on hardware:

http://www.mythtv.org/docs/mythtv-HOWTO-3.html#ss3.1

An excellent place many folks get their Myth box hardware from is NewEgg.com.

And those looking at building the quietest Myth box possible should probably check out SilentPCReview.com for advice.

Just about any computer that runs Linux and has enough processing power can be used as a MythTV box. For example, I had zero problems playing back full-resolution PVR-250 recordings on an Athlon 800 with a GeForce 4 MX. I've recently shuffled around a ton of hardware at home, so the systems listed below are merely examples of setups that I'm familiar with and know to be functional.

A good place to look at other examples of what people are using for their MythTV boxes, and how they rate their systems, is Mark Cooper's PVR Hardware database, browseable here:

http://pvrhw.goldfish.org/tiki-pvrhwdb.php

Pundit users might also find Matt Marsh's "Pundit MythTV Device" site of use:

http://www.mattmarsh.net/computing/pundit/

Additionally, if you're like me, the SPDIF output being on the front of the Pundit case is a big turn-off. One enterprising reader has put together some notes on how they added one to the back of their case:

http://www.smashedhat.com/pattjin/pundit/

Also note: the WinTV PVR series and AVerMedia M179 cards may have issues running correctly on some motherboards based on VIA chipsets. Check the ivtv FAQ to see if your chipset is on the list of known offenders:

http://ivtv.writeme.ch/tiki-view_faq.php?faqId=1#q33

3. Initial System Setup

This guide is geared toward using Red Hat's Fedora Core 5 Linux distribution. You can download the CD images for Fedora Core from one of the many Red Hat mirrors out there, the official list of which can be found here:

http://fedora.redhat.com/download/mirrors.html

The 2.6 kernel series includes several journaling file systems, some of which are a bit better suited for use with large files -- like Myth recordings -- than Red Hat's default file system, ext3. However, Red Hat doesn't let you use anything else at system install time, unless you type in "linux <otherfs>" at the boot: prompt when firing up the installer CD, where <otherfs> is something along the lines of reiserfs, jfs or xfs. I'd *highly* recommend a custom partitioning scheme rather than auto-partitioning, with a dedicated /video (or similar) partition for storage of all your recordings. Previously, XFS was my personal recommendation for the file system to use for such a purpose, but some additional stability issues with using XFS (and JFS) on Fedora Core's stock kernels have been brought to my attention. In the case where you're stacking software RAID, LVM and XFS all together, stack overflows tend to crop up. I'm simply running ext3 myself, and have been for ages without a problem. While not the speediest kid on the block, recent improvements to ext3 (such as b-tree hashed indexing) make it a perfectly suitable for MythTV use, and its generally a more robust (and better supported by Red Hat) file system than the other options. But if you want the best in performance, you might try your hand with XFS (which I believe has since had most issues remedied). Think of ext3 as your reliable family car, XFS as a sports car... :) If you want to go XFS, boot the installer with "linux xfs", then choose XFS for your /video partition. An example partitioning setup can be found below.

On the Disk Partitioning Setup screen, choose to Manually partition with Disk Druid. A suitable custom partitioning setup is as follows (assuming a single IDE hard drive):

Partition Mount Point Size Format
/dev/hda1/boot50-100MBext3
/dev/hda2swapsame as RAM (ex: 512MB)swap
/dev/hda3/8-12GBext3
/dev/hda5/videoEverything elseext3

If you wanted to use something other than ext3 for your /video partition, be sure to choose XFS (or JFS or ReiserFS) as the partition format type, as the selection will default to ext3. Note that there's really no point in using anything but ext3 on / and /boot. Red Hat tests ext3 heavily, its the only one that is pretty well guaranteed to be problem-free for / and /boot. Those expecting to add additional hard drives to their system for more video storage might want to set the partition type for hda5 to LVM, then create a logical volume over the top of it, formatted with the file system of your choice. That'll allow you to increase the size of your /video partition transparently across multiple drives. Details on how to do that can be found in the official MythTV docs, at http://mythtv.org/docs/mythtv-HOWTO-23.html#ss23.3. Note that neither XFS or JFS volumes have the ability to be reduced in size, while ext3 and reiserfs do, which could be of concern in an emergency, should you need to remove a disk from an LVM group for some reason...

On the Network Configuration screen, I highly recommend setting a static IP address (could either be truly static, or a staticly mapped DHCP address). It really isn't a huge deal if you only have one Myth box (though you probably don't want MythWeb to be a moving target), but it could cause major headaches once you have more than one machine, since non-primary systems wouldn't know where the master backend was anymore if the address changed.

On the "Package selection" screen, uncheck all the check boxes and select the "Customize now" radio button. At the next screen, you'll be able to re-add the components we need/want. Minimally, add (at least) these package groups to those already selected:

Optionally, you might also want to add these groups: