Hello. If you’re reading this, then I have good news
I have essentially completed the CrystalHD for AppleTV project that I began as far back as June 2010. The project now offers the following:
- Installation of Linux onto the Apple TV’s hard drive, or onto a USB flash drive
- via a UI installer in Windows
- via a UI installer in Linux
- XBMC Dharma
- CrystalHD Drivers
- Audio over HDMI
- Self-updating system
- Much more..
Undoubtedly, the most challenging aspect of development was the UI installers. Creating images with the software pre-packaged was simple enough, and I’d been successful in this technique as early as June last year. What was more difficult was manufacturing a UI installer that could either image a USB with a live image or an image that would install the software for the user on the internal drive. The Windows installer requires many external libraries such as the usbit (thanks to Alexander Beug imaging is possible). Combine that with the fact that Windows offers next-to-none integrated image and device manipulation mechanisms, unlike Linux where they are rife (namely dd, parted, mount etc), developing a UI installer is difficult. My injection method into the installer image relies on a marker I created and then located using a hex editor, where the distribution the user picks is injected as a byte array to this point. In essence, I had to write an application in Windows that manipulates a Linux filesystem that houses an OS that then emulates an EFI based Mac. Tri-platform . This challenge has contributed to the project’s delay, as have other things going on in my life.
I’d like to thank the XBMC community for the excellent support that it shows developers. When I released my initial image in June, I had no idea whatsoever of the immense popularity it would receive. Looking back at the old forum thread now I see that I managed to get over 1000 replies and over 200,000 page views. Message received: People wanted this image maintained and updated in the future. What I’d like to think I’ve done now is make installation a lot simpler by providing a friendly UI that allows installation onto either USB or the internal drive which was very much left alone to following erroneous tutorials where novices were confused by the mention of “/dev/sda”. By making installation simpler and hassle free, I hope that I have helped people realise the feasibility of loading Linux onto their device to enjoy performance gains, where they may have previously considered the task too challenging.
I did say I was going to produce an Arch image. And I did. But apart from the fact it was more up to date than Ubuntu there seemed to be no perceivable gain in performance. In fact, there was a loss of functionality, primarily HDMI sound output, which meant that at this point in time where Hardy is still fit for purpose, there is no need to release an Arch image and double the level of maintenance that must be undertook. I will reconsider this on April 30th, the date on which Hardy will become EOL.
Please consider making a donation
As you are aware of, I have put a considerable amount of time into this project. I have had to make distribution specific images, an image to then install that image on to the hard drive, scripts to auto update the system, scripts to configure the system and two UI installers for two different platforms. Donations, I assure you, will result in future development of this project and will encourage me to spend more time on it. I am going to be in a constant state of maintenance as I maintain the auto-updating service for CrystalHD drivers and XBMC releases. If you feel that this project has helped revive your aTV, or at the very least made the process of getting Linux on your system easier, consider making a donation.
Enough! – where can I get the images?
The images are available through the UI installer (Xenity based on Linux) and these installers are obtainable from the project page here. It is recommended you consult the README file for the installer you are using and the distribution you are using — the FAQ will help solve any common problems that you might have.