New device deployment should be equivalent to repair. |
|||||
Issue descriptionCurrently, device repair supports USB recovery but not reflashing corrupted firmware. For this to work reliably withing ATL: * FAFT's servo flashing infrastructure would need generalization to the lab, since the flashing commands depend on the device type and servo type. * Serial number, hwid, vpd are stored in firmware and not backed up elsewhere, and referenced by autotest infra, and if they are deleted they can't easily be recovered. So the corrupted firmware should be saved before recovery, and the data restored after repair. Or, the known good firmware should be backed up during deployment for easy restore.
,
Sep 6
Full recovery from any level of disaster can be performed by: * extracting a good firmware firmware from a known good image through chromeos-firmwareupdate * extracting the broken firmware from the DUT * copying the vpd and hwid to the known good firmware using vpd -f file, gbb_utilty * flashing the good firmware (maybe ec too) back * booting from recovery and clearing TPM
,
Sep 6
> Full recovery from any level of disaster can be performed by:
As noted, there's existing code in Autotest that knows how to perform
all of the necessary steps to update firmware from a known good
version to a DUT using servo. The code is in use for FAFT DUTs now.
Based on the state of existing FAFT DUTs, that update process already
preserves VPD and HWID.
To be clear: The work required here has very little to do with code
for flashing firmware via servo: All of the necessary pieces are
available, in use, and apparently stable. What's needed is basically the
following:
* Add code capable of detecting when firmware is corrupted.
* To the standard repair flow, add a check so that if firmware is
corrupted, it will use the existing FAFT repair procedure to install
the lab-standard firmware version for the DUT. Then it must invoke
installation from USB, which already triggers recovery mode and clears
the TPM.
* Change the `deploy` script to trigger repair, rather than a custom
installation flow.
The above summary is slightly simplified, but it captures the most
important work.
,
Sep 26
,
Oct 8
,
Oct 12
Planned for Q4. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by jrbarnette@chromium.org
, Aug 27