Search:  
Gentoo Wiki

OpenXDK

Wikipedia has an article on:
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 :

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 ;)

Retrieved from "http://www.gentoo-wiki.info/OpenXDK"

Last modified: Sun, 07 Sep 2008 03:20:00 +0000 Hits: 13,435