Create Chrome OS recovery firmware procedure

The command cros_rec is the main procedure the recovery firmware runs by default. It also appears in developer image for debug purpose.

BUG=chromium-os:1305
TEST=build successfully and boot like:

U-Boot 2010.09 (Mar 09 2011 - 17:16:01)

Board:   Tegra2 chromeos/tegra2/seaboard/recovery
DRAM:  1 GiB
Using default environment

In:    tegra-kbc
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
EMMC 1 Probed Successfully
EMMC 1 Probed Successfully[mmc_legacy_init:231] EMMC 1 Probe Failed
USB:   Tegra ehci init hccr c5008100 and hcor c5008140 hc_length 64
Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 1 USB Device(s) found
       scanning bus for storage devices... 0 Storage Device(s) found
[mmc_legacy_init:231] EMMC 1 Probe Failed
USB:   Tegra ehci init hccr c5008100 and hcor c5008140 hc_length 64
Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 1 USB Device(s) found
       scanning bus for storage devices... 0 Storage Device(s) found
EMMC 1 Probed Successfully
EMMC 1 Probed Successfully
DEBUG: TPM: Startup
DEBUG: TPM: command 0x99 returned 0x0
DEBUG: TPM: Self test full
DEBUG: TPM: command 0x50 returned 0x0
ReadSingle Operation failed.
 mmc_bread:133 READ : failed
ReadSingle Operation failed.
 mmc_bread:133 READ : failed
DEBUG: GptNextKernelEntry looking at new prio partition 1
DEBUG: GptNextKernelEntry s1 t15 p15
DEBUG: GptNextKernelEntry looking at new prio partition 3
DEBUG: GptNextKernelEntry s0 t15 p0
DEBUG: GptNextKernelEntry looking at new prio partition 5
DEBUG: GptNextKernelEntry s0 t15 p0
DEBUG: GptNextKernelEntry likes that one
DEBUG: Found kernel entry at 4096 size 32768
DEBUG: Checking key block signature...
DEBUG: Kernel preamble is good.
DEBUG: Partition is good.
DEBUG: In recovery mode or dev-signed kernel
DEBUG: Updating GPT header 2
 Write failed. Block=8388606
 mmc_bwrite:171 WRITE : failed
DEBUG: Updating GPT entries 2
 Write failed. Block=8388607
 mmc_bwrite:171 WRITE : failed
DEBUG: Good_partition >= 0
Success; good kernel found on device
partition_number: 2
bootloader_address: 0x68c000bootloader_size: 0x1000partition_guid: 10 22 57 b6 1a 5f 41 e8 b9 fc 75 a2 7c a9 fa 30
## Booting kernel from Legacy Image at 0040c000 ...
   Image Name:   kernel
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5807272 Bytes = 5.5 MiB
   Load Address: 10008000
   Entry Point:  10008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Change-Id: Iee8c703b934c7d7b7fb244355c8f4399bf3d057e

Review URL: http://codereview.chromium.org/5989010
2 files changed