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