Skip to content

Commit 0c5ed83

Browse files
committed
actions: add workflow, scripts and kernelsu tars for use with GitHub actions
Signed-off-by: Joe7500 <j7545032@gmail.com>
1 parent 1054106 commit 0c5ed83

7 files changed

Lines changed: 298 additions & 0 deletions

File tree

.github/workflows/build-kernel.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Build Kernel on GitHub Actions
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
build:
8+
runs-on: ubuntu-24.04
9+
steps:
10+
- name: Setup tmate session
11+
uses: mxschmitt/action-tmate@v3
12+
with:
13+
detached: true
14+
15+
- name: Update environment
16+
run: sudo apt update -y
17+
18+
- name: Install Dependencies
19+
run: sudo apt install -y git build-essential zip unzip curl
20+
21+
- name: Get script
22+
run: curl -o build_actions.sh -L https://raw.githubusercontent.com/Joe7500/valeryn_xiaomi_sm6115/refs/heads/build-actions/build_actions.sh
23+
24+
- name: Build kernel
25+
run: bash build_actions.sh
26+
continue-on-error: true
27+
28+
- name: Upload to Release
29+
uses: softprops/action-gh-release@v3
30+
with:
31+
files: |
32+
4.19*.zip
33+
*kernel-prebuilt*.tar.xz
34+
name: kernel chime ${{ github.run_id }}
35+
tag_name: ${{ github.run_id }}
36+
body: chime kernel by @joe_7500
37+
env:
38+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

KernelSU-Next-susfs-1.1.1.tar.xz

114 KB
Binary file not shown.

KernelSU-Next-susfs-3.2.0.tar.xz

151 KB
Binary file not shown.

build_actions.sh

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#!/bin/bash
2+
# curl -o build_kernel.sh -L https://raw.githubusercontent.com/Joe7500/valeryn_xiaomi_sm6115/refs/heads/build-actions/build_actions.sh
3+
4+
set -x
5+
6+
# Setup
7+
curl -o build_vanilla.sh -L https://raw.githubusercontent.com/Joe7500/valeryn_xiaomi_sm6115/refs/heads/build-actions/build_vanilla.sh || exit 1
8+
curl -o build_ksun1.sh -L https://raw.githubusercontent.com/Joe7500/valeryn_xiaomi_sm6115/refs/heads/build-actions/build_ksun1.sh || exit 1
9+
curl -o build_ksun3.sh -L https://raw.githubusercontent.com/Joe7500/valeryn_xiaomi_sm6115/refs/heads/build-actions/build_ksun3.sh || exit 1
10+
11+
mkdir build
12+
cd build
13+
rm -rf kernel
14+
git clone https://github.com/Joe7500/valeryn_xiaomi_sm6115 kernel
15+
16+
cd kernel || exit 1
17+
KERNEL_BUILD_DIR=`pwd`
18+
cd ../../
19+
ln -s "$KERNEL_BUILD_DIR"/.git .git
20+
cd build/kernel || exit 1
21+
22+
git config user.email "user@localhost"
23+
git config user.name "user"
24+
25+
# vanilla
26+
rm -rf *
27+
git reset --hard
28+
git switch android16
29+
git switch -c build-vanilla || exit 1
30+
bash ../../build_vanilla.sh
31+
if [ $? -eq 0 ] ; then
32+
cp 4.19*.zip ../../4.19-A16-valeryn-`date +'%d.%m.%y-%H%M'`.zip
33+
else
34+
echo FAILED
35+
exit 1
36+
fi
37+
38+
# ksun1
39+
rm -rf *
40+
git reset --hard
41+
git switch android16
42+
git switch -c build-ksun1 || exit 1
43+
bash ../../build_ksun1.sh
44+
if [ $? -eq 0 ] ; then
45+
cp 4.19*.zip ../../4.19-A16-valeryn-ksun-1.1.1-`date +'%d.%m.%y-%H%M'`.zip
46+
cp kernel-prebuilt*.tar.xz ../../
47+
else
48+
echo FAILED
49+
exit 1
50+
fi
51+
52+
# ksun3
53+
rm -rf *
54+
git reset --hard
55+
git switch android16
56+
git switch -c build-ksun3 || exit 1
57+
bash ../../build_ksun3.sh
58+
if [ $? -eq 0 ] ; then
59+
cp 4.19*.zip ../../4.19-A16-valeryn-ksun-3.2.0-`date +'%d.%m.%y-%H%M'`.zip
60+
else
61+
echo FAILED
62+
exit 1
63+
fi
64+
65+
exit 0

