THIS WILL LIKELY KILL YOUR OUYA
We provide no warranty to the work here, it will likely cause your OUYA to die if you attempt it.
So myself and another fellow are working on bringing the latest and greatest Linux Kernel to the OUYA.
The good news: It boots to command line. The bad news: That's about all that works right now.
It's in an extremely unstable state right now, I actually managed to burn out the onboard ethernet chip trying to get the regulators right.
I2C causes random hard locks. Don't even ask about I2S. EMMC is detected, but we can't do anything with it yet. Haven't even tried getting video working yet.
If anyone would like to get involved, my repository resides at https://github.com/pgwipeout/linux/
Be warned, this is VERY MUCH a work in progress, don't expect clean commits, sanity in the code, or lack of dragons.
If anyone would like to get involved feel free to post here or use the Github page.
The goals are as follows:
Maintain this as close as possible to mainline, all changes to mainline will be posted as separate patches in the main git.
As much as possible is done through the device tree and kernel config.
Currently we have two patches applied, both are perspective in mainline so we may get lucky and not need them anymore.
Trusted-Foundations Patch: Necessary to get the L2 Cache Controller to work, this enabled secure monitor mode.
Tegra-Clock Patch: The Tegra3 has a lot of clocks that do necessary things, during init the drivers would reset these clocks causing hard locks.
I will post here periodically as we make progress.
/* EDIT: Update 2: The following is the current status of the project. */
I have made enough progress with this that I felt it was time to give an update.
I am sourcing this against Linux-Next, as there is a lot of work going into the Tegra video drivers right now.
Performance is good, though running off USB we get I/O bound extremely easily.
Currently it builds the kernel in about 50 minutes from a clean slate.
Working:
Boots with serial support.
Systemd and Sysvinit are supported.
Reboot works, poweroff does not.
Wifi and Ethernet both work.
Both RTCs.
USB
Four cores active, with L2 cache support.
In Progress:
eMMC support.
CPUFREQ driver support.
Video Support.
eMMC support is proving extremely tricky, we still don't have it talking.
It is currently precluding my first release candidate.
If anyone is interested in building this for themselves, leave me a message and I'll help you out.
Currently a TTL converter is necessary to use this.
The CPUFREQ driver I'm working on porting the T20 driver over.
Video support is hopeful.
UPDATE #1
It's ALIVE!
Working:
V4.14
Boots Reliably, use SysV-Init, Systemd boots, but locks up after a short period.
Onboard Lan
TPS power regulator
USB
Four cores active, fixed at 1 GHz until CPUFREQ is working.
L2 Cache Controller
In Progress:
RTC, both are readable, but writing doesn't work yet.
EMMC support
CPUFREQ (Maybe, not sure if we will ever get this fully working)
Video Support (A lot of experimental drivers and software going into this)
Moving to v4.16
To do:
Proper thermal support (fan is hardcoded on low speed right now)
Audio
Known issues:
Systemd locks up after being left idle
Systemd cannot do any power related functions
Sysvinit can reboot, but poweroff doesn't work yet
We provide no warranty to the work here, it will likely cause your OUYA to die if you attempt it.
So myself and another fellow are working on bringing the latest and greatest Linux Kernel to the OUYA.
The good news: It boots to command line. The bad news: That's about all that works right now.
It's in an extremely unstable state right now, I actually managed to burn out the onboard ethernet chip trying to get the regulators right.
I2C causes random hard locks. Don't even ask about I2S. EMMC is detected, but we can't do anything with it yet. Haven't even tried getting video working yet.
If anyone would like to get involved, my repository resides at https://github.com/pgwipeout/linux/
Be warned, this is VERY MUCH a work in progress, don't expect clean commits, sanity in the code, or lack of dragons.
If anyone would like to get involved feel free to post here or use the Github page.
The goals are as follows:
Maintain this as close as possible to mainline, all changes to mainline will be posted as separate patches in the main git.
As much as possible is done through the device tree and kernel config.
Currently we have two patches applied, both are perspective in mainline so we may get lucky and not need them anymore.
Trusted-Foundations Patch: Necessary to get the L2 Cache Controller to work, this enabled secure monitor mode.
Tegra-Clock Patch: The Tegra3 has a lot of clocks that do necessary things, during init the drivers would reset these clocks causing hard locks.
I will post here periodically as we make progress.
/* EDIT: Update 2: The following is the current status of the project. */
I have made enough progress with this that I felt it was time to give an update.
I am sourcing this against Linux-Next, as there is a lot of work going into the Tegra video drivers right now.
Performance is good, though running off USB we get I/O bound extremely easily.
Currently it builds the kernel in about 50 minutes from a clean slate.
Working:
Boots with serial support.
Systemd and Sysvinit are supported.
Reboot works, poweroff does not.
Wifi and Ethernet both work.
Both RTCs.
USB
Four cores active, with L2 cache support.
In Progress:
eMMC support.
CPUFREQ driver support.
Video Support.
eMMC support is proving extremely tricky, we still don't have it talking.
It is currently precluding my first release candidate.
If anyone is interested in building this for themselves, leave me a message and I'll help you out.
Currently a TTL converter is necessary to use this.
The CPUFREQ driver I'm working on porting the T20 driver over.
Video support is hopeful.
UPDATE #1
It's ALIVE!
Working:
V4.14
Boots Reliably, use SysV-Init, Systemd boots, but locks up after a short period.
Onboard Lan
TPS power regulator
USB
Four cores active, fixed at 1 GHz until CPUFREQ is working.
L2 Cache Controller
In Progress:
RTC, both are readable, but writing doesn't work yet.
EMMC support
CPUFREQ (Maybe, not sure if we will ever get this fully working)
Video Support (A lot of experimental drivers and software going into this)
Moving to v4.16
To do:
Proper thermal support (fan is hardcoded on low speed right now)
Audio
Known issues:
Systemd locks up after being left idle
Systemd cannot do any power related functions
Sysvinit can reboot, but poweroff doesn't work yet
Last edited: