Xbox Linux

This is an old page saved for posterity. It is no longer updated.

xboxAs standard the Xbox will only run code signed by Microsoft. My Xbox is fitted with an Xecuter 2 mod chip (although any mod chip will do) which opens up the possibility of running unsigned homebrew code such as Xbox Linux, the Xbox Media Player or MAME-X. The installation of any of these does not affect the ability to play Xbox games although it is necessary to turn off your mod chip if you want to use the Xbox Live online service as MS will not allow modded boxes to connect.

Update: You can now boot Linux on an unmodded Xbox using a save game file from ‘007 Agent Under Fire’ More here.

The first thing most people say when you tell them you can install Linux on an Xbox is ‘how do you control it without a keyboard and mouse?’ Well, firstly you can log in via SSH and operate it remotely or you can easily make an adapter to connect a standard USB keyboard and mouse to the controller ports as they are just standard USB with a different connector.

As the Xbox is so close to an x86 PC architecture wise, once the system is installed you can run any standard x86 code without change.

Screenshots
(click them, they get bigger)

Screenshot 1 Screenshot 2

It doesn’t look this sharp on your tv of course!

Installation

Installation is pretty straightforward. You may want to backup your Xbox hard drive first although I didn’t bother.

  • First check whether your Xbox has the original 8Gb disk or a 10Gb or larger disk as there are two methods of installation. You can install either into the space after the first 8Gb (providing you have the larger drive) or as two files in the E: FATX partition. Installing into the E: partition has the advantage that you can still use the extra space above 8Gb as drive F: for storing games or additional software.
  • Download Ed’s Xbox Debian Linux 0.1.0 and burn the installation iso (named 0.1.0.testing.iso) to CD. As you may know several different DVD drives have been used in the Xbox so far and most are very picky about which disks they will read. All should read CD/RW and some may read CD-R depending on the blank CD used and the speed it is burned at. Experiment.
  • When the installation disc boots the IP address is set as 192.168.0.2, Subnet as 255.255.255.0 and the Gateway is 192.168.0.1 so if you already have 192.168.0.2 used on your network now would be a good time to unplug your Xbox network connection until the end of the installation at which time you will be prompted for network settings.
  • Connect a USB keyboard and mouse to the controller ports. Note that you can also do an install via SSH but only if the default network settings above are good for you.
  • Boot from the installation CD and when prompted login as root with password xbox
  • Now start the installation proper by right clicking on the desktop and opening an xterm and typing XBOXLinuxInstall
  • When prompted select option 1 for an installation into the game partition (E:) or option 2 for an installation into the F: partition (there is also a third option for using the whole disk but this would only be of interest if you only wanted to use your Xbox for Linux).
  • You will then be prompted for swap and root partition sizes, the default 256Mb for swap and 2000Mb for root should suit most installs into the E: partition, obviously if you are installing into the slack space above the first 8 Gb these sizes will be limited by how big your drive is.
  • The base system will now be installed and you will be prompted for a few network details such as IP address, subnet, gateway and domain.
  • Included in the bz2 file are two other .iso files, boot_fatx.iso (for booting installs to the E: partition) and boot.iso (for booting installs to the F: partition). You can burn the relevant iso to disc to boot your newly installed Linux system or just copy the contained files to a directory on your xbox E: drive and start it with something like Evolution X. Some people have experienced problems with network hardware initialisation when booting from EvoX (SSH won’t work) so you may want to stick to the CD boot method although I have not encountered this problem myself and happily boot from EvoX.
  • Most likely the picture will go off the side of the TV screen due to the overscan feature of televisions. This can be corrected with nvtv, download this static version and pick a mode which suits you. You can also give nvtv command line switches such as “nvtv -t -r 640,480 -s Normal” so it can be included in a script.
  • You can now apt-get install any additional software from the standard i386 Debian distribution. First do an apt-get update and then apt-get install packagename or use dselect. Have fun!

Links

Last modified: 21 July 2012