build_ksun1.sh

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#!/bin/bash
2+
3+
DEFCONFIG="vendor/bengal-perf_defconfig"
4+
ZIPNAME=4.19-A16-valeryn-ksun-1.1.1-`date +'%d.%m.%y-%H%M'`.zip
5+
6+
set -x
7+
8+
# Setup tools
9+
curl -o toolchain.tar.xz -L https://github.com/Joe7500/Builds/releases/download/Stuff/toolchain.tar.xz || exit 1
10+
curl -o AnyKernel3.tar.xz -L https://github.com/Joe7500/Builds/releases/download/Stuff/AnyKernel3.tar.xz || exit 1
11+
rm -rf toolchain prebuilts
12+
tar xf toolchain.tar.xz || exit 1
13+
ln -s prebuilts/clang/host/linux-x86/clang-stablekern/ toolchain
14+
tar xf AnyKernel3.tar.xz || exit 1
15+
PATH=$PWD/toolchain/bin:$PATH
16+
17+
# Apply changes
18+
git cherry-pick 9ddea125151ce61abbd05a84e8de72f8fc45da57 || exit 1
19+
git cherry-pick f0b967626c361d95969dd962cd22dffe1ebe510d || exit 1
20+
git cherry-pick dbc26ce49d11c5d1293dedb5f647dcdacf4432dd
21+
grep -vE '<<<|===|>>>' arch/arm64/configs/vendor/bengal-perf_defconfig > arch/arm64/configs/vendor/bengal-perf_defconfig.1
22+
mv arch/arm64/configs/vendor/bengal-perf_defconfig.1 arch/arm64/configs/vendor/bengal-perf_defconfig
23+
git add arch/arm64/configs/vendor/bengal-perf_defconfig
24+
git cherry-pick --continue --no-edit
25+
26+
curl -o KernelSU-Next-susfs-1.1.1.tar.xz -L https://github.com/Joe7500/valeryn_xiaomi_sm6115/raw/refs/heads/build-actions/KernelSU-Next-susfs-1.1.1.tar.xz || exit 1
27+
tar xf KernelSU-Next-susfs-1.1.1.tar.xz
28+
cd KernelSU-Next/
29+
git reset --hard
30+
git switch next-susfs
31+
git tag next-susfs-1.5.12
32+
cd ..
33+
bash KernelSU-Next/kernel/setup.sh next-susfs
34+
35+
echo 'CONFIG_KSU=y' >> arch/arm64/configs/vendor/bengal-perf_defconfig
36+
37+
echo "-perf" > localversion
38+
39+
# Build it
40+
rm -rf out/
41+
mkdir out/
42+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 $DEFCONFIG
43+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) || exit 1
44+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) Image.gz || exit 1
45+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) dtbs || exit 1
46+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) INSTALL_HDR_PATH=kernel_headers headers_install
47+
48+
# Make anykernel package
49+
kernel="out/arch/arm64/boot/Image.gz"
50+
dtbo="out/arch/arm64/boot/dtbo.img"
51+
dtb="out/arch/arm64/boot/dtb.img"
52+
53+
cp "out/arch/arm64/boot/dtb" "out/arch/arm64/boot/dtb.img"
54+
55+
cp $kernel AnyKernel3
56+
cp $dtbo AnyKernel3
57+
cp $dtb AnyKernel3
58+
59+
cd AnyKernel3
60+
zip -r9 "../$ZIPNAME" * -x .git *placeholder
61+
cd ..
62+
63+
# Make prebuilt package
64+
mkdir tmpwork/
65+
cd tmpwork
66+
curl -o kernel-prebuilt-perf-valeryn-A16.tar.xz -L https://github.com/Joe7500/Builds/releases/download/Stuff/kernel-prebuilt-perf-valeryn-A16.tar.xz
67+
tar xvf kernel-prebuilt-perf-valeryn-A16.tar.xz
68+
unzip ../4.19*.zip
69+
cp -fv Image.gz kernel/xiaomi/chime/prebuilts/
70+
tar cJf ../kernel-prebuilt-perf-valeryn-A16-`date +"%d.%m.%y"`.tar.xz kernel/xiaomi/chime/
71+
cd ..
72+

