Difference between revisions of "Linux on Apple TV"

From AwkwardTV
Jump to: navigation, search
m (awkwardTV dev notes)
m (awkwardTV dev notes)
Line 4: Line 4:
 
Join the discussion on the [irc://irc.moofspeak.net/awkwardtv IRC Channel].  
 
Join the discussion on the [irc://irc.moofspeak.net/awkwardtv IRC Channel].  
  
'''April 2, 2007 Update:''' [http://appletvbbs.com/showthread.php?t=61 Another AppleTV board hosts a message from a user claiming to have booted a linux kernel] He claims to have used the same information we've linked to [http://www.madingley.org/macmini/ on pre-bootcamp mac mini linux work.] Like previous claims, this is unsubstantiated with any verifiable steps (as of yet). We've contacted him, so we'll soon see if we have something to work with. '''Update 2:''' looking like yet another person who enjoys making false claims on the intraweb.
+
'''April 2, 2007 Update:''' [http://appletvbbs.com/showthread.php?t=61 Another AppleTV board hosts a message from a user claiming to have booted a linux kernel] He claims to have used the same information we've linked to [http://www.madingley.org/macmini/ on pre-bootcamp mac mini linux work.] Like previous claims, this is unsubstantiated with any verifiable steps (as of yet). We've contacted him, so we'll soon see if we have something to work with. '''Update 2:''' looking like yet another person who enjoys making false claims on the [http://en.wikipedia.org/wiki/Interweb intarwebs.]
  
 
'''March 30, 2007: MacOS X can be run on the AppleTV.''' More information is available elsewhere on the wiki; This could mean easier access to the EFI firmware modules, which would enable us to discover what patches elilo needs to run.
 
'''March 30, 2007: MacOS X can be run on the AppleTV.''' More information is available elsewhere on the wiki; This could mean easier access to the EFI firmware modules, which would enable us to discover what patches elilo needs to run.

Revision as of 18:56, 2 April 2007

awkwardTV dev notes

Many of us would like to see a minimal AppleTV targeted source distribution emerge with boot and kernel configs, and perhaps scripts for USB or disk image builds. After getting proper NVidia accelerated video, we hope the GeexBox developers will come on board to provide some polish.

Join the discussion on the IRC Channel.

April 2, 2007 Update: Another AppleTV board hosts a message from a user claiming to have booted a linux kernel He claims to have used the same information we've linked to on pre-bootcamp mac mini linux work. Like previous claims, this is unsubstantiated with any verifiable steps (as of yet). We've contacted him, so we'll soon see if we have something to work with. Update 2: looking like yet another person who enjoys making false claims on the intarwebs.

March 30, 2007: MacOS X can be run on the AppleTV. More information is available elsewhere on the wiki; This could mean easier access to the EFI firmware modules, which would enable us to discover what patches elilo needs to run.

If you want to know why linux isn't running yet, see how linux was made to run on the intel mac mini pre-bootcamp: [1] [2]

The 2006 osx86 EFI thread has some interesting info.

rEFIt released a new version recently, try and install it on an OSX enabled AppleTV

Amit Singh's discussion on the EFI shell environment.

Understanding MBR, APM, & GPT

Point of interest: The AppleTV can boot from an external USB hard drive with a properly setup AppleTV OS partition. No word if USB memory sticks can be used yet. This may be a good avenue for testing linux projects.

Obviously, it is recommended that you do a full backup of your original AppleTV drive before experimenting. Linux instructions can be found at the bottom of this wiki page. You will need about 40GB of space.

Bootloader

Since Apple TV is EFI-based and apparently has no CSM BIOS emulation, we need an EFI-based bootloader.

rEFIt

The rEFIt Project is a good starting point. rEFIt is a boot menu and maintenance toolkit for EFI-based machines like the Apple TV. It can boot multiple operating systems and provides an easy way to enter and explore the EFI pre-boot environment.

Myths and Facts About Intel Macs A good primer, recommended.

rEFIt was originally designed for Intel Macs, but may see another use on AppleTV. An tester using an external USB drive attempting to boot into rEFIt reports that it failed. You may know a different method, feel free to try.

elilo

elilo is an EFI linux boot loader. http://www.mactel-linux.org/wiki/Using_elilo has some information on using it with Intel Macs.

Work In Progress

Booting must be achieved with a bootloader such as elilo due to AppleTV's EFI firmware. We have not had much success with the rEFIt kit as of yet. If you know of other tools, please post them at the bottom of the page.

Hint: Enabling netconsole in the kernel is highly recommended

Hint: Adopting the existing imacfb driver in the linux kernel should be explored, perhaps before experimenting with VESA. We have been told that VESA may be a dead end...

Recommended reading:

  • www.tianocore.org Intel-sponsored open-source EFI Framework initiative. Has devkits.

Barebones Packages

Useful distros:

Required packages:

Discovering the proper elilo configuration is the key to linux on AppleTV.

Source included in many distros. Required for customization, of course.

Provides the video acceleration; unknown if HDMI output works.
May be dependent on the PC BIOS architecture, will not load without work.
FIXME: details please. VGA BIOS emulation?


Suggested packages for a minimal distro:

We would prefer a lightweight X alternative or optimized/minimal X11 build.
Note: KDrive is framebuffer only.

Chipset Support

See the AppleTV components wiki to assess driver functionality under linux.

Wireless Support

The AppleTV wireless card is based on the Broadcom BCM94321MC chip.

Note: AppleTV's Broadcom BCM43xx based mini-PCI wireless card may not have stable Linux kernel drivers, but a Atheros mini-PCI wireless card could be directly substituted in the AppleTV unit. Someone will have to test if the standard MacOS X kernel can use the Atheros chipset.

  • Use the Windows Drivers along with NDISWrapper

See the following for help on how to do this: http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation

  • The following is untested as of yet:

Since late 2005 there have been drivers for the Broadcom wireless (43XX chipset - This is used in all current macbooks and the AppleTV). Here is a basic how to to get wireless working on an apple desktop running linux and it may be helpful for AppleTV users.

  • Download the driver files from one of the links below:

http://boredklink.googlepages.com/wl_apsta.o http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2

  • Download and install the latest version of bcm43xx-fwcutter from:

http://developer.berlios.de/project/showfiles.php?group_id=4547

  • Execute: mkdir /lib/firmware
  • Execute: bcm43xx-fwcutter -w /lib/firmware insert_driver_from_step1_here
  • Make sure you have iwconfig installed.
  • To use this driver, execute: modprobe bcm43xx

However I must note, this was valid for previous versions of the broadcom cards (b/g). The N capable version in the AppleTV will most likely not be compatible until a new driver file is released for it.

***update*** It may be possible to use the latest firmware for windows and extract the firmware from that: http://www.x-drivers.com/component/option,com_remository/func,fileinfo/id,9957/

Video Support

We need answers on whether NVidia's current binary drivers will output video on AppleTV. They only provide acceleration under Xfree86/XOrg as far as we can tell. NVidia's current documentation may give you some insight. Update this section if you know how to get 2D acceleration with the NVidia 7300 *without* X under linux. We could work with just an accelerated framebuffer to start.

NVidia's current drivers have HD output bugs, with no ETA for fixes.

Another method: DirectFB, released March 4, 2007, is a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers, not only on top of the Linux Framebuffer Device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware. DirectFB adds graphical power to embedded systems and sets a new standard for graphics under Linux.

EFI Firmware

Apple may decide to disable some "features" in the future (ala Microsoft xbox360). We need someone to figure out how to dump a copy of the current AppleTV firmware, in case we need to revert. Desoldering the EEPROM will be a last resort. Please edit this wiki section with new information/instructions.

Do not post a link to the firmware image, that would be illegal.

Useful Linux Distributions

There are several Linux distributions specialized for Media Center usage.