Linux Information, Linux Education, Linux Migration, Linux ISO Downloads, Linux on Laptops, Wireless Linux Xbox Linux

Download the Latest Xebian       Download the Latest Gentoox

How to install Linux on Xbox without the ModChip.

Manifesto

by Michael Steil

The Xbox Linux project aims to create a version of GNU/Linux that runs on the Microsoft Xbox gaming console.
Target

The version of Linux on the Xbox will have three purposes:

A full Linux distributionwith X-Window and KDE/Gnome turns the Xbox into a desktop computer. Using USB connector adaptors, standard PC components can be connected, such as keyboards, mice, printers, scanners and cameras. With a VGA converter, the Xbox can be connected to a standard PC monitor.
The Linux kernelcan be used as a base for standalone applications, such as DivX, DVD and MP3 players, as well as emulators for classic consoles, which need not run on the standard Linux desktop and therefore start much faster. Hobbyists are not allowed to develop software on top of the original Xbox kernel, so the Linux kernel will give them this opportunity.
Windows NT/2000and other i386 operating systems can run inside of a Virtual Machine such as VMware or Plex86, which runs on top of the Linux kernel.

The Xbox Linux version must have the following two properties:

Hardware support: All Xbox hardware must be supported. Linux applications can make use of the hard disk, the DVD drive, the network interface, all USB hardware connected and everything else.
Compatibility: Linux on the Xbox must be as compatible as possible to standard i386 distributions. Every i386 distribution should run on the Xbox only with the kernel and the X Server replaced. Standard i386 RPM packages must run.
Policy

The policy of the Xbox Linux Project consists of the following important points:
The project is completely legal.
We do not have anything to do with software piracy and we are not interested in it at all.
We do not use any non-licensed software for development, such as the Xbox SDK.
Reverse engineering of the Xbox system software is only done in compliance with corresponding local laws.
All new project members are asked to comply to this policy.

 

The Xbox is a PC

by Andy Green, Michael Steil
Isn't it a Console?
Microsoft have been at some pains to describe the Xbox as a 'console'. But in fact the Xbox is a standard 'legacy-free' PC, except for some very minor changes which we will list here. The purpose of this article is to show that the Xbox is a PC, and that even Microsoft themselves do not think of it as a 'games console', but as a platform just like a PC. As we have reverse- engineered the device in great depth to get Xbox Linux working on it, we have some understanding of the design decisions that went into making it, and as we will show: the Xbox is a standard 'legacy-free' PC.
'Legacy Free' PC
Legacy-free is a PC industry term to describe a motherboard which does not offer the traditional set of communication ports, such as Serial ports, Parallel Printer ports, PS/2 mouse and keyboard ports. Some Legacy-free PC designs even get rid of all PCI slots so the case need never be opened. Legacy-free PC motherboards instead replace all of these old IO systems with extra USB ports. In the longer term the old ports (especially the serial port, which is over 25 years old, uses weird voltages and works at a fraction of the speed of USB) is expected to disappear entirely from all motherboards. Companies like HP have been shipping a lot of legacy free PCs for a while now, they are an established and growing trend. Macintosh computers, which share a lot of the PC's design (PCI, AGP, IDE, USB, SDRAM...) did away with the legacy ports years ago.
nVidia
nVidia were central to the design of the Xbox architecture. Not only did they design the graphics logic, which is widely known, but they were also responsible for the peripheral logic housed in a chip called MCPX, and the memory controller which is integrated with the video controller.

nVidia were a natural choice to do the work as they already planned to move into motherboard chipsets. You can buy today motherboards based on the nForce chipset, which bears a remarkable resemblance to the architecture of the Xbox. For example, on an nForce motherboard you will find a "Media and Communications Processor" or MCP chip, that contains most of the peripheral logic. In an Xbox you find the same chip, labelled MCPX.

So just how similar is an Xbox motherboard and an nVidia 420 nForce Chipset PC motherboard?



Feature
nForce
Xbox
Notes

Works with CPU
AMD Athlon
Intel Celeron
Microsoft ended with choosing Intel after courting both

Memory Controller
in nVidia video chip


Memory on Motherboard
DDR DIMMs
8 x SMT DDR
4 fitted for 64MB memory
4 left for expansion

Audio (AC97, AC3, 5.1 output. SPDIF)
yes in MCP(X)
xbox 5.1 on digital only

ACPI Power management
yes in MCP(X)




BIOS on LPC or ISA
yes

IDE controller for HDD and DVD
x2 in MCP
x1 in MCPX

Legacy port: PS/2 keyboard and mouse
yes, in SuperIO chip
on LPC bus

not fitted,
(can be added
on LPC bus)

Xbox is "legacy-free",
no SuperIO (which supplies these ports) chip is fitted.
However the chip can be added
to get the old ports

Legacy port: Floppy

Legacy Port: serial

Legacy port: parallel

USB controller
OHCI x2 in MCP(X)



Ethernet 10/100Mbps
yes in MCP(X)

Video
Geforce 2 MX
~Geforce3
Xbox has better 3D graphics hardware, but it is the same deal

2D/3D video on m/b, shares main memory

Video Encoder for TV out
Conexant
as used on MSI nForce motherboards for example

Connection between MCP(X) and Video chip
AMD Hypertransport



