66 lines
2.0 KiB
Bash
66 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
latestVersion=$(curl -L --silent https://api.github.com/repos/phhusson/treble_experimentations/releases |grep -oE 'v2[0-9]*' |sort -V |sort -u |tail -n 1)
|
|
if [ -n "$1" ];then
|
|
echo "Forcing dl of version $1 instead of $latestVersion"
|
|
latestVersion="$1"
|
|
fi
|
|
|
|
flavor=$(getprop ro.build.flavor)
|
|
fileName=""
|
|
|
|
fileName="system-quack"
|
|
if echo "$flavor" |grep -E '^treble_arm64';then
|
|
fileName="${fileName}-arm64"
|
|
elif echo "$flavor" | grep -E '^treble_arm_';then
|
|
fileName="${fileName}-arm"
|
|
elif echo "$flavor" | grep -E '^treble_a64_';then
|
|
fileName="${fileName}-arm32_binder64"
|
|
fi
|
|
|
|
if echo "$flavor" |grep -E '^treble_[^_]*_b';then
|
|
fileName="${fileName}-ab"
|
|
elif echo "$flavor" |grep -E '^treble_[^_]*_a';then
|
|
fileName="${fileName}-aonly"
|
|
fi
|
|
|
|
if echo "$flavor" |grep -E '^treble_[^_]*_.g';then
|
|
fileName="${fileName}-gapps"
|
|
elif echo "$flavor" |grep -E '^treble_[^_]*_.o';then
|
|
fileName="${fileName}-go"
|
|
elif echo "$flavor" |grep -E '^treble_[^_]*_.f';then
|
|
fileName="${fileName}-floss"
|
|
elif echo "$flavor" |grep -E '^treble_[^_]*_.v';then
|
|
fileName="${fileName}-floss"
|
|
fi
|
|
|
|
fileName="${fileName}.img.xz"
|
|
url=https://github.com/phhusson/treble_experimentations/releases/download/"$latestVersion"/"${fileName}"
|
|
echo "Downloading from ${url}..."
|
|
#This path is really NOT ideal.
|
|
out=/sdcard/sys.img.xz
|
|
curl -L "$url" > $out
|
|
|
|
if [ "$(getprop ro.boot.dynamic_partitions)" = true ];then
|
|
#Having to decompress twice is pretty stupid, but how do I get the size otherwise?
|
|
size=$(busybox_phh xz -d -c < $out | simg2img_simple |wc -c)
|
|
lptools remove system_phh
|
|
lptools create system_phh "$size"
|
|
lptools unmap system_phh
|
|
dmDevice=$(lptools map system_phh|grep -oE '/dev/block/[^ ]*')
|
|
busybox_phh xz -d -c < $out | simg2img_simple > $dmDevice
|
|
lptools replace system_phh system
|
|
reboot
|
|
exit 0
|
|
else
|
|
#Use twrp.sh
|
|
mkdir -p /cache/phh
|
|
uncrypt /data/media/0/sys.img.xz /cache/phh/block.map
|
|
touch /cache/phh/flash
|
|
reboot
|
|
exit 0
|
|
fi
|
|
|