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

Download the Latest Xebian         Download the Latest Gentoox

 

MechInstaller HOWTO - how to prepare your Xbox for Linux without opening it

by Michael Steil

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:
still run all your original games
still have the Dashboard and play audio CDs
still play video DVDs if you own the dongle
still not play any copies!
not be able to show the "Xbox Live" setup any more(this will change in a future release of the MechInstaller) - if Live is already set up, Xbox Live games will work

and
run Linux from hard diskthrough an extra menu entry in the dashboard
run Linux all installation and live CDsfrom http://xbox-linux.org that have been released after August 1st 2003; at the moment, this is only Ed's Debian.

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 Need

You need:
any Xbox (except for the Japanese version)
the Xbox game MechAssault (original version, see below)
a USB memory stick (note that you will have to overwrite it) or another USB mass storage device, such as a SD card reader or digital camera (look at the compatibility list )
an Xbox USB adaptor
a Linux, BSD, Mac OS X or Windows computer with USB connectivity

(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 Procedure

The 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
Backup all data on the USB stickbecause it will be overwritten.
Format the USB stick: When the Xbox is in the Dashboard, connect the memory stick to the Xbox using the USB adaptor cable, and wait some seconds. Then enter the memory menu. You will see a notice that the USB stick has been formatted. If the USB stick is not detected, try again, wait longer before entering the memory menu, or try another USB stick.
Find out the formatted size of your USB stick: The Xbox will tell you the amount of free blocks on the USB stick, some number around 500 (8 MB), 1000 (16 MB), 2000 (32 MB), 4000 (64 MB), 8000 (128 MB) or 16000 (256 MB).
Connect the USB stick to your Linux, BSD or Mac OS X computer, Windows users can skip most of this. ( Mac OS X users: The computer will say "Disk contains volumes that Mac OS X cannot read" - just click "Ignore")
Find out the device name of the memory stick: Copy and paste the following text into your text editor ( Mac OS X users: don't forget "Format->Make Plain Text"in TextEdit), and save it as findfatx.sh in your home directory

for i in /dev/sd? /dev/disk?; do
test FATX = $(dd if=$i bs=4 count=1 2> /dev/null) 2> /dev/null && echo $i
done
On the command line ( Mac OS X users: Applications/Utilities/Terminal), type sh findfatx.sh - the script will tell you the device name of the USB stick, probably something like /dev/sda or /dev/disk2. If there is no output, you have no Xbox-formatted USB stick connected.
Download the MechInstaller images here and extract the ZIP file, MechInstaller-1.0-FATX-Images.zip. It contains three images.
Copy the savegame data to the USB stick: If you are certain that the device name is correct, write the the MechInstaller image of the correct size to the USB stick, by entering the following onto the command line:

cp -f MechInstaller-1.0-FATX-<yoursize>.img $(sh findfatx.sh)
If you have a less than 2000 blocks USB stick, use the image "MechInstaller-1.0-FATX-8MB-to-32MB.img".
If you have a memory stick with at least 2000, but less than 4000 blocks, use "MechInstaller-1.0-FATX-64MB.img".
If you have a memory stick with at least 4000, but less than 8000, use "MechInstaller-1.0-FATX-128MB.img".
If you have a memory stick with at least 8000, but less than 16000, use "MechInstaller-1.0-FATX-256MB.img".
If the correct image didn't work, please try all other images one by one.
Pleaseemail Michael Steil and tell him about the brand and type of the USB stick, as well as the size and the detected number of blocks, or enter the data yourself into the compatibility list Wiki.

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.
Connect the USB stick to your PC and launch the program.
Press Open 32MB image button and locate the required FATX image file
Press Write to xxx MB Stick button and the program should write the image file to the USB stick (you should choose the button corresponding your USB stick size).

Now you have a USB stick that looks like an Xbox memory unit to the Xbox and contains the savegame that starts the MechInstaller.
Preparing your Xbox

Now you need to copy all savegames from the USB stick to the Xbox hard disk, so you can load them from MechAssault without the USB stick being connected.
Connect the USB stick or Xbox memory unit containing the MechInstaller savegame to the Xbox and run the Dashboard
Select "MEMORY"
Select your memory unit
Select the savegame "Install Linux" - if the memory unit does not contain any savegames, then the image you have written had the wrong size. Try again using another image (Linux, BSD, Mac OS X) or press another button to write the image (Windows).
Select "COPY"
Select "XBOX HARD DISK"
Copy the uninstaller and the emergency system: Repeat the same with the savegames named "Restore Dashboard" and "Emergency Linux".
Backing up your Xbox Hard Disk Key

In case of problems, it is important that you have your Xbox hard disk key.
Insert the MechAssault game
Select "CAMPAIGN"
Select "Emergency Linux"
Get the key: Using a telnet connection to 192.168.0.3 (a USB keyboard will not work in the Emergency Linux)

telnet 192.168.0.3
log in as root, password xbox, and type

xbox_tool -a
Then write down the hard disk key.
Making the Xbox Linux-compatible
Insert the MechAssault game
Select "CAMPAIGN"
Select "Install Linux"

Your Xbox will now be prepared. This will take some seconds. Afterwards, your Xbox is fully Linux-compatible, and there is an item "LINUX" in the Dashboard main menu which boots a minimal Linux system. Use an installation CD from http://xbox-linux.org to install a full Linux system.
Undoing the changes

You can always fully undo the changes by selecting "Restore Dashboard" in the "CAMPAIGN" menu of MechAssault.
Removing the Savegames

You can delete the "Install Linux" savegame from hard disk, if you wish, it is not needed any more. If you don't plan to undo the changes, or if you can have the MechInstaller memory unit again when you wish to undo them, you can also delete the "Restore Dashboard" savegame.
Using your Modified Xbox

You can use the Xbox as before, you can play games and video DVDs (if you have the dongle), and you can run Linux. But you have to be cautious with the following:
Video DVDs will not work if they are already in the DVD drive when you turn on the Xbox. Instead, insert them when the Dashboard is running.
If you select "LINUX" on the Dashboard, a minimal Linux system with text mode only will start. After you install a full Linux system to E:, this will be booted if you select "LINUX".
You can install a full Linux system by inserting an Xbox Linux installation CD, such as Ed's Debian. As with video DVDs, only insert them when the Dashboard is running.
Creating a MechInstaller Xbox Memory Unit

With the savegames on your Xbox hard disk, you can easily copy them to a standard Xbox Memory Unit using the Dashboard, which you can give to your friends, so that they don't need a USB stick and the USB adaptor cable to prepare their Xboxes.
Troubleshooting
Flickering Screen

If your screen starts flickering after you select "Emergency Linux" and you can't see anything on the screen, then you have an Xbox manufactured since August 2003 (version 1.4+ Xbox). There is nothing wrong with that, a full Linux system such as Xebian will work without any problems, just the Emergency Linux shipped with MechInstaller does not support the new video encoders yet.
Error Message

Also, some users noticed that Emergency Linux prints the line "sh: can't access tty: job control turned off" at the end. Just ignore this message.
USB Keyboard

No, USB keyboards cannot be used with MechInstaller 1.0 Emergency Linux yet. Just telnet connections work. A full Linux supports keyboards.
Black Screen

If you get a black screen when selecting "Install Linux", your Xbox is very new. Try this workaround:

Notice: If your Dashboard version is >= 1.00.5659.0, you need to downgrade the Dashboard first (see below)!
start MechAssault
plug in Ethernet cable
"Multiplayer" -> "Xbox Live" -> A button -> "MechWarrior" -> A button (upgrade Dashboard)
start MechAssault again
"Campaign" -> "Emergency Linux"
upload fonts-2004-01-15.tar.gz to ftp://192.168.0.3/mnt/E
telnet 192.168.0.3 (user: root, pass: xbox)
type

cd /mnt/C/fonts
tar xzf /mnt/E/fonts*.tar.gz
mv XBox Book.xtf XBox Book.bak
mv Xbox.xtf Xbox.bak
mkdir /mnt/C/Linux
cd /mnt/E/UDATA/4d530017/E8FF68C9193B; cp -p default.xbe linuxboot.cfg vmlinuz initrd /mnt/C/Linux
umount /mnt/C
reboot and remove the game

This is the equivalent to "Install Linux". Your Dashboard will now include the menu item "LINUX".
'Install Linux' fails

If your Dashboard version is >= 1.00.5659.0, you need to downgrade the Dashboard first. Get the 500 MB image of a pre-5659 C: drive (/dev/hda51; this is legal if you have possessed an old version before, if not, we can't tell and it is up to you), upload it to ftp://192.168.0.3/mnt/E, telnet 192.168.0.3 (user: root, pass: xbox) and type:

umount /mnt/C
cat /dev/discs/disc0/part51 > /mnt/E/backup-C.raw
cat /mnt/E/Xbox_Dashboard_pre_Live_C_FATX_image.raw > /dev/discs/disc0/part51

In case anything goes wrong, you can restore the old version:

umount /mnt/C
cat /mnt/E/backup-C.raw > /dev/discs/disc0/part51
Everything done on this project is for the sole purpose of writing interoperable software under Sect. 1201 (f) Reverse Engineering exception of the DMCA.

Main - Contact - Linux Education - Linux Information - Resume - Laptop Linux - Wireless Linux - Technology and Modding - Xbox Linux