OpenXDK
Contents |
Introduction
This document's goal is to guide you through the installation of the OpenXDK. OpenXDK is a free, legal and opensource development kit for the XBox.
If you're interested in this, you should also have a look to :
- Th0mas's OpenDash, the first OpenSource and legal XBOX's dashboard
- The related thread @ xbox-scene.com
From OpenXDK's Website :
OpenXDK is a kit for developing applications that will run on the Microsoft XBOX. It has the following features:
- Compilable using a GCC-based toolchain. It now compiles using the Cygwin GCC compiler. Unfortunately, as much as it would have been desirable to support both MS and GNU toolchains, the practicalities are such that the MS compilers are no longer supported. Sorry! (Although, theoretically, you should be able to compile your application using the MS compilers and link in the GCC-compiled OpenXDK libraries.)
- It now contains a complete libc replacement (thanks to newlib.) This means that 99% of the normal stdio, memory, sprintf, et al routines are available.
- Multimedia support is provided using the Simple DirectMedia Layer (SDL) and supports video, audio, joysticks and event handling.
- To demonstrate the capabilities of the current OpenXDK framework, the SDL port of Doom (without sound or networking) is able to be compiled and executed. You will need to find a DOOM1.WAD (shareware) and put it in the root of your XBOX's C drive.
- Networking is currently not supported. If you have experience in interfacing with the NVidia nForce MCP-D chip at the hardware/driver level, please get involved!
Requirements
dev-util/xmingw-binutils dev-util/xmingw-gcc dev-util/xmingw-w32api
Optionals :
cvs [ emerge cvs ]
Installation for the Impatients
As root :
| Code: Ready? Set, Go! |
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/openxdk login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/openxdk co -P OpenXDK cd OpenXDK ./autogen.sh ./configure --prefix=/usr/local/openxdk --host=i386-mingw32 make |
| File: Symlink correction script |
#!/bin/bash
for I in ar as dlltool gcc ld nm ranlib strip windres
do
rm ./i386-pc-xbox-${I}
ln -s /opt/xmingw/bin/i386-mingw32msvc-${I} /usr/bin/i386-pc-xbox-${I}
echo "Done ${I}"
done
|
Installation
Latest Stable Release
Get it from Sourceforge.
CVS
1) grab latest cvs (should i do this with latest release? no more luck yet)
| Code: Log in the cvs repository |
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/openxdk login |
when prompted for a password, just hit enter.
| Code: Grab the cvs |
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/openxdk co -P OpenXDK |
Compilation
Just enter the OpenXDK folder and run:
| Code: Running autogen.sh |
./autogen.sh |
Now let's go for configure :
| Code: Running configure |
./configure --prefix=/usr/local/openxdk --host=i386-mingw32 |
Now as root :
| Code: Compiling |
make |
Most probably it will fail here too. This is because some symlinks are erroneus.
First, we don't need the ones in the current directory unless we set PATH to find them. What we need to do is to symlink this way :
| File: Symlink correction script |
#!/bin/bash
for I in ar as dlltool gcc ld nm ranlib strip windres
do
if [ -e ./i386-pc-xbox-${I} ]; then
rm ./i386-pc-xbox-${I}
fi
if [ -e /usr/bin/i386-pc-xbox-${I} ]; then
rm /usr/bin/i386-pc-xbox-${I}
fi
ln -s /opt/xmingw/bin/i386-mingw32msvc-${I} /usr/bin/i386-pc-xbox-${I}
echo "Done ${I}"
done
|
Then run make once more.
This is where i'm stuck for now. make complains about missing windows.h.
I'm searching for a fix.
If you want to try OpenXDK anyway, there's a script that will install it from binaries packages http://th0mas.xbox-scene.com/releases/OpenXDK-install-linux.sh
TroubleShooting
If autogen sends you to hell with :
| Code: autogen.sh error |
aclocal: configure.in: 10: macro `AM_PROG_AS' not found in library src/xboxkrnl/Makefile.am:2: invalid unused variable name: `AM_LDFLAGS' |
You can fix it by exporting the following :
| Code: Fixing autogen |
export WANT_AUTOCONF=2.5 export WANT_AUTOMAKE=1.6 |
Do It, So It (Almost) Works
As stated previously, there's an install script that will attempt to install OpenXDK from binaries.
Download the binary release of OpenXDK, and put in in /usr/local Then run the installer. It will install the cross compiler, and the OpenXDK, along with cxbe (which is needed to relink the binaries so they work on the xbox)..
Just tried it back yet, and i had to add the /usr/local/openxdk/bin/ to the PATH ( PATH=$PATH:/usr/local/openxdk/bin/ )
Moreover, cxbe seems to need some hacking to work on gentoo (i did that once a long time ago, and don't exactly remember what is needed).
More instructions coming (or feel free to complete ;)
Created by NickStallman.net, Luxury Homes Australia
Real estate agents should be using interactive floor plans and real estate agent tools.
