-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathfixesforsma155f.sh
More file actions
executable file
·120 lines (120 loc) · 4.92 KB
/
fixesforsma155f.sh
File metadata and controls
executable file
·120 lines (120 loc) · 4.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/bash
#get kerneldir ready
STARTPATH=$(pwd)
[ ! -f ./certificate.pem ] && openssl req -new -x509 -newkey rsa:4096 -keyout private_key.pk8 -out certificate.pem -days 824 -nodes -sha256 -config samsung_cert.conf
[ -d ./maggi ] && rm -rf ./maggi/
mkdir ./maggi
cd maggi
../github.zerozr99.workers.dev-topjohnwu/x86_64/magiskboot unpack ../samsungbootimg/boot.img
rm kernel
#do stupid fix for error in build sh at line 909 missing a space infront of the last "]"
sed -i 's/!= "1"\]; then/!= "1" \]; then/' ../Kernel/kernel/build/build.sh
#do ksun
cd ../Kernel/kernel-5.10/
find . -type f ! -perm -u=w -exec chmod u+w {} +
curl -LSs "https://raw.githubusercontent.com/KernelSU-Next/KernelSU-Next/next/kernel/setup.sh" | bash -s v1.0.9
#do susfs stuff
if [ ! -f "./scope_min_manual_hooks_v1.4.patch" ]; then
cp ../../gitlab.com-simonpunk/kernel_patches/fs/* ./fs/
cp ../../gitlab.com-simonpunk/kernel_patches/include/linux/* ./include/linux/
cp ../../gitlab.com-simonpunk/kernel_patches/KernelSU/10_enable_susfs_for_ksu.patch ./KernelSU-Next/
cp ../../gitlab.com-simonpunk/kernel_patches/50_add_susfs_in_gki-android12-5.10.patch ./
cp ../../wildplus/next/scope_min_manual_hooks_v1.4.patch ./
cp ../../wildplus/next/159susfs4ksun109.patch ./KernelSU-Next/kernel/
#copy stupid fix for namespace c hunk 1 for different define infront insert and hunk 13 for different code after insert
cp ../../wildplus/next/hotfixsamsungnamespace.patch ./
cd ./KernelSU-Next/
#echo "patch susfs to ksun"
patch -p1 --forward < 10_enable_susfs_for_ksu.patch
#echo "patch samsung adjusted susfs to ksun as a fix"
cd ./kernel/
patch -p1 --forward < 159susfs4ksun109.patch
cd ../..
#echo "patch susfs in kernel"
patch -p1 < 50_add_susfs_in_gki-android12-5.10.patch
#do stupid fix for namespace c
#echo "patch namespace fix"
patch -p1 < hotfixsamsungnamespace.patch
#echo "patch syscall_hooks"
patch -p1 -F 3 < scope_min_manual_hooks_v1.4.patch
fi
CONFIG_FILE="./arch/arm64/configs/a15_00_defconfig"
CONFIGS=(
"CONFIG_KSU=y"
"CONFIG_KSU_KPROBES_HOOK=n"
"CONFIG_KSU_SUSFS=y"
"CONFIG_KSU_SUSFS_HAS_MAGIC_MOUNT=y"
"CONFIG_KSU_SUSFS_SUS_PATH=y"
"CONFIG_KSU_SUSFS_SUS_MOUNT=y"
"CONFIG_KSU_SUSFS_AUTO_ADD_SUS_KSU_DEFAULT_MOUNT=y"
"CONFIG_KSU_SUSFS_AUTO_ADD_SUS_BIND_MOUNT=y"
"CONFIG_KSU_SUSFS_SUS_KSTAT=y"
"CONFIG_KSU_SUSFS_SUS_OVERLAYFS=n"
"CONFIG_KSU_SUSFS_TRY_UMOUNT=y"
"CONFIG_KSU_SUSFS_AUTO_ADD_TRY_UMOUNT_FOR_BIND_MOUNT=y"
"CONFIG_KSU_SUSFS_SPOOF_UNAME=y"
"CONFIG_KSU_SUSFS_ENABLE_LOG=y"
"CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS=y"
"CONFIG_KSU_SUSFS_SPOOF_CMDLINE_OR_BOOTCONFIG=y"
"CONFIG_KSU_SUSFS_OPEN_REDIRECT=y"
"CONFIG_KSU_SUSFS_SUS_SU=n"
"CONFIG_TMPFS_XATTR=y"
"CONFIG_TMPFS_POSIX_ACL=y"
"CONFIG_IP_NF_TARGET_TTL=y"
"CONFIG_IP6_NF_TARGET_HL=y"
"CONFIG_IP6_NF_MATCH_HL=y"
)
for config in "${CONFIGS[@]}"; do
key=$(echo "$config" | cut -d= -f1)
if grep -q "^$key=" "$CONFIG_FILE"; then
sed -i "s|^$key=.*|$config|" "$CONFIG_FILE"
else
echo "$config" >> "$CONFIG_FILE"
fi
done
sed -i -E '/^CONFIG_(SECURITY_DEFEX|PROCA|FIVE|UH|RKP|KDP|KDP_CRED|KDP_NS|KDP_TEST|RKP_TEST)=y$/s/=y/=n/' ./arch/arm64/configs/a15_00_defconfig
BBRS=(
'CONFIG_TCP_CONG_ADVANCED=y'
'CONFIG_TCP_CONG_BBR=y'
'CONFIG_DEFAULT_BBR=y'
'CONFIG_NET_SCH_FQ=y'
'CONFIG_TCP_CONG_BIC=n'
'CONFIG_DEFAULT_BIC=n'
'CONFIG_DEFAULT_TCP_CONG="bbr"'
'CONFIG_DEFAULT_RENO=n'
'CONFIG_DEFAULT_CUBIC=n'
'CONFIG_TCP_CONG_CUBIC=n'
)
for bbr in "${BBRS[@]}"; do
key=$(echo "$bbr" | cut -d= -f1)
if grep -q "^$key=" "$CONFIG_FILE"; then
sed -i "s|^$key=.*|$bbr|" "$CONFIG_FILE"
else
echo "$bbr" >> "$CONFIG_FILE"
fi
done
#echo "configs in a15_00_defconfig echoed"
#configure the Kernel metadata
sed -i '$s|echo "\$res"|echo "-android12-9-31117096"|' ./scripts/setlocalversion
perl -pi -e 's{UTS_VERSION="\$\(echo \$UTS_VERSION \$CONFIG_FLAGS \$TIMESTAMP \| cut -b -\$UTS_LEN\)"}{UTS_VERSION="#1 SMP PREEMPT Thu May 29 08:03:09 UTC 2025"}' ./scripts/mkcompile_h
sed -i 's/-dirty//' ./scripts/setlocalversion
#echo "kernel metadata spoofed"
#do kernelbuilding
python2 scripts/gen_build_config.py --kernel-defconfig a15_00_defconfig --kernel-defconfig-overlays "entry_level.config" -m user -o ../out/target/product/a15/obj/KERNEL_OBJ/build.config
export ARCH=arm64
export PLATFORM_VERSION=12
export CROSS_COMPILE="aarch64-linux-gnu-"
export CROSS_COMPILE_COMPAT="arm-linux-gnueabi-"
export OUT_DIR="../out/target/product/a15/obj/KERNEL_OBJ"
export DIST_DIR="../out/target/product/a15/obj/KERNEL_OBJ"
export BUILD_CONFIG="../out/target/product/a15/obj/KERNEL_OBJ/build.config"
#echo "generated buildconfig and exported build vars"
cd ../kernel
LTO=thin ./build/build.sh
cd ../../maggi
cp ../Kernel/out/target/product/a15/obj/KERNEL_OBJ/kernel-5.10/arch/arm64/boot/Image ./
mv Image kernel
#echo "copied Image for magiskboot"
../github.zerozr99.workers.dev-topjohnwu/x86_64/magiskboot repack ../samsungbootimg/boot.img boot.img
../github.zerozr99.workers.dev-topjohnwu/x86_64/magiskboot sign boot.img ../certificate.pem
#echo "magiskboot packed and signed boot.img"