[Motorola Photon Q 4G LTE] Skrilax_CZ:
Open recovery is a easy-to-use and easy-to-edit recovery based on shell scripts. It features advanced nandroid

and on-phone console (well, it's a QWERTY phone).

FEATURES

- on-phone console, with full QWERTY keyboard support

- nandroid backup / restore from menu for all relevant partitions, with ability to select with partitions are to be backed up and which are to be restored and possibility to reboot the device after backup / restoration is finished

- wipe data (factory reset)

- wipe cache / wipe dalvik-cache

- mass storage mode for external sdcard

- adb in recovery, using bash shell

- running bash scripts in recovery from internal / external storage (!shell is /sbin/bash)

- applying update.zip files from internal / external storage

- multiple themes

- improved menu navigation (holding a key works)

NOTES

Console:

- OK key is CTRL, pressing SYM + DELETE forcibly exits the console

- scroll using volume keys (use shift to scroll faster)

- shift + arrow keys puts < | > ~ characters

- text editors will not work as not all escape characters are implemented

Changing a theme:

- "Theme" submenu under settings menu.

CHANGELOG

Version 2.09

- fixed issues with internal sd card

- fixed issues with SE Linux kernel

Version 2.08

- added support for sideload

- internal backups and settings are moved to /data/OpenRecovery to prevent them having moved to 0 folder upon each ROM install

- fixed nandroid delete for internal backups

Version 2.07

- new font, uses CM10.2 kernel

- fix for KitKat update binary

Version 2.06

- support for CM OTA updater

Version 2.05

- fixed Android 4.2 internal sdcard handling

Version 2.04

- Added screen timeout when you're in menu (30 seconds)

- Added new theme

Version 2.03

- FIX: SYM + DEL will now properly force console exit

- FIX: CPU1 is offline in recovery

- Kernel updated to 3.0.72

Version 2.02

- FIX: added missing partitions to nandroid

Version 2.01

- FIX: update / script directory browsing: stay in current directory finishing update

- FIX: add missing wipe dalvik cache

Version 2.00

- initial release

INSTALLATION

1) Download the image

2) Flash using fastboot (fastboot flash recovery open_recovery.img)

3) Reboot to recovery

DOWNLOAD

GITHUB

============================================================================================================================

DEVELOPER NOTES

Menu system:

The menu for the Open Recovery is created dynamically. The files must be created inside "/menu" folder by scripts, which can either be specified (if the menu is scripted_menu). A menu creating script has to create a *.menu file inside the /menu folder. If the menu is supposed to be created on startup and not modified, place the script into /init folder, otherwise use "scripted_menu" item, where the script is ran right before the menu is created. sdcard, system and data partitions are mounted when the scripts are ran. A typical example for "scripted_menu" item is under the tutorial for application menu:

First line is the menu name (normal string), then use the following structure:

"item name:type:argument"

- item name is what is seen in the menu

- type: type of the command (described below)

- argument: argument passed to the command (file, or anything else; if empty, put "*" there, otherwise the item will be discarded)

Commands:

- reboot: reboots the phone

- poweroff: turns the phone off

- console: shows console (argument is initial call, use "*" for nothing)

- shell: calls a file specified in arguments (default path is to /bin, if not specified)

- shell_dir: shows script directory dialog, argument is the root directory

- menu: opens another menu file (specified in argument), if the argument is "..", it returns to up one level meu

- scripted_menu: argument is in format "menu file:menu script", the menu script is called with variable MENU_FILE containing the menu name (default path for the script is to /bin, if not specified)

- tag: if ticked, file "tags/.argument" is created

- break: unselectable item, argument is ignored (use "*") and creates a menu item like "---- name ----"; using "*" as name will create just "--------------"

- label: unselectable item, argument is ignored (use "*") and creates normal menu item "name "

- update: applies an update *.zip file, specified in argument

- update_dir: shows update directory dialog, argument is the root directory

- wipe_data: factory reset

- wipe_cahce: wipe cache

The menu is refreshed (the script is called if the menu is scripted) on a menu change, applying an update or running a script. The common partitions are mounted whenever a script is run (system, data, cache, external sdcard if present).