Help:Contents: Difference between revisions

From Xenon Wiki
Jump to navigation Jump to search
No edit summary
imported>Tuxuser
(Merged stuff from TODO-Page)
Line 5: Line 5:
Channel        ⇒ #free60 ; #free60-chat ; #free60-dev
Channel        ⇒ #free60 ; #free60-chat ; #free60-dev
<br>
<br>
or if theres nobody replying try:
<br>
<br>
Server        &rArr; <font color="purple">irc.efnet.nl</font><br>
Channel        &rArr; #libxenon
<br>
<br>
<br>
<br>
Line 11: Line 16:
Here is what you can do to help this project:
Here is what you can do to help this project:


    * Documentation: We need the individual bits&pieces, for example from xboxhacker.net, nicely assembled into wiki pages, Howtos etc. This does not require coding skills!
* Documentation: We need the individual bits&pieces, for example from xboxhacker.net, nicely assembled into wiki pages, Howtos etc. This does not require coding skills!
    * Take a look at wiibrew.org: They have nice categories for the available software, features applications etc.
* Take a look at wiibrew.org: They have nice categories for the available software, features applications etc.
    * Tell more people about what you can do with Linux on the 360.
* Tell more people about what you can do with Linux on the 360.
    * We need more applications so people have a reason to try out free Libxenon based code and Linux on 360.
* We need more applications so people have a reason to try out free Libxenon based code and Linux on 360.
    * Work to implement End User Requirements
* Work to implement End User Requirements
    * Test and improve the Linux live CD images
* Test and improve the Linux live CD images
    * Developers: Update XenosFb to match current X.org, plus add support for mode switching
* Add useful ideas to this list.
    * Developers: Improve Libxenon and write apps.
 
    * Add useful ideas to this list.
 
== <span class="mw-headline"> Seeking Information On </span> ==
 
Some documentation must already exist, though perhaps not in the wild. We are seeking:
 
* CPU instruction set reference --&gt; See VisualStudio 2005 Reference (Exact CPU instruction set reference)
* Verification that the CPUs have a memory management unit (can do virtual memory)
* Details of Multi-processor memory coherency and synchronization requirements
 
== <span class="mw-headline"> Documentation To Develop </span> ==
 
Some documentation will either not exist, or won't be made available
 
