Skip to content

Commit b92ee1f

Browse files
authored
Update build-kernel-star.yml
1 parent 13bb2b8 commit b92ee1f

1 file changed

Lines changed: 57 additions & 43 deletions

File tree

Lines changed: 57 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build Kernel - Mi 11 Ultra/Pro (WildKSU + SuSFS)
1+
name: Build Kernel - Mi 11 Ultra (WildKSU)
22

33
on:
44
workflow_dispatch:
@@ -11,6 +11,22 @@ on:
1111
description: 'Kernel source branch'
1212
required: true
1313
default: 'twelve'
14+
SELINUX_MODE:
15+
description: 'SELinux mode'
16+
required: true
17+
default: 'enforcing'
18+
type: choice
19+
options:
20+
- 'enforcing'
21+
- 'permissive'
22+
DISABLE_REAR_DISPLAY:
23+
description: 'Disable rear display'
24+
required: true
25+
default: 'true'
26+
type: choice
27+
options:
28+
- 'true'
29+
- 'false'
1430

1531
jobs:
1632
build:
@@ -39,15 +55,15 @@ jobs:
3955
libelf-dev libssl-dev lld llvm make python3 \
4056
tar perl lz4 jq zip unzip wget
4157
42-
- name: Clone Clang Toolchain (v15)
58+
- name: Clone Clang (v15)
4359
run: |
4460
mkdir -p $TC_DIR
4561
CLANG_URL=$(curl -s https://raw.githubusercontent.com/ZyCromerZ/Clang/main/Clang-15-link.txt)
4662
wget -q "$CLANG_URL" -O $TC_DIR/clang.tar.gz
4763
tar -xf $TC_DIR/clang.tar.gz -C $TC_DIR
4864
echo "$TC_DIR/bin" >> $GITHUB_PATH
4965
50-
- name: Clone Kernel Source
66+
- name: Clone Source
5167
run: |
5268
git clone --depth=1 -b ${{ github.event.inputs.KERNEL_BRANCH }} \
5369
https://github.com/${{ github.event.inputs.KERNEL_SOURCE }}.git $KERNEL_DIR
@@ -56,41 +72,41 @@ jobs:
5672
working-directory: ${{ env.KERNEL_DIR }}
5773
run: |
5874
CONF=$(find arch/arm64/configs/ -name "*star*_defconfig" -o -name "*mars*_defconfig" | head -n 1)
59-
if [ -n "$CONF" ]; then
60-
DEFCONFIG=$(echo "$CONF" | sed 's|arch/arm64/configs/||')
61-
echo "DEFCONFIG=$DEFCONFIG" >> $GITHUB_ENV
62-
echo "Found: $DEFCONFIG"
63-
else
64-
echo "ERROR: Defconfig not found!" && exit 1
65-
fi
75+
if [ -z "$CONF" ]; then echo "ERROR: No config!" && exit 1; fi
76+
DEFCONFIG=$(echo "$CONF" | sed 's|arch/arm64/configs/||')
77+
echo "DEFCONFIG=$DEFCONFIG" >> $GITHUB_ENV
6678
6779
- name: Integrate WildKSU & SuSFS
6880
working-directory: ${{ env.KERNEL_DIR }}
6981
run: |
70-
# WildKSU
7182
curl -LSs "https://raw.githubusercontent.com/WildKernels/Wild_KSU/refs/heads/stable/kernel/setup.sh" | bash -s stable
72-
73-
# SuSFS (для ядра 5.4 нужны другие патчи, чем для 6.6)
7483
git clone --depth=1 https://gitlab.com/simonpunk/susfs4ksu.git -b kernel-5.4
75-
76-
# Накладываем патч SuSFS для 5.4
77-
# (Пути к патчам могут отличаться, подбираем самый подходящий)
7884
PATCH_FILE=$(find susfs4ksu/kernel_patches/ -name "*5.4*.patch" | head -n 1)
79-
if [ -f "$PATCH_FILE" ]; then
80-
patch -p1 < "$PATCH_FILE"
81-
fi
82-
83-
# Копируем файлы SuSFS
84-
cp susfs4ksu/kernel_patches/fs/susfs.c fs/
85-
cp susfs4ksu/kernel_patches/include/linux/susfs.h include/linux/
86-
cp susfs4ksu/kernel_patches/include/linux/susfs_def.h include/linux/
85+
[ -f "$PATCH_FILE" ] && patch -p1 < "$PATCH_FILE"
86+
cp -f susfs4ksu/kernel_patches/fs/susfs.c fs/
87+
cp -f susfs4ksu/kernel_patches/include/linux/susfs.h include/linux/
88+
cp -f susfs4ksu/kernel_patches/include/linux/susfs_def.h include/linux/
8789
rm -rf susfs4ksu
8890
91+
- name: Patch DTS
92+
if: ${{ github.event.inputs.DISABLE_REAR_DISPLAY == 'true' }}
93+
working-directory: ${{ env.KERNEL_DIR }}
94+
run: |
95+
find arch/arm64/boot/dts/ -name "*star*.dts" -o -name "*mars*.dts" | while read f; do
96+
printf '\n&sde_dsi1 { status = "disabled"; };\n' >> "$f"
97+
printf '&dsi_display1 { /delete-property/ qcom,dsi-display-active; };\n' >> "$f"
98+
done
99+
89100
- name: Configure Kconfig
90101
working-directory: ${{ env.KERNEL_DIR }}
91102
run: |
92103
DCFG="arch/arm64/configs/$DEFCONFIG"
93-
cat >> "$DCFG" << 'EOF'
104+
if [ "${{ github.event.inputs.SELINUX_MODE }}" = "permissive" ]; then
105+
SEL="CONFIG_SECURITY_SELINUX_BOOTPARAM=y"
106+
else
107+
SEL="# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set"
108+
fi
109+
cat >> "$DCFG" << EOF
94110
CONFIG_KSU=y
95111
CONFIG_WILD_KSU=y
96112
CONFIG_KSU_SUSFS=y
@@ -99,36 +115,34 @@ jobs:
99115
CONFIG_KSU_SUSFS_SPOOF_UNAME=y
100116
CONFIG_KSU_SUSFS_ENABLE_LOG=y
101117
CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS=y
118+
$SEL
102119
CONFIG_LOCALVERSION="-palaziks-wild"
103120
CONFIG_LTO_NONE=y
104121
EOF
105122
106-
- name: Build Kernel
123+
- name: Build
107124
working-directory: ${{ env.KERNEL_DIR }}
108125
run: |
109126
mkdir -p $OUT_DIR
110-
make O=$OUT_DIR ARCH=arm64 CC=clang \
111-
CLANG_TRIPLE=aarch64-linux-gnu- \
112-
CROSS_COMPILE=aarch64-linux-gnu- \
113-
CROSS_COMPILE_ARM32=arm-linux-gnueabi- \
114-
$DEFCONFIG
115-
116-
make -j$(nproc --all) O=$OUT_DIR ARCH=arm64 CC=clang \
117-
CLANG_TRIPLE=aarch64-linux-gnu- \
118-
CROSS_COMPILE=aarch64-linux-gnu- \
119-
CROSS_COMPILE_ARM32=arm-linux-gnueabi- \
120-
Image.gz-dtb
127+
ARGS="ARCH=arm64 O=$OUT_DIR CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-gnu- CROSS_COMPILE_ARM32=arm-linux-gnueabi-"
128+
make $ARGS $DEFCONFIG
129+
make -j$(nproc --all) $ARGS Image.gz-dtb || make -j$(nproc --all) $ARGS Image.gz
121130
122-
- name: Package AnyKernel3
131+
- name: Package
123132
run: |
124133
git clone --depth=1 https://github.com/osm0sis/AnyKernel3.git $ANYKERNEL_DIR
125-
cp $OUT_DIR/arch/arm64/boot/Image.gz-dtb $ANYKERNEL_DIR/Image
126-
# Настройка скрипта
134+
if [ -f "$OUT_DIR/arch/arm64/boot/Image.gz-dtb" ]; then
135+
cp "$OUT_DIR/arch/arm64/boot/Image.gz-dtb" "$ANYKERNEL_DIR/Image"
136+
else
137+
cp "$OUT_DIR/arch/arm64/boot/Image.gz" "$ANYKERNEL_DIR/Image"
138+
fi
127139
sed -i 's/do.devicecheck=1/do.devicecheck=0/g' $ANYKERNEL_DIR/anykernel.sh
128-
cd $ANYKERNEL_DIR && zip -r9 ../kernel-build.zip ./*
140+
ZIP_NAME="WildKSU_SuSFS_${{ github.event.inputs.SELINUX_MODE }}_$(date +%d%m).zip"
141+
cd $ANYKERNEL_DIR && zip -r9 "${GITHUB_WORKSPACE}/${ZIP_NAME}" ./*
142+
echo "ZIP_NAME=${ZIP_NAME}" >> $GITHUB_ENV
129143
130144
- name: Upload
131145
uses: actions/upload-artifact@v4
132146
with:
133-
name: WildKSU-SuSFS-Mi11-Kernel
134-
path: kernel-build.zip
147+
name: ${{ env.ZIP_NAME }}
148+
path: ${{ github.workspace }}/${{ env.ZIP_NAME }}

0 commit comments

Comments
 (0)