Please do not merge (already submitted downstream); check entire recovery partition on startup
Checksum the entire recovery partition at boot time to see if we need to rewrite it, rather than just the first 2kb. Bug: 5668350 Change-Id: I777754f92e8da630ae3c09bb0d4c41884ff62f39
This commit is contained in:
parent
50d6f97c46
commit
c547a4d50b
1 changed files with 1 additions and 8 deletions
|
@ -336,13 +336,8 @@ def MakeRecoveryPatch(output_zip, recovery_img, boot_img):
|
||||||
boot_type, boot_device = common.GetTypeAndDevice("/boot", OPTIONS.info_dict)
|
boot_type, boot_device = common.GetTypeAndDevice("/boot", OPTIONS.info_dict)
|
||||||
recovery_type, recovery_device = common.GetTypeAndDevice("/recovery", OPTIONS.info_dict)
|
recovery_type, recovery_device = common.GetTypeAndDevice("/recovery", OPTIONS.info_dict)
|
||||||
|
|
||||||
# Images with different content will have a different first page, so
|
|
||||||
# we check to see if this recovery has already been installed by
|
|
||||||
# testing just the first 2k.
|
|
||||||
HEADER_SIZE = 2048
|
|
||||||
header_sha1 = common.sha1(recovery_img.data[:HEADER_SIZE]).hexdigest()
|
|
||||||
sh = """#!/system/bin/sh
|
sh = """#!/system/bin/sh
|
||||||
if ! applypatch -c %(recovery_type)s:%(recovery_device)s:%(header_size)d:%(header_sha1)s; then
|
if ! applypatch -c %(recovery_type)s:%(recovery_device)s:%(recovery_size)d:%(recovery_sha1)s; then
|
||||||
log -t recovery "Installing new recovery image"
|
log -t recovery "Installing new recovery image"
|
||||||
applypatch %(boot_type)s:%(boot_device)s:%(boot_size)d:%(boot_sha1)s %(recovery_type)s:%(recovery_device)s %(recovery_sha1)s %(recovery_size)d %(boot_sha1)s:/system/recovery-from-boot.p
|
applypatch %(boot_type)s:%(boot_device)s:%(boot_size)d:%(boot_sha1)s %(recovery_type)s:%(recovery_device)s %(recovery_sha1)s %(recovery_size)d %(boot_sha1)s:/system/recovery-from-boot.p
|
||||||
else
|
else
|
||||||
|
@ -350,8 +345,6 @@ else
|
||||||
fi
|
fi
|
||||||
""" % { 'boot_size': boot_img.size,
|
""" % { 'boot_size': boot_img.size,
|
||||||
'boot_sha1': boot_img.sha1,
|
'boot_sha1': boot_img.sha1,
|
||||||
'header_size': HEADER_SIZE,
|
|
||||||
'header_sha1': header_sha1,
|
|
||||||
'recovery_size': recovery_img.size,
|
'recovery_size': recovery_img.size,
|
||||||
'recovery_sha1': recovery_img.sha1,
|
'recovery_sha1': recovery_img.sha1,
|
||||||
'boot_type': boot_type,
|
'boot_type': boot_type,
|
||||||
|
|
Loading…
Reference in a new issue