Cromwell is a replacement firmware for the Microsoft Xbox gaming console that has been developed by the Xbox Linux Project. If programmed onto the onboard flash chip of the Xbox or a modchip, it can boot the Linux operating system and practically convert the Xbox into a full PC.
It is unusual in that it is a legal firmware (because it does not use any of Microsoft's code to function) and was developed primarily through reverse-engineering of the original Microsoft BIOS and its boot process. In light of this, many Xbox modchip manufacturers ship this firmware with their chips to avoid litigation and copyright infringement claims. The main function of this firmware is to load the Linux operating system, although it also supports other features, such as the ability to reprogram the hardware with another firmware image, lock and unlock the hard disk, and change video mode (PAL/NTSC). Unlike the vast majority of Xbox firmware images, it is not able to load Xbox games (either original or otherwise). This is because the original Microsoft firmware image contains the kernel of the Xbox operating system (widely believed to be a stripped-down Windows 2000 derivative) - that is, the firmware is the operating system. As Cromwell does not contain this, it is not able to allow games to load and function.
Cromwell includes code from other open source projects, but combines them in a unique way. This is a list of components that can be found in Cromwell:
- a Linux 2.6-derived USB stack in a standalone version (i.e. it runs without Linux)
- Linux kernel-derived JPEG decompression code
- Etherboot networking code
- GRUB filesystem support and bootloader code
XbeBoot is a version of Cromwell packaged as an Xbox Executable (xbe), allowing it to be booted from a 3rd party dashboard as an application.