DivestOS/Scripts/Common/Copy_Keys.sh

141 lines
5.9 KiB
Bash

#!/bin/bash
#DivestOS: A mobile operating system divested from the norm.
#Copyright (c) 2020-2023 Divested Computing Group
#
#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program. If not, see <https://www.gnu.org/licenses/>.
umask 0022;
set -uo pipefail;
source "$DOS_SCRIPTS_COMMON/Shell.sh";
copyKey() {
if [[ -d "$DOS_SIGNING_KEYS/$1" ]] && [[ -d "$DOS_BUILD_BASE/$2" ]]; then
if [[ -f "$DOS_SIGNING_KEYS/$1/verifiedboot_relkeys.der.x509" ]] && [[ -d "$DOS_BUILD_BASE/$2" ]]; then
if cp "$DOS_SIGNING_KEYS/$1/verifiedboot_relkeys.der.x509" "$DOS_BUILD_BASE/$2/verifiedboot_$1_dos_relkeys.der.x509"; then
echo -e "\e[0;32mCopied verifiedboot keys for $1 to $2\e[0m";
else
echo -e "\e[0;31mCould not copy verifiedboot keys for $1\e[0m";
fi;
fi;
if [[ -f "$DOS_SIGNING_KEYS/$1/verity.x509.pem" ]] && [[ -d "$DOS_BUILD_BASE/$2/certs" ]]; then
if cat "$DOS_SIGNING_KEYS/$1/verity.x509.pem" >> "$DOS_BUILD_BASE/$2/certs/verity.x509.pem"; then
echo -e "\e[0;32mAppended verity keys for $1 to $2\e[0m";
else
echo -e "\e[0;31mCould not append verity keys for $1\e[0m";
fi;
fi;
elif [[ ! -d "$DOS_SIGNING_KEYS/$1" ]] && [[ -d "$DOS_BUILD_BASE/$2" ]]; then
echo -e "\e[0;31mNo keys available for $1 but kernel $2 exists!\e[0m";
fi;
}
if [ -d "$DOS_SIGNING_KEYS" ]; then
echo "Copying verity/avb public keys to kernels...";
copyKey "akari" "kernel/sony/sdm845";
copyKey "akatsuki" "kernel/sony/sdm845";
copyKey "alioth" "kernel/xiaomi/sm8250";
copyKey "Amber" "kernel/yandex/sdm660";
copyKey "angler" "kernel/huawei/angler";
copyKey "apollon" "kernel/xiaomi/sm8250";
copyKey "aura" "kernel/razer/sdm845";
copyKey "aurora" "kernel/sony/sdm845";
copyKey "avicii" "kernel/oneplus/sm7250";
copyKey "barbet" "kernel/google/redbull";
copyKey "beryllium" "kernel/xiaomi/sdm845";
copyKey "bluejay" "kernel/google/bluejay";
copyKey "bluejay" "kernel/google/gs101/private/gs-google";
copyKey "bluejay" "kernel/google/gs201/private/gs-google";
copyKey "blueline" "kernel/google/crosshatch";
copyKey "blueline" "kernel/google/msm-4.9";
copyKey "bonito" "kernel/google/bonito";
copyKey "bonito" "kernel/google/msm-4.9";
copyKey "bramble" "kernel/google/redbull";
copyKey "bullhead" "kernel/lge/bullhead";
copyKey "cheeseburger" "kernel/oneplus/msm8998";
copyKey "cheetah" "kernel/google/gs201/private/gs-google";
copyKey "cheryl" "kernel/razer/msm8998";
copyKey "coral" "kernel/google/coral";
copyKey "crosshatch" "kernel/google/crosshatch";
copyKey "crosshatch" "kernel/google/msm-4.9";
copyKey "davinci" "kernel/xiaomi/sm6150";
copyKey "dipper" "kernel/xiaomi/sdm845";
copyKey "discovery" "kernel/sony/sdm660";
copyKey "dragon" "kernel/google/dragon";
copyKey "dumpling" "kernel/oneplus/msm8998";
copyKey "enchilada" "kernel/oneplus/sdm845";
copyKey "equuleus" "kernel/xiaomi/sdm845";
copyKey "fajita" "kernel/oneplus/sdm845";
copyKey "flame" "kernel/google/coral";
copyKey "flounder" "kernel/htc/flounder";
copyKey "FP3" "kernel/fairphone/sdm632";
copyKey "FP4" "kernel/fairphone/sm7225";
copyKey "griffin" "kernel/motorola/msm8996";
copyKey "guacamoleb" "kernel/oneplus/sm8150";
copyKey "guacamole" "kernel/oneplus/sm8150";
copyKey "hotdogb" "kernel/oneplus/sm8150";
copyKey "hotdog" "kernel/oneplus/sm8150";
copyKey "instantnoodle" "kernel/oneplus/sm8250";
copyKey "instantnoodlep" "kernel/oneplus/sm8250";
copyKey "jasmine_sprout" "kernel/xiaomi/sdm660";
copyKey "kebab" "kernel/oneplus/sm8250";
copyKey "kirin" "kernel/sony/sdm660";
copyKey "lavender" "kernel/xiaomi/sdm660";
copyKey "lemonade" "kernel/oneplus/sm8350";
copyKey "lemonadep" "kernel/oneplus/sm8350";
copyKey "lemonades" "kernel/oneplus/sm8250";
copyKey "lmi" "kernel/xiaomi/sm8250";
copyKey "marlin" "kernel/google/marlin";
copyKey "mata" "kernel/essential/msm8998";
copyKey "mermaid" "kernel/sony/sdm660";
copyKey "oneplus3" "kernel/oneplus/msm8996";
copyKey "oriole" "kernel/google/gs101/private/gs-google";
copyKey "oriole" "kernel/google/gs201/private/gs-google";
copyKey "oriole" "kernel/google/raviole";
copyKey "panther" "kernel/google/gs201/private/gs-google";
copyKey "pioneer" "kernel/sony/sdm660";
copyKey "platina" "kernel/xiaomi/sdm660";
copyKey "polaris" "kernel/xiaomi/sdm845";
copyKey "pro1" "kernel/fxtec/msm8998";
copyKey "pro1x" "kernel/fxtec/sm6115";
copyKey "raphael" "kernel/xiaomi/sm8150";
copyKey "raven" "kernel/google/gs101/private/gs-google";
copyKey "raven" "kernel/google/gs201/private/gs-google";
copyKey "raven" "kernel/google/raviole";
copyKey "redfin" "kernel/google/redbull";
copyKey "sailfish" "kernel/google/marlin";
copyKey "sargo" "kernel/google/bonito";
copyKey "sargo" "kernel/google/msm-4.9";
copyKey "shamu" "kernel/moto/shamu";
copyKey "star2lte" "kernel/samsung/universal9810";
copyKey "starlte" "kernel/samsung/universal9810";
copyKey "sunfish" "kernel/google/sunfish";
copyKey "taimen" "kernel/google/wahoo";
copyKey "twolip" "kernel/xiaomi/sdm660";
copyKey "ursa" "kernel/xiaomi/sdm845";
copyKey "vayu" "kernel/xiaomi/sm8150";
copyKey "vayu" "kernel/xiaomi/vayu";
copyKey "voyager" "kernel/sony/sdm660";
copyKey "walleye" "kernel/google/wahoo";
copyKey "wayne" "kernel/xiaomi/sdm660";
copyKey "whyred" "kernel/xiaomi/sdm660";
copyKey "xz2c" "kernel/sony/sdm845";
copyKey "z2_plus" "kernel/zuk/msm8996";
copyKey "zenfone3" "kernel/asus/msm8953";
echo -e "\e[0;32m[SCRIPT COMPLETE] Copied keys to kernels\e[0m";
else
echo -e "\e[0;31mSigning keys unavailable, NOT copying public keys to kernels\e[0m";
fi;