New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 599936 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Recovery fails on canary-channel cyan

Project Member Reported by cernekee@chromium.org, Apr 1 2016

Issue description

I am trying to run recovery on my cyan using canary-channel-cyan-8138.0.0-chromeos_8138.0.0_cyan_recovery_canary-channel_mp.bin downloaded from GoldenEye this morning:

 - WP screw is off
 - Release keys (I think)
 - gbb.flags 0x31
 - Verified boot mode
 - Recovery is able to successfully verify the media
 - It churns for several minutes after that, and then says it failed
 - After rebooting, it goes back to recovery mode, with error 0x5b (No bootable kernel found on disk)
 - I tried twice and got the same result both times

recovery.log says:

ChromeosChrootPostinst(8138.0.0)
Set boot target to /dev/mmcblk0p3: Partition 3, Slot A
SetImage
KERNEL_CONFIG: console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 2506752 verity payload=PARTUUID=%U/PARTNROFF=1 hashtree=PARTUUID=%U/PARTNROFF=1 hashstart=2506752 alg=sha1 root_hexdigest=da9d4e1c0998ccbd914c12cc4f8aad46034fcc46 salt=539b47a9a901a86d29a5c9901c20b84f50ff30390c0e01f5abe9a0966e6657f4" noinitrd vt.global_cursor_default=0 kern_guid=%U add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic  
Setting up verity.
Finished after 18 seconds.
Clearing network driver boot cache: /var/lib/preload-network-drivers.
Syncing filesystems before changing boot order...
Finished after 0 seconds.
Updating Partition Table Attributes using CgptManager...
Updated kernel 2 with Successful = 1 and NumTriesLeft = 6
Checking /mnt/stateful_partition/unencrypted permission.
RemovePackFiles Failed
Touch(/mnt/stateful_partition/.install_completed) FAILED
Starting firmware updater (/tmp/install-mount-point/usr/sbin/chromeos-firmwareupdate --mode=recovery)
Command: /tmp/install-mount-point/usr/sbin/chromeos-firmwareupdate --mode=recovery
Starting Google_Cyan firmware updater v4 (recovery)...
 - Updater package: [Google_Cyan.7287.57.46 / EC:cyan_v1.1.3498-7162809]
 - Current system:  [RO:Google_Cyan.7287.57.46 , ACT:Google_Cyan.7287.57.46 / EC:cyan_v1.1.3497-b6940dc]
 - Write protection: Hardware: off, Software: Main=ON EC=ON
mode_recovery: update RO+RW
 * invoke: flashrom -p host --fast-verify -w bios.bin
mode_recovery: update ec/RO+RW
 * invoke: flashrom -p ec --fast-verify -w ec.bin
 Execution failed (1): flashrom -p ec --fast-verify -w ec.bin
 Messages:
Erasing and writing flash chip... Good. It seems nothing was changed.
FAILED
flashrom v0.9.4  : 0938894 : Mar 31 2016 02:00:41 UTC on Linux 3.18.0-01078-ga64d8d0 (x86_64), built with libpci 3.1.10, GCC 4.9.x 20150123 (prerelease), little endian
disable_power_management: Failed to open /var/lock/flashrom_powerd.lock for writing: No such file or directory
Mapping BYT IBASE at 0xfed08000, unaligned size 0x200.
Mapping BYT SBASE at 0xfed01000, unaligned size 0x200.
ERASE FAILED at 0x00020000! Expected=0xff, Read=0x43, failed byte count from 0x00020000-0x00020fff: 0x80
ERASE FAILED!
FAILED!
Uh oh. Erase/write failed. Checking if anything changed.
Writing to the flash chip apparently didn't do anything.
This means we have to add special support for your board, programmer or flash chip.
Please report this on IRC at irc.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org!
-------------------------------------------------------------------------------
You may now reboot or simply leave the machine running.
ERROR: Execution FAILED.
ERROR: Execution failed: ./updater4.sh (error code = 1)
Finished after 40 seconds.
Failed Command: /tmp/install-mount-point/usr/sbin/chromeos-firmwareupdate --mode=recovery - Exit Code 1
Firmware update failed (error code: 1).
Rolling back update due to failure installing required firmware.
Successfully updated GPT with all settings to rollback.
PostInstall Failed
Running a hw diagnostics test -- this might take a couple minutes.

 
recovery_logs.zip
47.0 KB Download
Cc: bhthompson@chromium.org
Owner: sha...@chromium.org
Shawn, could you take a look at this? It seems like the EC flashing failed.
Labels: proj-cyan
Erase failing at 0x00020000 is suspicious because that's the start of the WP_RO region that we normally WP.

 - Write protection: Hardware: off, Software: Main=ON EC=ON

The WP state according to the PCH GPIO may not be consistent with the WP pin on EC SPI, or something else might be wrong. I will borrow the unit and take a look.
I was able to run the firmware updater successfully in recovery mode after first running "flashrom -p ec --wp-disable".

The problem here is that block protection is enabled on the EC SPI but we don't automatically remove it (unlike protection on the FW SPI). We should consider modifying flashrom to make an attempt at removing EC protection prior to flashing.
Cc: dhend...@chromium.org

Comment 5 by gkihumba@google.com, Mar 31 2017

Status: Fixed (was: Untriaged)

Comment 6 by dchan@google.com, May 30 2017

Labels: VerifyIn-60

Comment 7 by dchan@chromium.org, Aug 1 2017

Labels: VerifyIn-61
Status: Verified (was: Fixed)
Verified in 9592.71.0,60.0.3112.80. 

Sign in to add a comment