ota: Let devices specify their own recovery-from-boot.p installer
Some devices apply transformations to the installed images, making the sha1 checksums fail (or, worse, generating invalid images). If "/system/etc/recovery-transform.sh" exists, run that instead, passing the expected sizes and checksums as arguments in the form of recovery-transform.sh <recovery_size> <recovery_sha1> <boot_size> <boot_sha1> A direct emulation of the standard patcher could look like this, transformations should be added as needed. ---------------- RECSIZE=$1 RECSHA1=$2 BOOTSIZE=$3 BOOTSHA1=$4 dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of=$C/recovery.img dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=$C/boot.img if ! applypatch -c EMMC:$C/recovery.img:$RECSIZE:$RECSHA1; then log -t recovery "Installing new recovery image" applypatch -b /system/etc/recovery-resource.dat EMMC:$C/boot.img:$BOOTSIZE:$BOOTSHA1 EMMC:$C/recovery.img $RECSHA1 $RECSIZE $BOOTSHA1:/system/recovery-from-boot.p || exit 1 else log -t recovery "Recovery image already installed" fi ---------------- Change-Id: Ie601841ca1cdad6b8f3b16e593d2718a92e8ca09
Loading
Please register or sign in to comment