Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 | 1 |
| 2 The recovery tool assists the user in creating a bootable USB drive that can | 2 The recovery tool assists the user in creating a bootable USB drive that can |
| 3 recover a non-functional Chromium OS device. It generally operates in three | 3 recover a non-functional Chromium OS device. It generally operates in three |
| 4 steps. | 4 steps. |
| 5 | 5 |
| 6 1. Download a config file from a known URL. This file describes the | 6 1. Download a config file from a known URL. This file describes the |
| 7 available images and where they can be found. | 7 available images and where they can be found. |
| 8 | 8 |
| 9 2. Ask the user to select the appropriate image, download it, and verify | 9 2. Ask the user to select the appropriate image, download it, and verify |
| 10 that it matches what the config file describes. | 10 that it matches what the config file describes. |
| 11 | 11 |
| 12 3. Ask the user to select a USB drive, and write the recovery image to it. | 12 3. Ask the user to select a USB drive, and write the recovery image to it. |
| 13 | 13 |
| 14 | 14 |
| 15 | |
| 16 | |
| 15 Here's the format of the config file: | 17 Here's the format of the config file: |
| 16 | 18 |
| 17 The config file is a text file containing at least two paragraphs or | 19 The config file is a machine-generated, human-readable text file containing |
| 18 stanzas, which are separated by at least one blank line. Lines beginning | 20 at least two paragraphs or stanzas, which are separated by at least one |
| 19 with '#' are completely ignored and do not count as blank lines. Non-blank | 21 blank line. |
| 20 lines must consist of a non-blank key and non-blank value separated by a '=' | |
| 21 with no spaces on either side. The key may not contain whitespace. The value | |
| 22 may contain spaces, but all trailing whitespace is discarded. | |
| 23 | 22 |
| 24 The first stanza must contain a key named "recovery_tool_version'. Its value | 23 * Each line in the file ends with "\n" (LF), not "\r\n" (CRLF). |
| 25 must match the version of the recovery tool. If the value does not match, | 24 |
| 26 then the key 'recovery_tool_update', if it exists in the first stanza, | 25 * The file shall not contain any tab characters. |
| 27 should contain a string to display to the user. Regardless, if the version | 26 |
| 28 doesn't match, the recovery tool should exit. | 27 * Lines beginning with '#' are completely ignored and do not count as blank |
| 28 lines. | |
| 29 | |
| 30 * Non-blank lines must consist of a non-blank key and non-blank value | |
| 31 separated by a '=' with no spaces on either side. The key may not contain | |
| 32 whitespace. The value may contain spaces, but all trailing whitespace is | |
| 33 discarded. | |
| 34 | |
| 35 * The first stanza must contain a key named "recovery_tool_version'. Its | |
| 36 value must match the version of the recovery tool. If the value does not | |
| 37 match, then the key 'recovery_tool_update', if it exists in the first | |
| 38 stanza, should contain a string to display to the user. Regardless, if the | |
| 39 version doesn't match, the recovery tool should exit. | |
| 40 | |
| 41 * The first stanza MAY have platform-specific keys such as | |
| 42 'recovery_tool_linux_version'. If present, this key is used instead of the | |
| 43 'recovery_tool_version' key to determine the required recovery tool | |
| 44 version. | |
| 45 | |
| 46 * The current recovery_tool_version value is 0.9.1 | |
| 47 | |
| 48 * The archive shall be in ZIP format. | |
| 49 | |
| 29 | 50 |
| 30 The second and remaining stanzas describe recovery images to put on the USB | 51 The second and remaining stanzas describe recovery images to put on the USB |
| 31 drive. | 52 drive. Each image stanza must contain, in this order: |
| 32 | 53 |
| 33 For recovery_tool_version=1.0, each image stanza must contain: | 54 * One and only one of each of these keys: |
| 34 | 55 |
| 35 * One and only one of these keys: | 56 name - string to show to the user zipfilesize - size in bytes of the |
| 57 zipfile file - the name of the file to extract from the zipfile filesize | |
| 58 - size in bytes of the extracted, uncompressed file channel - the channel | |
| 59 for this image ("beta-channel", "dev-channel", "pilot-channel", etc.) | |
|
Avi (use Gerrit)
2010/12/09 20:52:59
Can you break these up?
| |
| 36 | 60 |
| 37 display_name - string to show to the user | 61 * Zero or more of these keys: |
| 38 file - the name of the file to extract from the tarball | 62 |
| 39 size - size in bytes of the tarball | 63 hwid - the HWID of the device which can use this image (no entry means |
| 64 "any device") | |
| 65 | |
| 66 * One or both of these keys: | |
| 67 | |
| 68 md5 - md5sum of the zipfile sha1 - sha1sum of the zipfile | |
|
Avi (use Gerrit)
2010/12/09 20:52:59
Ditto.
| |
| 40 | 69 |
| 41 * One or more of these keys: | 70 * One or more of these keys: |
| 42 | 71 |
| 43 url - where to find the tarball to download | 72 url - where to find the zipfile to download |
| 44 | |
| 45 * One or both of these keys: | |
| 46 | |
| 47 md5 - md5sum of the tarball | |
| 48 sha1 - sha1sum of the tarball | |
| 49 | |
| 50 * Any other keys are informational only and are not used by the recovery tool. | |
| 51 | 73 |
| 52 | 74 |
| 75 Any other keys are informational only and are not used by the recovery tool. | |
| 53 | 76 |
| 54 NOTE: This is still in flux. Possible additional keys are | 77 If more than one url is provided, then they should be tried, in turn, until |
| 78 one succeeds. | |
| 55 | 79 |
| 56 hwid | 80 At a minimum, the user shall be shown the name, channel, and all hwid values |
| 57 name | 81 for each image. |
| 58 channel | |
| OLD | NEW |