build_ksun3.sh

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#!/bin/bash
2+
3+
DEFCONFIG="vendor/bengal-perf_defconfig"
4+
ZIPNAME=4.19-A16-valeryn-ksun-3.2.0-`date +'%d.%m.%y-%H%M'`.zip
5+
6+
set -x
7+
8+
# Setup tools
9+
curl -o toolchain.tar.xz -L https://github.com/Joe7500/Builds/releases/download/Stuff/toolchain.tar.xz || exit 1
10+
curl -o AnyKernel3.tar.xz -L https://github.com/Joe7500/Builds/releases/download/Stuff/AnyKernel3.tar.xz || exit 1
11+
rm -rf toolchain prebuilts
12+
tar xf toolchain.tar.xz || exit 1
13+
ln -s prebuilts/clang/host/linux-x86/clang-stablekern/ toolchain
14+
tar xf AnyKernel3.tar.xz || exit 1
15+
PATH=$PWD/toolchain/bin:$PATH
16+
17+
# Apply changes
18+
git cherry-pick 84b385eb683c32beed15194b8c69611b3f35447f || exit 1
19+
git cherry-pick 70865a757dfceb92fd0dc7d9074b432086c7b73f || exit 1
20+
git cherry-pick 3f72527874b7007742e2dd24d5dc22891c031c3b || exit 1
21+
git cherry-pick 5c6b9ed54ab6f3ffb820dfa27c037137e3eeae52 || exit 1
22+
git cherry-pick 9beaa41861278b138f028253cdb0b4c5f80ee646
23+
grep -vE '<<<|===|>>>' arch/arm64/configs/vendor/bengal-perf_defconfig > arch/arm64/configs/vendor/bengal-perf_defconfig.1
24+
mv arch/arm64/configs/vendor/bengal-perf_defconfig.1 arch/arm64/configs/vendor/bengal-perf_defconfig
25+
git add arch/arm64/configs/vendor/bengal-perf_defconfig
26+
git cherry-pick --continue --no-edit
27+
28+
curl -o KernelSU-Next-susfs-3.2.0.tar.xz -L https://github.com/Joe7500/valeryn_xiaomi_sm6115/raw/refs/heads/build-actions/KernelSU-Next-susfs-3.2.0.tar.xz || exit 1
29+
tar xf KernelSU-Next-susfs-3.2.0.tar.xz
30+
31+
cd KernelSU-Next
32+
git reset --hard
33+
git switch legacy-susfs
34+
git tag 3.2.0-legacy-susfs
35+
cd ..
36+
bash KernelSU-Next/kernel/setup.sh 3.2.0-legacy-susfs
37+
38+
echo "CONFIG_KSU=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
39+
echo "# CONFIG_KPROBES is not set" >> arch/arm64/configs/vendor/bengal-perf_defconfig
40+
echo "CONFIG_HAVE_SYSCALL_TRACEPOINTS=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
41+
echo "CONFIG_KSU_MANUAL_HOOK=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
42+
echo "CONFIG_KSU_SUSFS=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
43+
echo "CONFIG_KSU_SUSFS_SUS_PATH=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
44+
echo "CONFIG_KSU_SUSFS_SUS_MOUNT=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
45+
echo "CONFIG_KSU_SUSFS_SUS_KSTAT=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
46+
echo "CONFIG_KSU_SUSFS_SPOOF_UNAME=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
47+
echo "CONFIG_KSU_SUSFS_ENABLE_LOG=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
48+
echo "CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
49+
echo "CONFIG_KSU_SUSFS_SPOOF_CMDLINE_OR_BOOTCONFIG=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
50+
echo "CONFIG_KSU_SUSFS_OPEN_REDIRECT=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
51+
echo "CONFIG_KSU_SUSFS_SUS_MAP=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
52+
if grep -q "THREAD_INFO_IN_TASK" "drivers/kernelsu/Kconfig"; then
53+
echo "CONFIG_THREAD_INFO_IN_TASK=y" >> arch/arm64/configs/vendor/bengal-perf_defconfig
54+
fi
55+
echo "CONFIG_KSU_SUSFS_TRY_UMOUNT=n" >> arch/arm64/configs/vendor/bengal-perf_defconfig
56+
57+
echo "-perf" > localversion
58+
59+
# Build it
60+
rm -rf out/
61+
mkdir out/
62+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 $DEFCONFIG
63+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) || exit 1
64+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) Image.gz || exit 1
65+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) dtbs || exit 1
66+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) INSTALL_HDR_PATH=kernel_headers headers_install
67+
68+
# Make anykernel package
69+
kernel="out/arch/arm64/boot/Image.gz"
70+
dtbo="out/arch/arm64/boot/dtbo.img"
71+
dtb="out/arch/arm64/boot/dtb.img"
72+
73+
cp "out/arch/arm64/boot/dtb" "out/arch/arm64/boot/dtb.img"
74+
75+
cp $kernel AnyKernel3
76+
cp $dtbo AnyKernel3
77+
cp $dtb AnyKernel3
78+
79+
cd AnyKernel3
80+
zip -r9 "../$ZIPNAME" * -x .git *placeholder
81+
cd ..

