Run Linux on your Xbox and check out my xbLox journal
The Xbox is a legacy-free PC by Microsoft:
As on every PC, you can run Linux on it. An Xbox with Linux can be: You can either dual-boot or use Linux only; in the latter case, you can replace both IDE devices. And yes, you can connect the Xbox to a VGA monitor An Xbox running Linux can be used as:
The best way to run Linux on an Xbox with minimal modification, and without breaking the possibility to play (non-Live) games, is to do the "Software" preparation. As you know, Microsoft has built some anti-Linux protection into the Xbox. This means that you cannot simply download Linux for the Xbox from our website, burn a CD, insert it into the Xbox and do the installation. A stock Xbox only accepts original Xbox games. The "Software" preparation is a trick that installs additional software onto the Xbox hard disk that will allow you to use Linux installation CDs, and run Linux installed on the hard disk from the main menu ("Dashboard") of the Xbox. The software preparation works like this:
As easy as this. The hardest step for most people is to get an Xbox Memory Unit (or a similar device) with the "Software" preparation savegame on it. You can use many (but not all) "USB sticks" and digital digital cameras with USB connectivity as Xbox Memory Units, using an adaptor cable. Connect the device to a Linux, Mac or Windows computer and copy the samegames on it, then connect it to the Xbox and copy the savegames to hard disk.In addition, you will need the game "MechAssault". You won't need it permanently, it is enough to rent it for one day. software preparation ----------------------------- If you buy an Xbox, and you insert a Linux installation CD, by default, it will not be accepted - not because the Xbox is no PC (it is!), but because Microsoft doesn't seem to want you to run Linux. By using the MechInstaller trick, you can make your Xbox Linux-compatible, without ever opening it! A MechInstaller-prepared Xbox will:
and
Important: This method will not work if your Dashboard has been updated through Xbox Live. Read Preventing the Forced Dashboard Online Update for details. Also note that if your Xbox is equipped with a modchip, you don't need to do this trick, as your Xbox will already accept all Linux installation CDs. What you NeedYou need:
(You can use an Action Replay instead of the USB device and the adaptor, if you follow this tutorial.) Note that you need the original version of the game MechAssault, not the "Xbox Game of the Year" version. The newer disk has been patched and can waste a lot of time. The CD labels are identical. Look at the laser etching on the back. The new one says MS02308L while the original is MS02301L. If you have this equipment, as well as an Xbox memory unit, you can permanently create a MechInstaller memory unit, so that all you need to do the same on your friends' Xbox is the MechAssault game and this memory unit! The General ProcedureThe MechInstaller will modify the Xbox's system software on hard disk so that the Xbox accepts Linux. The problem is that this installer itself would be rejected by an unmodified Xbox, that's why we have to apply a trick to run it. It can be wrapped in a savegame, so if you select "Load Game" in the game MechAssault, the MechInstaller will be launched. Now the hard part about this is to get this savegame onto your Xbox. If you have the MechInstaller on an Xbox memory unit already or know someone who has, you can skip the following section, else you have to use a Linux, BSD or Mac OS X computer, a USB stick and an Xbox USB adaptor cable to get the savegame onto your Xbox. Creating the MechInstaller USB Stick
Windows 95/98/SE/ME/NT/2000/XP For Windows users there is a great program called OzXMemory Stick Explorer (can be found at http://www.ozxchip.com/downloads_content.htm which can write the MechInstaller FATX images files to your memory stick. The Program has a GUI so it's quite easy to use.
----------------------------------------- There are six different revisions of the Xbox out there, with one of three different DVD drives, and either a 8 or 10 GB hard drive. What mainboard revision you get, shouldn't matter, because they all work with Linux. The Thomson and Philips DVD drives are very picky about CD/R and some CD/RW media, so you should get an Xbox with a Samsung drive. Most retailers will help you find a Samsung drive: Ask them to open the box (there is no seal at the bottom), unpack the console, connect it to power (no TV and no controllers required) and press the eject button. If the DVD tray has only one big hole in the middle, it's a (bad) Thomson or Philips drive. If it has more holes in the tray, it is a Samsung drive. There is no easy way to tell whether an Xbox contains an 8 GB or a 10 GB hard drive without opening it. --------------------------- The best and most flexible way to transform an Xbox into a Linux-only machine is to do the "Hardware" preparition. It requires opening the Xbox, and do very easy soldering. The advantage over the "Software" preparation (9) is that you can replace either the hard drive by a bigger one, the DVD drive by any other IDE device (like a second hard disk or a CD/DVD burner), or both; and you can use the full space on the hard drive without reserving space for the original Xbox system software.The idea is to reflash the flash chip on the Xbox motherboard with a Linux bootloader. Unfortunately there are two obstacles:
Instead, you have to boot an emergency Linux system that is hidden in a savegame by loading the savegame from inside the game "MechAssault". Then you can preprogramm the onboard flash, if the write-protect bridges are closed. In detail, this looks like this:
As easy as this. The hardest step for most people is to get an Xbox Memory Unit (or a similar device) with the "Software" preparation savegame on it. You can use many (but not all) "USB sticks" and digital digital cameras with USB connectivity as Xbox Memory Units, using an adaptor cable. Connect the device to a Linux, Mac or Windows computer and copy the samegames on it, then connect it to the Xbox and copy the savegames to hard disk. In addition, you will need the game "MechAssault". You won't need it permanently, it is enough to rent it for one day. So what do you think?
hardware preparation ----------------------------- The Xbox is an IBM PC, with one difference: It only runs code authorized by Microsoft, i.e. all executables have to be signed with Microsoft's private key. That's why Linux won't run if you simply insert the Xbox Linux install CD into a standard Xbox. But now, there are several ways to circumvent this limitation:
Please note that depending on your local law, these methods might void your warranty. We will not be responsible for any damage done to your Xbox - or yourself... 1.1 The 007/Mechassault methodBoth the game "007 Agent Under Fire" (Electronic Arts) and the game "MechAssault" (Microsoft) contain malfunctions that make it possible to run Linux by infiltrating Linux. All you have to do is load a savegame that has been modified in a certain way, and Linux will start. The problem is that, with this method, you will have to insert the game CD and select "Load game" every time you want to start Linux. Additionally, it is impossible to eject the DVD while Linux is running. 1.2 The Dashboard methodAnother malfunction in the Dashboard, the application that runs when there is no game in the DVD drive, makes it possible run Linux every time you turn on the Xbox - instead of the Dashboard, Linux will be started. By using the 007/Mechassault methods to install the Dashboard modification, you only have to use the game DVD once, from that time on, Linux will always run when there is no game in the DVD drive - and you don't ever have to open the Xbox. You can even eject the DVD when booting from hard disk. 1.3 The onboard TSOP methodWhen you're in control of the machine, for example by using the 007/MechAssault method to run Linux once, it is possible to overwrite the contents of the onboard Flash chip, which contains the Xbox kernel, with the Xbox Linux BIOS - well, not exactly, the Flash ROM is write protected, so you have open the Xbox and solder at two points on the motherboard (which is very easy) in order to disable the ROM write protection. But then, you can overwrite it. The Xbox Linux BIOS will then always start immediately when you turn on the Xbox, and try to start Linux from hard disk or CD/DVD. The con of this method is, that you cannot play any games any more, but the pro is, that you can replace the hard disk with a bigger one, since the Xbox is open anyway. Doing the modifications2.1 The 007/Mechassault methodIngredients
These are the different methods to write to USB storage devices with the FATX file system:
2.1.1 Copying the savegame to the USB deviceThe idea is to copy a modified savegame (that will make the game crash and load Linux) onto your unmodified Xbox. Without opening the Xbox, this can only be done using an Xbox memory unit. The Xbox also accepts most USB storage media, such as USB sticks or ZIP drives as memory units. 2.1.1.1 Creating the memory unit using another XboxFor this method, you need another Xbox that is modified so that you can upload savegames to the E: drive. Then you have to connect the USB stick or the Xbox memory unit and copy the savegame to the USB device, using the Dashboard's savegame management functions. 2.1.1.2 Creating the memory unit using a FATX-enabled PCFor this method, you need a USB storage device (an Xbox memory unit will not work) and an Xbox USB adaptor. You have to compile a Linux kernel that includes the FATX filesystem, by patching your kernel sources with the Xbox Linux patch and only enabling FATX. Then your PC will be able to read and write FATX file systems. First connect the USB device to the Xbox, using the adaptor, and enter the "Memory" menu, so that the Xbox formats the device. Then connect it to the PC, and copy the savegame files onto it. 2.1.1.3 Creating the memory unit using a Linux-PC and the FATX-imagesIf you happen to have the savegame in FATX image format instead of ZIP/TGZ, you can use a Linux computer to write the raw image to the USB device using the "dd" command. As with 2.1.2, no Xbox memory units will work with this method, and you'll need an Xbox USB adaptor to connect the USB device to the Xbox afterwards. 2.1.1.4 Opening the Xbox and hot-swapping the hard diskThis way, you need no USB device or Xbox memory unit at all, but you have to open your Xbox, hotswap the hard drive when the Xbox is turned on to a FATX- and Xbox-partitioning-enabled Linux computer (i.e. you have to compile a kernel) that is also running and in the LILO/Grub boot menu. The PC will recognize the Xbox hard disk, and you will be able to mount the E: drive and copy the savegame into the subdirectory UDATA. Using this method, the savegame is already on the target hard disk, you can skip the step described in 2.1.2. 2.1.2 Copying the savegame to the Xbox hard diskAs soon as you have the savegame on the USB device, you can connect it to your unmodded Xbox and use the dashboard to copy it to the Xbox hard disk. 2.1.3 Running LinuxNow run the game and choose "Load Game". On 007, choose "Xbox Hard Disk", in MechAssault, choose "Run Linux". Linux will now start. You can repeat this step whenever you want to run Linux, you don't need the USB device any more - you can even use it to copy the savegame to as many other Xboxes as you like. 2.2 The Dashboard methodYou can easily permanently install Linux to the Xbox hard disk, so that it boots every time you turn on the Xbox. You can still run games, just by inserting a game DVD when you turn on the Xbox. It is strongly recommended that you update your Xbox dashboard to the "Xbox Live" enabled version (4 menu entries instead of 3), by selecting "Xbox Live" in any Live-enabled Xbox game such as MechAssault. You don't need an Xbox Live membership, just select the menu entry. Now just run Linux on your unmodded Xbox using the method described in 2.1, then, using Linux, go to C:\, rename the "fonts" directory to "fonts.old", create a new "fonts" directory and copy ernie.xtf and bert.xtf into this directory. Then copy the default.xbe distributed with the Dashboard hack to C:\, as well as your linuxboot.cfg, your vmlinuz and your initrd. The next time you start the Xbox without a game in the drive, Linux will start. You can easily uninstall Linux by just renaming font.old back, using Linux. Note that you need the game every time you want to install Linux, or uninstall Linux if the installed Linux is broken. As long as Linux is installed, you cannot use the Dashboard any more. Warning:If you unplug the Xbox so that it loses the time, the Dasboard will always start when you turn on the Xbox, asking for the current date and time, ignoring a disc in the DVD drive. If this happens, and the Linux on your hard drive is broken (missing kernel or initrd, for example), there is currently no way to uninstall Linux without opening the Xbox, because you cannot run a one-time-Linux using the method described in 2.1 any more. Please be careful, we're working on a solution already. Note that this does not apply to the MechInstaller method. There is the possibility that you run into similar problems when the MechInstaller method has been applied to your Xbox, but it can easily be solved by just turning the Xbox on and letting it loop for half an hour. 2.3 The onboard TSOP methodAnother method to install Linux permanently is to reprogram the Flash ROM on the Xbox motherboard with the Xbox Linux BIOS. But for this solution, you need to open the Xbox and solder two bridges on the motherboard, to disable the write-protection, as described on Xbox-Scene. Please ignore the paragraph about modchips and "EvoX", just close the two bridges. Afterwards, run Linux using the 007 or MechAssault method described in 2.1. Upload raincoat and the Xbox Linux BIOS ("Cromwell") image to your Xbox, if you don't have them there already, and type raincoat -p cromwell.bin Caution! If you have a 1.0 or 1.1 Xbox (1 MB Flash ROM), you need to use the 1024 KByte version of the image, or else you will break your Xbox! Every time you turn on the Xbox, the Xbox Linux BIOS will start and ask for a Linux installation CD, as long as you haven't installed Linux to the hard disk. Please note that the Xbox Linux BIOS will not run any games! -------------------------- If you want to replace the Xbox hard disk with a bigger one, do it now. It must be configured as "Master". You can also replace the DVD drive with another optical drive; it must be "Slave". (After the installation, you can replace the DVD drive with a second hard disk as well). Please be careful, you might have trouble with hard disks > 137 GB; we strongly recommend smaller hard disks. You probably want to install a full Linux distribution, such as Debian for the Xbox. The download page will help you choose the distribution you want. Please be careful: The distribution must explicitly support Xboxes. Write the ISO image to a CD/RW, a DVD/R or a DVD/RW (details about optical media here, section "Preparing to install") and insert it after the Xbox main menu ("dashboard") has been loaded. The specific documentation of the distribution will tell you details about the installation.When the installation is complete, the "Xbox Linux Clean BIOS" will automatically boot the full distribution. If you want to connect a USB keyboard, a USB mouse or other USB peripherals, read this to build an adapter yourself or this to make someone build one for you - for free. thanks to http://www.xbox-linux.org
|
|||||||||||||||||||||||||||||||||||||||||||||||