forked from chilan666/Android-Kernel-Builder
-
Notifications
You must be signed in to change notification settings - Fork 0
77 lines (66 loc) · 3.27 KB
/
build_kernel_for_GTMaster.yml
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
name: Build Kernel For GTmaster
on:
workflow_dispatch:
jobs:
build:
name: Build Kernel
runs-on: ubuntu-latest
env:
CCACHE_COMPILERCHECK: "%compiler% -dumpmachine; %compiler% -dumpversion"
CCACHE_NOHASHDIR: "true"
CCACHE_HARDLINK: "true"
steps:
- uses: actions/checkout@v3
- name: Setup build kernel environment
run: |
echo "BUILD_TIME=$(TZ=Asia/Kuala_Lumpur date "+%Y %m %d %H,%M")" >> $GITHUB_ENV
sudo apt-get update
sudo apt-get install git ccache automake flex lzop bison gperf build-essential zip curl zlib1g-dev g++-multilib libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven libssl-dev pwgen libswitch-perl policycoreutils minicom libxml-sax-base-perl libxml-simple-perl bc libc6-dev-i386 lib32ncurses5-dev libx11-dev lib32z-dev libgl1-mesa-dev xsltproc unzip device-tree-compiler python2 python3
mkdir -p $GITHUB_WORKSPACE/kernel_workspace
- name: Download Proton-Clang
run: |
cd $GITHUB_WORKSPACE/kernel_workspace
git clone https://github.com/kdrag0n/proton-clang clang --depth=1
- name: Download kernel source
run: |
cd $GITHUB_WORKSPACE/kernel_workspace
git clone https://github.com/Blackmanx/kernel_realme_sm8250 -b bigshot android-kernel --depth=1
- name: Setup KernelSU
run: |
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s main
- name: Setup Configuration for Kernel
run: |
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel
echo "CONFIG_HAVE_KPROBES=y" >> arch/arm64/configs/vendor/sm8250_defconfig
echo "CONFIG_KPROBE_EVENTS=y" >> arch/arm64/configs/vendor/sm8250_defconfig
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: build-kernel-${{ env.UPLOADNAME }}
max-size: 2G
- name: Build kernel
run: |
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel
export PATH=$GITHUB_WORKSPACE/kernel_workspace/clang/bin:$PATH
make -j$(nproc --all) CROSS_COMPILE=aarch64-linux-gnu- CC=clang O=out ARCH=arm64 vendor/sm8250_defconfig
make -j$(nproc --all) CROSS_COMPILE=aarch64-linux-gnu- CC="ccache clang" O=out ARCH=arm64
- name: Make Anykernel3
run: |
cd $GITHUB_WORKSPACE/kernel_workspace
git clone https://github.com/osm0sis/AnyKernel3
sed -i 's/do.devicecheck=1/do.devicecheck=0/g' AnyKernel3/anykernel.sh
sed -i 's!block=/dev/block/platform/omap/omap_hsmmc.0/by-name/boot;!block=auto;!g' AnyKernel3/anykernel.sh
sed -i 's/is_slot_device=0;/is_slot_device=auto;/g' AnyKernel3/anykernel.sh
cp android-kernel/out/arch/arm64/boot/Image AnyKernel3/
rm -rf AnyKernel3/.git* AnyKernel3/README.md
- name: Upload Image
uses: actions/upload-artifact@v3
with:
name: Image-KernelSU-${{ env.BUILD_TIME }}
path: kernel_workspace/android-kernel/out/arch/arm64/boot/Image
- name: Upload AnyKernel3
uses: actions/upload-artifact@v3
with:
name: AnyKernel3-bigshot-KernelSU-${{ env.BUILD_TIME }}
path: kernel_workspace/AnyKernel3/*