Free60Project / xell-reloaded

Xenon Linux Loader RELOADED / 2-stages
65 stars 41 forks source link

XeLL-Reloaded

A Xenon Linux loader based on Xell by tmbinc(Felix Domke)

XeLL-Reloaded catches CPU threads, sets them up, loads an ELF file from either network (tftp), USB(fat/ext2fs), CDROM (ISO9660) or HDD(fat/ext2fs/xtaf), and launches it. It's made to boot Linux, so it contains a flat device tree for Linux. However, it is able to load other ELF files as well, like applications based on LibXenon.

XeLL Reloaded checks for ELF/UpdXeLL/Kboot-config or updflash.bin in the following order:

USB (FAT/EXT2FS) DVD(ISO9660) HDD(XTAF/FAT/EXT2FS): updxell.bin kboot.conf xenon.elf xenon.z vmlinux updflash.bin

Network: updxell.bin kboot.conf xenon.elf xenon.z vmlinux updflash.bin (It will find that file, but refuse to flash it!) DHCP supplied bootfile-name

updflash.bin is a already remapped flashimage/nandimage. 16MB file for 16MB NAND and 64MB file for 64/256/512MB NAND.

updxell.bin is a renamed xell.bin file. Version depending on the used hack (JTAG XeLL: xell-1f (oldies) xell-2f (modern), RGH XeLL: xell-gggggg)

kboot.conf (modified for XeLL) is a configfile General XeLL config: Set TFTP-Server, CPU-Speedup, videomode, NetConfig Menu: Parses bootentries, shows a user controlable menu with XboxController/UART/IR Remote It can parse bootarguments for linux kernels & can load initramfs/initrd

xenon.elf/xenon.z/vmlinux can be either gzipped or bare ELF32 binaries - LINUX or Homebrew

There's also a HTTP Server running while XeLL searches for executable binaries. It can serve the CPUKey/DVDKey and the console's flashdump.

UPDATING XELL

  1. Rename the appropriate XeLL-binary to "updxell.bin".
  2. Supply the updxell.bin file to XeLL via USB/DVD/HDD or TFTP
  3. It should find the update and flash it
  4. Reboot your Xbox and enjoy the fresh XeLL build

Troubleshooting:

updxell.bin doesn't get found / updxell process doesn't start: --You have to rebuild your whole hackimage with a recent XeLL. From there on you can use the inbuilt update feature updxell function reports that no XeLL binary was found in NAND: --Either your XeLL in NAND is too old or it's not a XeLL Reloaded binary - You have to rebuild your whole hackimage with a recent XeLL.

FLASHING NAND

  1. Rename the new (already remapped) flashimage to "updflash.bin"
  2. Supply the updflash.bin file to XeLL via USB/DVD/HDD
  3. It should find the update and flash it
  4. Reboot your Xbox and enjoy the new image

Troubleshooting:

XBox does not boot properly after flashing the NAND: --Either your image wasn't properly remapped or you made something wrong while building the image

USING KBOOT.CONF

  1. Read and understand the kboot.conf.sample which is part of every XeLL release with kboot-support

  2. Modify the file to your needs

  3. Supply it, named as "kboot.conf, via USB/DVD/HDD or TFTP

  4. Boot XeLL and wait till it loads the file and shows the menu

  5. Navigate to the desired bootentry. You can do this in the following ways: UART:
    UP/DOWN to go up and down in the menu ENTER to confirm your choice C to cancel the menu

    X360 Controller (1st): DPAD-UP/DPAD-DOWN to go up and down in the menu A to confirm your choice B to cancel the menu

    X360 Media Remote: UP/DOWN to go up and down in the menu OK to confirm your choice Press the NUMBER of the desired bootentry to directly load it B to cancel the menu

  6. Let the bootentry load. Enjoy :)

Troubleshooting:

kboot.conf gets found but it doesn't show bootentries or autoloads a bootentry: --Make sure timeout is set to something higher than 0 --Make sure you didn't forget the "" on the bootentry: label="kernelpath params" --Also take care of using a texteditor which doesnt automatically break lines if they are too long (will break bootentries), also it shouldn't modificate the encoding and lineendings of the config!