Using an Xbox as a MythTV Frontend

Or how to put Linux where Microsoft never intended it to go

Allan Cecil

Welcome!


Covered in this talk:


Notes:
Sections that are only visible in this outline / handout mode will have Notes: as the first line. As noted, these sections contain additional information, hyperlinks, and commentary that isn't viewable in presentation mode.

What is an Xbox?

Notes:

What can I do with an Xbox?

Unmodded:

Notes:
The dashboard is what you see when you boot up an Xbox without a disc in the drive. It's usually replaced with a different non-Microsoft dashboard when modding an Xbox to allow for more features. A few mods simply augment the standard menu or replace the Xbox Live menu item with something else.
Regarding Xbox live: Microsoft has been known to upgrade files in the past to break and/or prevent software exploits. The current batch of software exploits work just fine and cannot be prevented by Microsoft at this time (more information on why is available here). If you do happen to log in to Xbox live with a modded Xbox, your Xbox will be banned based on the hard drive and the serial number, and your account will be banned with your remaining subscription revoked.

What can I do with an Xbox?

Fully Modded:

Notes:
An .XBE file is, in essence, an XBox Executable (hence, .XBE). You can read about the technical specifications of .XBE files if you want, but in general just think of .XBE files as .EXE files for the Xbox.
On Microsoft games, signing happens under Microsoft's strict control, with each game signed with a 2048-bit private key. An unmodded Xbox will not run content that is not signed. Jumping ahead a bit, the xbox-linux.org MechInstaller will only run .XBE files that have been signed by either Microsoft or by a specific private key, as described in the middle of this article. Other Xbox modification methods allow for execution of any code, be it signed or unsigned - i.e. "fully modded".
Both Xlink Kai and XBConnect have similar features, with Xlink Kai covering a few more platforms. At this time, neither of them charge a subscription fee, so there are other reasons to consider using one of these services (which can work even without using a modded Xbox).

So, is this legal?

Notes:
I am not a lawyer - please consult one if you are worried about legality in your jurisdiction.
More information on the DMCA can be found on the Wikipedia entry on the subject. You can also parse section 1201 of the DMCA yourself or read the EFF's article on the unintended consequences of the DMCA.

Primary online resources

Notes:
A quick summary of links are listed at the end of this presentation.
The article about the 512-byte hidden boot code that contained three separate bugs can be found here.
If you have any problems connecting to the Xbins FTP server, take a look at the Xbins guide over at xbox-scene.org or at any of the other guides on the subject.

What mod methods exist?

Hardware:

Notes:
If you're interested in a hardware modchip, xbox-scene.org is a good place to start as there are a good number of modchip reviews there. You might also find the Generation 4 modchip comparison chart or the historical Generation 3 chart useful.

What mod methods exist?

Software:

Notes:
You can find out more information about hard drive locking and compatibility at the Xbox Hard Drive Compatibility Chart site.
Xboxhdm is one very cool piece of software made by ldots. After modding an Xbox, an eeprom.bin file is usually generated. You can copy this file into a folder and then use a Linux script (or a batch file) to create an .ISO file that's specific to that Xbox. After booting from the disc, you'll find yourself in Linux along with a very nice script that automates creating a drive from scratch, including using any space larger than 8 GB as an extra user data partition. The drive can then locked (or unlocked) based on information from the eeprom.bin file you included when you made the disc. There are a wide variety of guides on using xboxhdm available online.

Softmodding 101

OK, softmod it is. Which savegame exploit should I use?

Notes:
Despite being very outdated and harder than newer mods to use, the MechInstaller software mod from xbox-linux.org may be more appropriate (for distribution reasons) if all you intend to do is run Linux on your Xbox and you're not interested in any other software. There are also ways to remove gaming abilities completely, although I'm not sure why you would want to do that.
While there are newer softmod packages out there, I still like the ldots softmod package. This is mostly because I've come to trust it and it's really easy to install. There are a few other guides out there for this particular method, too.
That being said, newer softmods come out from time to time - use whatever softmod you want. The Ndure exploit is a bit more difficult to install, but it has the advantage that it includes code to automatically swap out the exploited files with the real ones to allow access to Xbox live without getting banned. So far, Microsoft has not detected or blocked this, but as noted, there has been a continuing arms race between Microsoft and softmod developers. I still suggest avoiding the mess entirely by using either Xlink Kai or XBConnect.

Softmodding 101

Notes:
Obviously, the easiest way to copy a savegame exploit is to find someone nearby who has a modded Xbox that you can copy it from.
Your other two options involve buying or hacking together a cable to either get an Xbox controller on your PC or a USB key on your Xbox. If you're going the controller-connected-to-the-computer method, you can buy one of several models available or you can roll your own.
If you want to go the other way around and connect USB devices to your Xbox, there are (you guessed it) several standard guides as well as a couple more that take this method in an interesting direction.
The controller-connected-to-the-computer method is described here, but keep in mind it requires Windows (although it may be possible to run the Action Replay software required for this method using newer versions of Wine).
If that doesn't suit your needs, you can go with the USB key method described on this xbox-linux.org page. Keep in mind that not all keys can be recognized by an Xbox - check out the USB key compatibility list to see what works and what doesn't. The tool itself only supports specific sizes of USB keys, so you may find a barrier there as well. I'd suggest only trying this method if nothing else works for you.