So the Xbox motherboard is fundamentally an nVidia nForce PC motherboard, except for the absence of the legacy peripherals. It's walking like a duck...
Linux compatability
The native Xbox runs a cut-down Windows 2000 kernel. This alone should tell us that we are dealing with something very like a PC, since Windows 2000 currently only runs on PCs. When we came to bring up Linux on the Xbox for the first time in Summer 2002, we found surprisingly little differences in the hardware architecture to cause problems for Linux, except for those covered in the next section.


Feature
Difficulty
Notes

Linux PC Framebuffer Video Driver
None
It's VGA compatible

Linux USB Driver
None
Xbox USB is standard OHCI

Linear Memory layout
None
Same as PC, compatible with Linux

Linux Ethernet Driver
None
nVidia nForce one works fine

Linux Audio Driver
None
nVidia nForce one works fine

Linux IDE driver for HDD and DVD
None
Same as PC


So all of the major subsystems on the Xbox Motherboard pretty much 'just worked' with the normal Linux PC drivers. It's quacking like a duck....
So what arethe differences between the normal unmodded Xbox and the normal open PC that it is so similar to? Some of the differences are explained by the loss of legacy ports, small adaptations for living room use and minor errors in the chipset:


Difference
Notes

Only TV Out video
TV-only, although you can hook it up to a monitor

Problem with PCI Config probing
We assume a small bug in the MCPX logic, probing the PCI config space can freeze the motherboard. Easily worked around in Linux, (as we have the source code!)

System monitoring device
Separate microcontroller used to keep watch on CPU, operate fans for temperature control, etc

Nonstandard USB physical connectors
It's standard USB protocol, but using big nonstandard connectors


These are all quite understandable and have obvious technical reasoning (or at least reasons, in the case of the suspected bug) behind them. But the other differences....


Difference
Difficulty
Notes

Hidden 512 byte initial startup ROM in MCPX
HIGH
Microsoft hide startup code in the MCPX which tries to see if the BIOS is approved by Microsoft before allowing it to run - MICROSOFT ONLY

Cryptographic signatures in the BIOS
HIGH
Microsoft attempt to use very strong cryptography to only allow a BIOS approved by Microsoft to run - MICROSOFT ONLY

System Monitoring Device Crypto challenge
MEDIUM
Unless the BIOS responds soon after startup with a cryptographic sequence to the SMC, it will be reset - MICROSOFT ONLY

RSA Encrypted hashes on Applications
FATAL
Ridiculously strong crypto on the applications (2048 bit RSA, double the keylength many banks use) means that only Microsoft programs can be run - MICROSOFT ONLY


... these differences are there for no technical reason. These functionalities have been added by Microsoft solely to restrict the Xbox to only doing things which they approve of, for commercial reasons. There are no analogous systems or devices on a normal PC, because a normal PC is an open platform where the user can run whatever code they like. Yet as we show the Xbox isa Microsoft-manufactured normal PC except for the additions of these market-restricting mechanisms.
Modchips to the rescue
Current modchips work by defeating the first of these protection mechanisms, where the hidden 512 byte MCPX ROM tries to satisfy itself that it is about to execute a 'Microsoft only' BIOS. Instead the Xbox executes a different or modified BIOS which refuses to maintain the 'Microsoft only' restrictions. In this way, Xbox Linux can run.

Microsoft have been active in trying to suppress modchips claiming that their only use is copyright infrigngement. But the Xbox Linux project have recreated from scratch a 'clean' BIOS which contains no Microsoft code. This clean BIOS is capable to boot Linux (which again contains no Microsoft copyright code) on an Xbox. This BIOS too requires a modchip to physically contain it. Microsoft's continuing efforts to suppress modchips are therefore another way that Xbox Linux is being discriminated against.

So why does Microsoft prefer 'Console'?


It seems to us that Microsoft are quite concerned that their device is not understood to be a PC in console clothing. We suspect this is because of the Antitrust ramifications of Microsoft being seen to have made their own PC platform which will only run software they approve of and make money on.

We have recently asked Microsoft in an open letter to consider signing Xbox Linux, but at the time of writing this article had yet to receive a reply.


Do Microsoft really believe their own 'Console' spin?


It doesn't seem so according to recent reports, they are planning to extend the functionality they offer on this general-purpose PC platform to include programs - including Internet Explorer - which are normally the province of PCs. Yet only Microsoft will be allowed to provide programs for this particular kind of PC, again funded by the winnings from their illegal monopoly in the PC Operating Systems market.



''The Xbox will soon be equipped with portable, handheld device, carrying the name, at least at the moment, Media2Go. Media2Go will be a multimedia delivery system, for both PC and Xbox (using Xbox Live) that will see pay-on-demand movies, music and possible games become a reality for the Xbox. This is the true destiny of Xbox, and its alarming expensive Xbox Live system.''



''Some of this functionality could make it into the Xbox before a new console launch - several sources tell us that Microsoft is considering major upgrades to the Xbox Dashboard in the near future, including a possible integration of Internet Explorer and Windows Media into the console. ''
Conclusion
We have shown that except for the addition of mechanisms designed to ensure that only Microsoft-approved software can work with the device, the Xbox is a normal legacy-free PC.

Next: How to install Linux on Xbox without the ModChip.

Main - Contact - Linux Education - Linux Information - Resume - Laptop Linux - Wireless Linux - Politically Speaking - Xbox Linux