build_vanilla.sh

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/bin/bash
2+
3+
DEFCONFIG="vendor/bengal-perf_defconfig"
4+
ZIPNAME=4.19-A16-valeryn-`date +'%d.%m.%y-%H%M'`.zip
5+
6+
set -x
7+
8+
# Setup tools
9+
curl -o toolchain.tar.xz -L https://github.com/Joe7500/Builds/releases/download/Stuff/toolchain.tar.xz || exit 1
10+
curl -o AnyKernel3.tar.xz -L https://github.com/Joe7500/Builds/releases/download/Stuff/AnyKernel3.tar.xz || exit 1
11+
rm -rf toolchain prebuilts
12+
tar xf toolchain.tar.xz || exit 1
13+
ln -s prebuilts/clang/host/linux-x86/clang-stablekern/ toolchain
14+
tar xf AnyKernel3.tar.xz || exit 1
15+
PATH=$PWD/toolchain/bin:$PATH
16+
17+
# Apply changes
18+
echo "-perf" > localversion
19+
20+
# Build it
21+
rm -rf out/
22+
mkdir out/
23+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 $DEFCONFIG
24+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) || exit 1
25+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) Image.gz || exit 1
26+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) dtbs || exit 1
27+
make O=out ARCH=arm64 LLVM=1 LLVM_IAS=1 -j$(nproc) INSTALL_HDR_PATH=kernel_headers headers_install
28+
29+
# Make anykernel package
30+
kernel="out/arch/arm64/boot/Image.gz"
31+
dtbo="out/arch/arm64/boot/dtbo.img"
32+
dtb="out/arch/arm64/boot/dtb.img"
33+
34+
cp "out/arch/arm64/boot/dtb" "out/arch/arm64/boot/dtb.img"
35+
36+
cp $kernel AnyKernel3
37+
cp $dtbo AnyKernel3
38+
cp $dtb AnyKernel3
39+
40+
cd AnyKernel3
41+
zip -r9 "../$ZIPNAME" * -x .git *placeholder
42+
cd ..

0 commit comments

Comments
 (0)