[Ouya Android Development] milaq:
Ouya Bootmenu development/release thread​

This is based on the awesome work by Hal9k.

Because of the fact that the Ouya doesn't have recovery accessibility via hardware buttons we need to play safe and utilise chainbooting.

This bootmenu resides in the kernel partition and is loaded on every normal bootup.

In-depth info in Hal9k's thread here: http://xdaforums.com/showthread.php?t=2499673.

It presents various choices on every boot:

Normal boot - (default) loads bootimage from system partition (/system/boot.img)

Alternate boot - loads bootimage from sdcard (/sdcard/altboot.img)

Recovery - reboots into recovery (recovery partition)

Failsafe - loads built-in failsafe mode

Bootloader - Reboots into stock bootloader (for fastboot access - USE WITH CARE)

Notes about the failsafe

the failsafe mode (which has the bootmenu built-in) will pop up in the following cases:

the bootmenu could not find a valid bootimage (read: /system/boot.img for "normal boot"; /sdcard/altboot.img for "alternate boot")

the user selects "failsafe" from the menu

the failsafe mode resides in the bootmenu image itself and should ONLY be used (as its name suggests) as failsafe.

for regular flashing you need to use a newer cwm version which resides in the recovery partition and is accessible via the "recovery" entry in the bootmenu (see below).

And remember: After flashing this you DON'T NEED TO EVER touch your boot/LNX partition again

Reminder: Failsafe mode is ONLY to be used in case you can't boot into your recovery partition. For regular rom flashing the respective CWM recovery (see below) is required.

Installation

You need to have a newer CWM recovery installed in order to flash the bootmenu.

READ AND UNDERSTAND

what you are doing!

This bootmenu is flashed over your current bootimage - newer cyanogenmod builds will place their bootimage to /system/boot.img automatically. if you are not using a custom rom you will need to relocate your bootimage (read: kernel) to /system/boot.img manually.

You need to have a newer CWM recovery installed in order to flash the bootmenu (otherwise you'll get a build.product mismatch while installing).

1a) If you already have an older custom recovery installed:

Boot into recovery and flash https://download.milaq.net/public/android/ouya/misc/recovery-clockwork-6.0.4.8-ouya.zip. This will update your recovery to a newer version allowing you to flash the bootmenu regularly.

1b) If you don't have a custom recovery installed:

You can either use the one-click installer from http://xdaforums.com/showthread.php?t=2295645 and continue with step 1a).

Or you can flash a newer recovery via fastboot (

if you know what you are doing

): https://download.milaq.net/public/android/ouya/misc/recovery-clockwork-6.0.4.8-ouya.img

2.) Flash the bootmenu via (the new) recovery by installing the latest updatezip (download below). Make sure that the installation procedure was successful.

If you get a "MD5 mismatch" your download is probably broken. Just redownload and try again. The installscript checks the md5's mutliple times while installing and reflashes your old bootimage in case something goes wrong.

So if you are not doing something REALLY stupid this is safe to go.

Download

Download latest version (v2.0.4)

Changelog

2.0.4
* reduce menu timeout for faster regular boot
* ui improvements in failsafe mode

2.0.3
* bootmenu: increase maximum number of input devices to 5 - e.g. the gpio
keys (the ouya power button - 1 node), a mutlimedia keyboard (2 nodes), a mouse (1 nodes)
and a controller (1 node).

2.0.2
* add in additional alternate boot image folder handling to fix compatibility with kitkat
* update failsafe recovery to differ more from regular recovery
* minor ui and ux tweaks in both bootmenu and failsafe

2.0.1
* initial reworked version

And as always: we take no responsibility whatsoever for raging, screaming, crying, frustration, failing, confusion, dead kittens, etc.

Source

https://github.com/milaq/ouya_bootmenu