- Part 1: the hardware
- Part 2: the software choices
I ended up trying out three different distros, two of which Nicholas and I fully configured for use with xbmc.
- xbmc live CD based on Ubuntu 10.04 LTS
- Ubuntu 10.10 Server (requires separate installation of xbmc from repository)
- OpenELEC with xbmc included
XBMC Live CD
Like many linux distros these day, XBMC has a live CD that can be used to boot your computer and try it out. It can also be used as an installer. I tried this first, and completely configured it and had everything that I needed working. The live CD installed with no problems and I didn't need to download and install anything else to get the the network up and running. This is sure to change, but right now the live CD is based on Ubuntu 10.04 LTS. This is good because this version will be getting updates until 4/2015 (server version). This is bad because it contains an older kernel that doesn't support TRIM commands, which are needed to solid state drives (SSDs) running fast over time.
While I had absolutely no trouble updating the kernel to 2.6.35, which does support TRIM commands, configuring HDMI sound, and lowering swappiness, I wasn't happy with boot times. It took just over 40 seconds from pushing the power button until XBMC was ready for use. This included some time spent sitting on the bios screen before the OS boots. (Unfortunately, the bios has no option to decrease this.) I was hoping for something faster. So, I used clonezilla to copy the system and then and tried something else.
So I next tried Ubuntu 10.10. (Ubuntu 11 isn't compatible with the current version of xbmc.) 10.10 is supposed to have a faster boot time than 10.04. I had all sorts of problems getting the wired ethernet to work. I first tried installing from the minimal installation CD, which downloads extra components from the internet, but because the network couldn't be configured during installation, I had to use the full installer. Even after using the full installer, I still couldn't get the network up. Interestingly, Nicholas has 10.10 installed on his xs35gt (first revision) and had no problems at all. I can't imagine that the 10.10 full installer lacks the proper driver.
At this point I pretty much realized that running a 24/7 server with PBX and VPN services was something that I realistically wasn't going to do. Rather than spend more time with it, I aborted any further work with 10.10.
Finally, I tried out something completely different, OpenELEC, Open Embedded Linux Entertainment Center. This is a stripped down Debian based distro that is designed to do nothing more than run xbmc. There are different builds for different chipsets, each with only the commonly used drivers. I installed the 64bit ION version.
OpenELEC is a bit of a pain to work with because it is absolutely gutted. Installing it was even a pain because it can only be installed from a USB stick, and the USB stick can only be made from a Windows machine or a linux machine. I live booted my MBP with a random linux CD to make the USB stick, but for unknown reasons this completely failed. (I ended up getting a a premade stick from Nicholas.)
Making matters worse is that documentation is virtually nonexistent (which is to be expected). So you either have to figure out things by trial and error or search through the forum. OpenELEC doesn't even include a terminal, so the only way to get a command line is with ssh, though once in, you'll find few commands actually work because they've been removed.
But OpenELEC provides what it advertises: fast boot time, about 20 seconds from pushing the power button on the case to xbmc being fully responsive. My TV nearly takes as long to turn on and display terrestrial broadcasts. Shutting down is mind boggling fast (less than one second) and is done by pressing the power button. (It is so fast I had to convince myself that it was actually shutting down properly, as opposed to just killing the power.)
The system is primarily configured from within xbmc though an add-on. Network settings, etc. are configured here. In fact, I haven't figured out any other way to configure the network. I can't even find where the network settings are actually stored because /etc/network/interfaces doesn't exist.
After using OpenELEC for a few weeks now and getting used to its quirks, I like it. For now, I'm going to leave it installed and see how thing go.
In Part 3, I'll present the exact steps that Nicholas and I did to set up a system using the xbmc 10.04 install disk. Part 4 will be for OpenELEC.