* Memory usage map for boot code
* Hypervisor details. What is checked and how it is checked
* Chain of trust: how execution integrity is designed to work
* Chinks in the armor: Holes in the chain of trust
* <s>Hard drive locking (if any) and</s> filesystem details ([http://www.free60.org/Harddrive Harddrive])
* Wireless hardware and software protocol for controllers
* Xbox1 software emulation details
 
== <span class="mw-headline"> XeLL / Libxenon </span> ==
 
* Libxenon: Improve Libxenon and write apps.
* Libxenon/XeLL: Fix the usb driver so it gets proper speed and Power supply does not need to get replugged to get usb mass storage recognized
* Libxenon/XeLL: Write a fatx/xtaf driver
* XeLL: Implement parsing of a bootconfig + passing bootarguments to the linux kernel
 
== <span class="mw-headline"> Xenon linux kernel </span> ==
 
* Needs urgent fixing: Linux Kernel -  a hardware CPU bug causes powerpc locking primitives to fail between hyper threads unless a special register is set properly
* Fix usb driver (random freez under heavy usage)
* Patch RTC driver for hardware clock access
* Xenosfb: add support for mode switching
* Audio driver
* If possible: Modify the ATI 3D driver to work with the Xenos-Chip
 
== <span class="mw-headline"> Linux Live CD / Installer </span> ==
 
Ideally, what we need is a binary patch for KK, resulting in a single DVD-DL doing the following:
 
* Load KK shader exploit
* Start [http://www.free60.org/XeLL XeLL] from the same disk (video partition?)
* Open a Boot Menu with the following options:
** Load [http://www.free60.org/Linux_Kernel Linux Kernel] from HDD (default, 10s timeout? auto detection of valid Linux HDD?)
** Load [http://www.free60.org/Linux_Kernel Linux Kernel] from CD and use root filesystem on HDD
** Load Rescue/Installer Linux LiveCD
** Load Linux over TFTP (optionally configuring the network)
 
The Menu can either be created in XeLL (requiring reading from CD, SATA, plus interactivity over serial / IR remote or USB controller), or possibly in a Linux initramfs (which is easier to implement, but locks the user in to one single kernel)
 
Such a disk would allow using one single DVD-DL for all tasks, from Linux installation to daily bootup and recovery. Packing everything on a single disk also allows booting Linux without disk swapping, serial console, etc., making it really convenient.
 
There is a problem with the implementation though, we can only access around 200MB of the KK disk (the video partition), or only the game data, depending on the mode of the drive.

Revision as of 22:29, 6 February 2011

IRC

Server ⇒ irc.oftc.net
Channel ⇒ #free60 ; #free60-chat ; #free60-dev
or if theres nobody replying try:

Server ⇒ irc.efnet.nl
Channel ⇒ #libxenon

Want to Help?

Here is what you can do to help this project:

  • Documentation: We need the individual bits&pieces, for example from xboxhacker.net, nicely assembled into wiki pages, Howtos etc. This does not require coding skills!
  • Take a look at wiibrew.org: They have nice categories for the available software, features applications etc.
  • Tell more people about what you can do with Linux on the 360.
  • We need more applications so people have a reason to try out free Libxenon based code and Linux on 360.
  • Work to implement End User Requirements
  • Test and improve the Linux live CD images
  • Add useful ideas to this list.


Seeking Information On

Some documentation must already exist, though perhaps not in the wild. We are seeking:

  • CPU instruction set reference --> See VisualStudio 2005 Reference (Exact CPU instruction set reference)
  • Verification that the CPUs have a memory management unit (can do virtual memory)
  • Details of Multi-processor memory coherency and synchronization requirements

Documentation To Develop

Some documentation will either not exist, or won't be made available

  • Memory usage map for boot code
  • Hypervisor details. What is checked and how it is checked
  • Chain of trust: how execution integrity is designed to work
  • Chinks in the armor: Holes in the chain of trust
  • Hard drive locking (if any) and filesystem details (Harddrive)
  • Wireless hardware and software protocol for controllers
  • Xbox1 software emulation details

XeLL / Libxenon

  • Libxenon: Improve Libxenon and write apps.
  • Libxenon/XeLL: Fix the usb driver so it gets proper speed and Power supply does not need to get replugged to get usb mass storage recognized
  • Libxenon/XeLL: Write a fatx/xtaf driver
  • XeLL: Implement parsing of a bootconfig + passing bootarguments to the linux kernel

Xenon linux kernel

  • Needs urgent fixing: Linux Kernel - a hardware CPU bug causes powerpc locking primitives to fail between hyper threads unless a special register is set properly
  • Fix usb driver (random freez under heavy usage)
  • Patch RTC driver for hardware clock access
  • Xenosfb: add support for mode switching
  • Audio driver
  • If possible: Modify the ATI 3D driver to work with the Xenos-Chip

Linux Live CD / Installer

Ideally, what we need is a binary patch for KK, resulting in a single DVD-DL doing the following:

  • Load KK shader exploit
  • Start XeLL from the same disk (video partition?)
  • Open a Boot Menu with the following options:
    • Load Linux Kernel from HDD (default, 10s timeout? auto detection of valid Linux HDD?)
    • Load Linux Kernel from CD and use root filesystem on HDD
    • Load Rescue/Installer Linux LiveCD
    • Load Linux over TFTP (optionally configuring the network)

The Menu can either be created in XeLL (requiring reading from CD, SATA, plus interactivity over serial / IR remote or USB controller), or possibly in a Linux initramfs (which is easier to implement, but locks the user in to one single kernel)

Such a disk would allow using one single DVD-DL for all tasks, from Linux installation to daily bootup and recovery. Packing everything on a single disk also allows booting Linux without disk swapping, serial console, etc., making it really convenient.

There is a problem with the implementation though, we can only access around 200MB of the KK disk (the video partition), or only the game data, depending on the mode of the drive.