Lines Matching +full:bad +full:- +full:build +full:- +full:check
3 # Use of this source code is governed by a BSD-style license that can be
11 fix problems by updating or re-installing the firmware.
16 to check for corruption, and supplies `FaftFirmwareRepair` to
17 re-install firmware of current faft stable_version via servo
22 firmware that is out-of-date from the designated version. This model
23 also supplys `GeneralFirmwareRepair` to re-install firmware that
28 * DUTs used for general testing. These DUTs automatically check for
30 * DUTs in pools used for FAFT testing. These check for bad firmware
32 `FirmwareRepair`. These DUTs don't check for or install the
39 # pylint: disable=missing-docstring
59 # _FIRMWARE_REPAIR_POOLS - The set of pools that should be
71 check if a host is dedicated for firmware testing.
89 pool) need their firmware kept up-to-date with
109 result = host.run('chromeos-firmwareupdate --manifest', ignore_status=True)
129 appears that firmware should be re-flashed using servo.
142 'do flashrom -p host -r -i $section:$section; '
147 cmd = ('vbutil_firmware --verify /tmp/verify_firmware/VBLOCK_%c'
148 ' --signpubkey /usr/share/vboot/devkeys/root_key.vbpubk'
149 ' --fv /tmp/verify_firmware/FW_MAIN_%c')
154 'Firmware %c is in a bad state.' % c)
157 host.run('rm -rf /tmp/verify_firmware')
179 # Use firmware in current stable os build.
182 def _run_faft_repair(self, host, build): argument
183 host.firmware_install(build)
185 def _run_general_repair(self, host, build): argument
190 if host._servo_host.validate_image_usbkey() != build:
192 'however it\'s not found on the usbkey' % build,
208 # Before flash firmware we want update the build into health profile.
210 host.health_profile.set_firmware_stable_version(build)
236 build = self._get_faft_stable_build(host)
237 if build:
238 self._run_faft_repair(host, build)
242 build = self._get_os_stable_build(host)
243 if not build:
247 self._run_general_repair(host, build)
254 return 'Re-install the stable firmware(faft) via servo'
258 """Reinstall the firmware for non-faft DUTs.
260 we want only try re-install firmware if all other RepairAction could
266 build = self._get_os_stable_build(host)
267 if not build:
271 self._run_general_repair(host, build)
281 # want to check repair data from previous repairs to determine if
301 # there is no need to retry flash the same firmware build.
318 return 'Re-install the stable firmware(non-faft) via servo'
323 Check for a firmware update, and apply it if appropriate.
326 is up-to-date, or that the target firmware can be installed from the
327 currently running build.
334 4. The firmware supplied in the running OS build is not the
337 If the DUT needs an upgrade and the currently running OS build
339 firmware using `chromeos-firmwareupdate`. Failure to install will
349 out-of-band. But a firmware update will likely hit all DUTs at
353 the stable repair image. If the firmware is out-of-date, but the
369 Check that two firmware versions identify the same hardware.
377 This is a confidence check to protect us from installing the wrong
393 This check verify that device booted from stable image to protect us
394 from installing the firmware from bad/broken/no-tested image. Bad
398 nocturne-release/R89-13728.0.0
399 Check compare version from host to version provide as stable image
400 from host-info file.
414 # Test 1 - The DUT is not excluded from updates.
417 # Test 2 - The DUT has an assigned stable firmware version.
437 # `chromeos-firmwareupdate` isn't what we expect, we log an
439 # build merely because of a bug or change in either of those
442 # Test 3 - The DUT is not running the target stable firmware.
450 # Test 4 - The firmware supplied in the running OS build is not
467 host.run('chromeos-firmwareupdate --mode=autoupdate')
470 message = ('chromeos-firmwareupdate failed: from '
477 message = ('chromeos-firmwareupdate failed: tried upgrade '
484 return 'The firmware on this DUT is up-to-date'