XeLL

From Free60 Project

XeLL is the Xenon Linux Loader. It's a second-stage bootloader which is loaded by a loader.

XeLL catches CPU threads, sets them up, loads an ELF file from either network (tftp) or CDROM (ISO9660), and launches it. It's made to boot linux. Thus it also contains a flat device tree for linux.

lwIP (http://www.sics.se/~adam/lwip/) is used for networking. Network config is currently hardcoded in network.c (and main.c), and probably needs to be modified if you want to use it.

XeLL is in a very early stage, but is (most of the time) fully working.

XeLL is available at http://free60.cvs.sourceforge.net/free60/xell/. There are currently no binary releases.

Building and running

0. Make sure that you have a working Cross Compiler toolchain.

1. Grab the sources from the sourceforge CVS repository:

    cvs -d:pserver:anonymous@free60.cvs.sourceforge.net:/cvsroot/free60 login

When asked for a password, just press return.

    cvs -z3 -d:pserver:anonymous@free60.cvs.sourceforge.net:/cvsroot/free60 co -P xell

2. Compile it using your cross compiler (depending on the name of your cross compiler, you may have to adjust the name after CROSS=):

    cd xell
    make CROSS=powerpc64-unknown-linux-gnu-

3. Use the serial loader from Crawler360 to download the XeLL to your Xbox360 and run it.

4. Alternatively the readcd method can be used which does not require a serial cable. To make XeLL work with readcd you must change the first offset in rom.lds from

    ENTRY(_start)
    SECTIONS
    {
      . = 0x8000000001300000;
      .....

to:

      . = 0x8000000001310000;