KernelSU/kernel/setup.sh

51 lines
1.3 KiB
Bash
Raw Normal View History

#!/bin/sh
set -eux
2022-12-10 22:43:21 +07:00
GKI_ROOT=$(pwd)
echo "[+] GKI_ROOT: $GKI_ROOT"
if test -d "$GKI_ROOT/common/drivers"; then
DRIVER_DIR="$GKI_ROOT/common/drivers"
elif test -d "$GKI_ROOT/drivers"; then
DRIVER_DIR="$GKI_ROOT/drivers"
else
echo '[ERROR] "drivers/" directory is not found.'
echo '[+] You should modify this script by yourself.'
exit 127
fi
test -d "$GKI_ROOT/KernelSU" || git clone https://github.com/tiann/KernelSU
cd "$GKI_ROOT/KernelSU"
kernel: Fix pull when we are not currently on a branch (#388) Before fix: ``` [celica@arch msm-5.4]$ curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash - ++ pwd + GKI_ROOT=/home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4 + echo '[+] GKI_ROOT: /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4' [+] GKI_ROOT: /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4 + test -d /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/common/drivers + test -d /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers + DRIVER_DIR=/home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers + test -d /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/KernelSU + cd /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/KernelSU + git stash 没有要保存的本地修改 + git pull 您当前不在一个分支上。 请指定您要合并哪一个分支。 详见 git-pull(1)。 git pull <远程> <分支> ``` After fix: ``` [celica@arch msm-5.4]$ curl -LSs "https://raw.githubusercontent.com/natsumerinchan/KernelSU/main/kernel/setup.sh" | bash -s main ++ pwd + GKI_ROOT=/home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4 + echo '[+] GKI_ROOT: /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4' [+] GKI_ROOT: /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4 + test -d /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/common/drivers + test -d /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers + DRIVER_DIR=/home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers + test -d /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/KernelSU + cd /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/KernelSU + git stash 没有要保存的本地修改 ++ git status ++ grep -Po 'v\d+(\.\d+)*' ++ head -n1 + '[' v0.5.2 ']' + git checkout main 之前的 HEAD 位置是 0bda101 ci: fix WSA upload path (#372) 切换到分支 'main' 您的分支与上游分支 'origin/main' 一致。 + git pull 已经是最新的。 + '[' -z main ']' + git checkout main 已经位于 'main' 您的分支与上游分支 'origin/main' 一致。 + cd /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4 + echo '[+] GKI_ROOT: /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4' [+] GKI_ROOT: /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4 + echo '[+] Copy kernel su driver to /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers' [+] Copy kernel su driver to /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers + test -e /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers/kernelsu + echo '[+] Add kernel su driver to Makefile' [+] Add kernel su driver to Makefile + DRIVER_MAKEFILE=/home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers/Makefile + grep -q kernelsu /home/celica/workdir/mvaisakh-kernel/kernel/msm-5.4/drivers/Makefile + echo '[+] Done.' [+] Done. ```
2023-04-14 15:31:30 +08:00
git stash
if [ "$(git status | grep -Po 'v\d+(\.\d+)*' | head -n1)" ]; then
git checkout main
fi
git pull
if [ -z "${1-}" ]; then
git checkout "$(git describe --abbrev=0 --tags)"
else
git checkout "$1"
fi
cd "$GKI_ROOT"
echo "[+] GKI_ROOT: $GKI_ROOT"
echo "[+] Copy kernel su driver to $DRIVER_DIR"
cd "$DRIVER_DIR"
if test -d "$GKI_ROOT/common/drivers"; then
ln -sf "../../KernelSU/kernel" "kernelsu"
elif test -d "$GKI_ROOT/drivers"; then
ln -sf "../KernelSU/kernel" "kernelsu"
fi
cd "$GKI_ROOT"
2022-12-10 22:43:21 +07:00
echo '[+] Add kernel su driver to Makefile'
2022-12-10 22:43:21 +07:00
DRIVER_MAKEFILE=$DRIVER_DIR/Makefile
DRIVER_KCONFIG=$DRIVER_DIR/Kconfig
grep -q "kernelsu" "$DRIVER_MAKEFILE" || printf "\nobj-\$(CONFIG_KSU) += kernelsu/\n" >> "$DRIVER_MAKEFILE"
grep -q "kernelsu" "$DRIVER_KCONFIG" || sed -i "/endmenu/i\\source \"drivers/kernelsu/Kconfig\"" "$DRIVER_KCONFIG"
2022-12-10 22:43:21 +07:00
echo '[+] Done.'