)]}'
{
  "commit": "16ccd30340ce085971a62a6b7c6affd4144de317",
  "tree": "421d154276daf9a128e88dd22bd7e38d94f6a2a0",
  "parents": [
    "5f27303b5969f71fd3d36a311e76b5027b60397a"
  ],
  "author": {
    "name": "Julius Werner",
    "email": "jwerner@chromium.org",
    "time": "Mon Dec 21 22:50:40 2015"
  },
  "committer": {
    "name": "chrome-bot",
    "email": "chrome-bot@chromium.org",
    "time": "Fri Feb 26 09:21:43 2016"
  },
  "message": "Preserve RW_NVRAM section when doing a full image update\n\nWith our classical NVRAM solutions (CMOS and EC), NVRAM contents are\nautomatically preserved across firmware updates. Some FAFT tests and\npossibly other processes rely on this. With the newly-introduced\nflash-backed NVRAM (only on boards using updater5.sh, as far as I know),\nrecovery firmware updates that write the whole image will also overwrite\nthe NVRAM section (causing previous state to be lost and crossystem to\nfail until after the next reboot since the section can only be properly\nreinitialized from firmware).\n\nTherefore, this patch introduces code to preserve the contents of the\nRW_NVRAM section (if it exists), similar to what was already done with\nthe VPD and the GBB flags.\n\nBUG\u003dchrome-os-partner:47461\nTEST\u003dRun \u0027chromeos-firmwareupdate --mode\u003drecovery\u0027 on Oak, confirm that\ncrossystem doesn\u0027t throw errors and still shows the same (non-default)\nNVRAM contents as before the update. Run \u0027chromeos-firmwareupdate\n--mode\u003drecovery --debug\u0027 on Jerry, confirm that it still works and I\nsee \"System doesn\u0027t have flash NVRAM. Skip.\" message.\n\nChange-Id: I0ef9b04ead212d8dedb90b616a11a0d1f91f6905\nSigned-off-by: Julius Werner \u003cjwerner@chromium.org\u003e\nReviewed-on: https://chromium-review.googlesource.com/319600\nReviewed-by: Hung-Te Lin \u003chungte@chromium.org\u003e\nReviewed-by: Randall Spangler \u003crspangler@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b8c4f6e0b8242ae22504fa52e16a56b61e7b5c95",
      "old_mode": 33188,
      "old_path": "pack_dist/crosfw.sh",
      "new_id": "358d2bf2aba8b8cb8139d46740a1dc80b0fc2e49",
      "new_mode": 33188,
      "new_path": "pack_dist/crosfw.sh"
    },
    {
      "type": "modify",
      "old_id": "a181e92eaa6cc60deb06b422e639c1fb16f7a310",
      "old_mode": 33188,
      "old_path": "pack_dist/updater4.sh",
      "new_id": "c45bffec268406e5f7d2eb5412bdb041113ca823",
      "new_mode": 33188,
      "new_path": "pack_dist/updater4.sh"
    },
    {
      "type": "modify",
      "old_id": "9483202ea7e1fc014fbe4bcc38e31e8315defe6f",
      "old_mode": 33188,
      "old_path": "pack_dist/updater5.sh",
      "new_id": "09cd21e557fe8a100696ea6a253184381adfb5fb",
      "new_mode": 33188,
      "new_path": "pack_dist/updater5.sh"
    }
  ]
}