Softmodding 101

OK, let's mod it! Stable MechAssault-based ldots mod:

Notes:
As noted previously, you can find more information on the ldots savegame package at xbox-scene.org. You may also want to search around there for more information on all this "PBL Metoo" Phoenix BIOS Loader stuff.
On version 1.6 Xbox units, the screen will end up turning completely green as soon as you start the modding process. This is because of a problem with the graphics chip used in the 1.6 Xbox units (previous Xbox versions do not suffer from this problem). The light on the front flashes green when the mod is done so you know it's safe to turn off the Xbox. It could take several minutes to back up your system files and perform the mod, so be patient.

Post-mod layout

It's modded! Here's what to look at next:

Notes:
Copying applications is easy - if you have, say, an Amiga emulator for the Xbox, all you need to do is copy the folder using FTP to the \Emulators folder (on either the E: or the F: drive) and reboot the Xbox. Avalaunch should display the emulator in the Emulators folder.
Speaking of games, if you do manage to put a bigger hard drive in your Xbox, you can back up your games to the hard drive. This is nice for a couple of reasons - namely, you don't have to lug a bunch of discs around that can get scratched up and stop working, but also of note is the faster loading times when playing games stored on the hard drive. In general, DVD2Xbox is the utility of choice for this kind of thing. In the US, you may be allowed to make a backup of a title you legally own but as always do a quick search if you have any legality questions.

Post-mod layout

Many options in Avalaunch can be edited in settings, or:

Pick a Linux distro

Many exist, but these are the most popular:

Notes:
For a full list of available Xbox-specific Linux distributions, have a look at the Downloads page at xbox-linux.org.

Install a Linux distro

Each one installs differently. In Xebian:

Notes:
The Xebian installation HOWTO is really the best document to read when attempting to install Xebian on an Xbox.
Because the ldots savegame exploit was used in this mod example, a replacement dashboard in the form of Avalaunch was installed. You'll probably want to edit avalaunch.xbe to create a menu item for e:\debian\default.xbe so you don't have to go through the file manager to launch it. If you run the MechInstaller softmod, Linux will be your only option - it should show up in the Microsoft Dashboard as Run Linux in the spot normally reserved for Xbox live.

Install MythTV-frontend

Again, each distro is different. In Xebian:

Notes:
As with the Xebian install, I highly advise looking at the MythTV on Xebian HOWTO for full instructions on getting the MythTV frontend installed in Xebian. In particular, you'll probably want to install and configure lirc for remote control support using the sample lirc configuration file listed in the HOWTO.

Using MythTV-frontend

Now that everything's installed, have a look around!

Notes:
Speaking of the MythTV backend, you'll note I didn't include much information about installing it here. That's mostly because it can be a bit daunting and would be hard to cover adequately here. As noted, check out the MythTV homepage as a starting point on getting the MythTV backend installed. I found the guide for installing MythTV on Ubuntu 5.10 very helpful, especially since I had a PVR-150 capture card. A quick search with the name of your distribution plus the word MythTV using your favorite search engine should provide a link to a useful HOWTO. If you don't have a distribution of choice or if you plan on using a different computer for your MythTV backend, you may want to look into using KnoppMyth to make the installation and configuration process easier.

Other Linux usage ideas

Notes:
If you do want a VGA adapter, these guys seem to have one of the better models available.
Impractical or not, AnandTech did make a Beowulf cluster using 8 Xbox units. At the very least, the article makes for an interesting read.

Other Homebrew software

There are a lot of great apps out there!

Notes:
The part about there being quite a few Emulators out there isn't a joke - take a quick look at the Xport project hosted at xbox-scene.org to get a good idea of what's out there.

MythTV in Xbox Media Center

Notes:
XBMC is interesting for a large number of reasons, most of which involve the fact that it has quite a few more features than Microsoft's offering, as the previous link shows in a side-by-side comparison. There's a feature list at the XBMC homepage that should give you an idea of what file formats are supported and what features are implemented.
XBMC is still a very active project. Binary CVS versions of XBMC pop out all the time, so keep an eye out for them. The CVS releases usually contain a decent number of features that aren't yet included in the most recent stable release (which, of course, has the benefit of being more stable, but there's a trade-off to everything).
Speaking of CVS, the CVS versions of XBMCMythTV have a few more features than the stable release. You may need to use the CVS version if you're using a very recent version of the MythTV backend that the released versions of XMBCMythTV hasn't fully caught up with yet. XBMCMythTV is still in a beta state, but it's very interesting in what it can do and how it manages to do it.

Summary

Resources

Notes:
The sections above are littered with links, so feel free to navigate to those areas or search this document for the subject you need more information on. As always, if you get stuck, a good search engine is your friend.

Happy hacking,

A.C.
******