generated from Three-taile-dragon/KernelSU_Action
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 4522ec1
Showing
10 changed files
with
678 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
name: Build boot image | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
KERNEL_SOURCE: | ||
description: 'Kernel Source' | ||
required: true | ||
default: 'https://github.com/Terminator-J/crdroid_kernel_oneplus_sdm845' | ||
KERNEL_SOURCE_BRANCH: | ||
description: 'Branch' | ||
required: true | ||
default: '13.0-m00' | ||
KERNEL_BUILD_CONFIG: | ||
description: 'Kernel Build Config' | ||
required: true | ||
default: 'https://raw.githubusercontent.com/Three-taile-dragon/KernelSU_action/main/configs/build.config.wayne' | ||
BOOTIMAGE: | ||
description: 'Boot image to get ramdisk' | ||
required: true | ||
default: 'https://forum.xda-developers.com/attachments/crdroidandroid-13-0-20230112-fajita-v9-0_boot-img.5808997/' | ||
USE_KPROBES: | ||
description: 'If you want to use kprobes, please type "true"' | ||
default: 'true' | ||
required: true | ||
KERNEL_DEFCONFIG: | ||
description: 'KERNEL_DEFCONFIG' | ||
required: true | ||
default: 'enchilada_defconfig' | ||
|
||
|
||
jobs: | ||
build: | ||
name: Build boot image | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Setup build kernel environment | ||
run: | | ||
echo "BUILD_TIME=$(TZ=Asia/Shanghai date "+%Y%m%d%H%M")" >> $GITHUB_ENV | ||
cd $GITHUB_WORKSPACE | ||
git clone https://gerrit.googlesource.com/git-repo | ||
mkdir kernel_workspace && cd kernel_workspace | ||
git config --global user.name "Github Action" | ||
git config --global user.email "[email protected]" | ||
../git-repo/repo init --depth=1 -u https://github.com/Three-taile-dragon/KernelSU_Action -b main | ||
../git-repo/repo sync -j$(nproc --all) | ||
sed -i '/SOURCE_DATE_EPOCH/d' build/_setup_env.sh | ||
sed -i 's/build-host/Mac-Pro/' build/_setup_env.sh | ||
sed -i 's/build-user/$(echo ${{ github.actor }} | tr A-Z a-z)/' build/_setup_env.sh | ||
wget -O boot.img ${{ github.event.inputs.BOOTIMAGE }} | ||
tools/mkbootimg/unpack_bootimg.py --boot_img=boot.img | ||
- name: Setup build kernel environment-other | ||
run: | | ||
echo "BUILD_TIME=$(TZ=Asia/Shanghai date "+%Y%m%d%H%M")" >> $GITHUB_ENV | ||
echo "DEVICE=$(echo ${{ env.KERNEL_DEFCONFIG }} | sed 's!vendor/!!;s/_defconfig//;s/_user//;s/-perf//')" >> $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 | ||
- name: Download Clang-aosp and Gcc-aosp | ||
run: | | ||
cd $GITHUB_WORKSPACE && mkdir kernel_workspace && cd kernel_workspace | ||
mkdir clang-aosp | ||
wget https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+archive/0a65f9d32d1d7131a3697af08320cc0d890395c1/clang-r475365b.tar.gz | ||
tar -C clang-aosp/ -zxvf clang-r475365b.tar.gz | ||
mkdir gcc-aosp | ||
wget https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9/archive/refs/heads/lineage-19.1.zip | ||
unzip -o lineage-19.1.zip -d gcc-aosp/ | ||
- name: Download kernel source | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace | ||
git clone ${{ github.event.inputs.KERNEL_SOURCE }} -b ${{ github.event.inputs.KERNEL_SOURCE_BRANCH }} android-kernel --depth=1 | ||
- name: Download kernel build config | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel | ||
wget -O build.config ${{ github.event.inputs.KERNEL_BUILD_CONFIG }} | ||
- name: Setup KernelSU | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel | ||
curl -LSs "https://raw.githubusercontent.com/Three-taile-dragon/KernelSU/main/kernel/setup.sh" | bash - | ||
if [ ${{ github.event.inputs.USE_KPROBES }} = true ]; then | ||
echo "CONFIG_KPROBES=y" >> arch/arm64/configs/${{ github.event.inputs.KERNEL_DEFCONFIG }} | ||
echo "CONFIG_HAVE_KPROBES=y" >> arch/arm64/configs/${{ github.event.inputs.KERNEL_DEFCONFIG }} | ||
echo "CONFIG_KPROBE_EVENTS=y" >> arch/arm64/configs/${{ github.event.inputs.KERNEL_DEFCONFIG }} | ||
fi | ||
- name: Build boot-su.img | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace | ||
BRANCH=${{ github.event.inputs.KERNEL_SOURCE_BRANCH }} BUILD_CONFIG=android-kernel/build.config build/build.sh | ||
- name: Upload boot-su.img | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: boot-su-${{ github.event.inputs.KERNEL_SOURCE_BRANCH }}-${{ env.BUILD_TIME }}.img | ||
path: kernel_workspace/out/${{ github.event.inputs.KERNEL_SOURCE_BRANCH }}/dist/boot.img |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
name: Build Kernel Without Su | ||
on: | ||
watch: | ||
types: [started] | ||
|
||
workflow_dispatch: | ||
inputs: | ||
KERNEL_SOURCE: | ||
description: 'Kernel Source' | ||
required: true | ||
default: 'https://github.com/Terminator-J/crdroid_kernel_oneplus_sdm845' | ||
KERNEL_SOURCE_BRANCH: | ||
description: 'Branch' | ||
required: true | ||
default: '13.0-m00' | ||
KERNEL_DEFCONFIG: | ||
description: 'Defconfig' | ||
required: true | ||
default: 'arch/arm64/configs/enchilada_defconfig' | ||
KERNEL_FILE: | ||
description: 'Your kernel out image name' | ||
required: true | ||
default: 'Image.gz-dtb' | ||
CLANG_VERSION: | ||
description: 'Clang version' | ||
required: true | ||
default: 'r475365b' | ||
BUILD_EXTRA_COMMAND: | ||
description: 'Extra build commands(e.g. LLVM=1 LLVM_IAS=1)' | ||
required: false | ||
default: 'LD=ld.lld LLVM=1 LLVM_IAS=1' | ||
USE_KPROBES: | ||
description: 'If you want to use kprobes, please type "true"' | ||
required: true | ||
default: 'true' | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
if: github.event.repository.owner.id == github.event.sender.id | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup Configuration | ||
run: | | ||
if [ $(cat config.env | grep "USE_CONFIG" | head -n 1 | cut -d "=" -f 2) = true ];then | ||
echo "KERNEL_SOURCE=$(cat config.env | grep "KERNEL_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "KERNEL_SOURCE_BRANCH=$(cat config.env | grep "KERNEL_SOURCE_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "KERNEL_DEFCONFIG=$(cat config.env | grep "KERNEL_DEFCONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "KERNEL_FILE=$(cat config.env | grep "KERNEL_FILE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "CLANG_VERSION=$(cat config.env | grep "CLANG_VERSION" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "BUILD_EXTRA_COMMAND=$(cat config.env | grep "EXTRA_BUILD_COMMAND" | head -n 1 | cut -d ":" -f 2)" >> $GITHUB_ENV | ||
echo "USE_KPROBES=$(cat config.env | grep "USE_KPROBES" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
else | ||
echo "KERNEL_SOURCE=${{ github.event.inputs.KERNEL_SOURCE }}" >> $GITHUB_ENV | ||
echo "KERNEL_SOURCE_BRANCH=${{ github.event.inputs.KERNEL_SOURCE_BRANCH }}" >> $GITHUB_ENV | ||
echo "KERNEL_DEFCONFIG=${{ github.event.inputs.KERNEL_DEFCONFIG }}" >> $GITHUB_ENV | ||
echo "KERNEL_FILE=${{ github.event.inputs.KERNEL_FILE }}" >> $GITHUB_ENV | ||
echo "CLANG_VERSION=${{ github.event.inputs.CLANG_VERSION }}" >> $GITHUB_ENV | ||
echo "BUILD_EXTRA_COMMAND=${{ github.event.inputs.BUILD_EXTRA_COMMAND }}" >> $GITHUB_ENV | ||
echo "USE_KPROBES=${{ github.event.inputs.USE_KPROBES }}" >> $GITHUB_ENV | ||
fi | ||
- name: Setup build kernel environment | ||
run: | | ||
echo "BUILD_TIME=$(TZ=Asia/Shanghai date "+%Y%m%d%H%M")" >> $GITHUB_ENV | ||
echo "DEVICE=$(echo ${{ env.KERNEL_DEFCONFIG }} | sed 's!vendor/!!;s/_defconfig//;s/_user//;s/-perf//')" >> $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 | ||
- name: Download Clang-aosp and Gcc-aosp | ||
run: | | ||
cd $GITHUB_WORKSPACE && mkdir kernel_workspace && cd kernel_workspace | ||
mkdir clang-aosp | ||
wget https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+archive/0a65f9d32d1d7131a3697af08320cc0d890395c1/clang-r475365b.tar.gz | ||
tar -C clang-aosp/ -zxvf clang-${{ env.CLANG_VERSION }}.tar.gz | ||
mkdir gcc-aosp | ||
wget https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9/archive/refs/heads/lineage-19.1.zip | ||
unzip -o lineage-19.1.zip -d gcc-aosp/ | ||
- name: Download kernel source | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace | ||
git clone ${{ env.KERNEL_SOURCE }} -b ${{ env.KERNEL_SOURCE_BRANCH }} android-kernel --depth=1 | ||
- name: Build kernel | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel | ||
export PATH=$GITHUB_WORKSPACE/kernel_workspace/clang-aosp/bin:$PATH | ||
export KBUILD_BUILD_HOST=Github-Action | ||
export KBUILD_BUILD_USER=$(echo ${{ github.actor }} | tr A-Z a-z) | ||
make -j$(nproc --all) O=out ARCH=arm64 CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=$GITHUB_WORKSPACE/kernel_workspace/gcc-aosp/bin/aarch64-linux-android- CC=clang ${{ env.BUILD_EXTRA_COMMAND }} ${{ env.KERNEL_DEFCONFIG }} | ||
make -j$(nproc --all) O=out ARCH=arm64 CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=$GITHUB_WORKSPACE/kernel_workspace/gcc-aosp/bin/aarch64-linux-android- CC=clang ${{ env.BUILD_EXTRA_COMMAND }} | ||
- name: Make Anykernel for your kernel | ||
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/${{ env.KERNEL_FILE }} AnyKernel3/ | ||
rm -rf AnyKernel3/.git* AnyKernel3/README.md | ||
- name: Upload AnyKernel3 | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: AnyKernel3-KernelSU-${{ env.DEVICE }}-${{ env.BUILD_TIME }} | ||
path: kernel_workspace/AnyKernel3/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
name: Build Kernel Dev | ||
on: | ||
watch: | ||
types: [started] | ||
|
||
workflow_dispatch: | ||
inputs: | ||
KERNEL_SOURCE: | ||
description: 'Kernel Source' | ||
required: true | ||
default: 'https://github.com/Three-taile-dragon/crdroid_kernel_oneplus_sdm845' | ||
KERNEL_SOURCE_BRANCH: | ||
description: 'Branch' | ||
required: true | ||
default: '13.0-m00-ksu' | ||
KERNEL_DEFCONFIG: | ||
description: 'Defconfig' | ||
required: true | ||
default: 'arch/arm64/configs/enchilada_defconfig' | ||
KERNEL_FILE: | ||
description: 'Your kernel out image name' | ||
required: true | ||
default: 'Image.gz-dtb' | ||
CLANG_VERSION: | ||
description: 'Clang version' | ||
required: true | ||
default: 'r475365b' | ||
BUILD_EXTRA_COMMAND: | ||
description: 'Extra build commands(e.g. LLVM=1 LLVM_IAS=1)' | ||
required: false | ||
default: 'LD=ld.lld LLVM=1 LLVM_IAS=1' | ||
USE_KPROBES: | ||
description: 'If you want to use kprobes, please type "true"' | ||
required: true | ||
default: 'true' | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
if: github.event.repository.owner.id == github.event.sender.id | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup Configuration | ||
run: | | ||
if [ $(cat config.env | grep "USE_CONFIG" | head -n 1 | cut -d "=" -f 2) = true ];then | ||
echo "KERNEL_SOURCE=$(cat config.env | grep "KERNEL_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "KERNEL_SOURCE_BRANCH=$(cat config.env | grep "KERNEL_SOURCE_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "KERNEL_DEFCONFIG=$(cat config.env | grep "KERNEL_DEFCONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "KERNEL_FILE=$(cat config.env | grep "KERNEL_FILE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "CLANG_VERSION=$(cat config.env | grep "CLANG_VERSION" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
echo "BUILD_EXTRA_COMMAND=$(cat config.env | grep "EXTRA_BUILD_COMMAND" | head -n 1 | cut -d ":" -f 2)" >> $GITHUB_ENV | ||
echo "USE_KPROBES=$(cat config.env | grep "USE_KPROBES" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV | ||
else | ||
echo "KERNEL_SOURCE=${{ github.event.inputs.KERNEL_SOURCE }}" >> $GITHUB_ENV | ||
echo "KERNEL_SOURCE_BRANCH=${{ github.event.inputs.KERNEL_SOURCE_BRANCH }}" >> $GITHUB_ENV | ||
echo "KERNEL_DEFCONFIG=${{ github.event.inputs.KERNEL_DEFCONFIG }}" >> $GITHUB_ENV | ||
echo "KERNEL_FILE=${{ github.event.inputs.KERNEL_FILE }}" >> $GITHUB_ENV | ||
echo "CLANG_VERSION=${{ github.event.inputs.CLANG_VERSION }}" >> $GITHUB_ENV | ||
echo "BUILD_EXTRA_COMMAND=${{ github.event.inputs.BUILD_EXTRA_COMMAND }}" >> $GITHUB_ENV | ||
echo "USE_KPROBES=${{ github.event.inputs.USE_KPROBES }}" >> $GITHUB_ENV | ||
fi | ||
- name: Setup build kernel environment | ||
run: | | ||
echo "BUILD_TIME=$(TZ=Asia/Shanghai date "+%Y%m%d%H%M")" >> $GITHUB_ENV | ||
echo "DEVICE=$(echo ${{ env.KERNEL_DEFCONFIG }} | sed 's!vendor/!!;s/_defconfig//;s/_user//;s/-perf//')" >> $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 | ||
- name: Download Clang-aosp and Gcc-aosp | ||
run: | | ||
cd $GITHUB_WORKSPACE && mkdir kernel_workspace && cd kernel_workspace | ||
mkdir clang-aosp | ||
wget https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+archive/0a65f9d32d1d7131a3697af08320cc0d890395c1/clang-r475365b.tar.gz | ||
tar -C clang-aosp/ -zxvf clang-${{ env.CLANG_VERSION }}.tar.gz | ||
mkdir gcc-aosp | ||
wget https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9/archive/refs/heads/lineage-19.1.zip | ||
unzip -o lineage-19.1.zip -d gcc-aosp/ | ||
- name: Download kernel source | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace | ||
git clone ${{ env.KERNEL_SOURCE }} -b ${{ env.KERNEL_SOURCE_BRANCH }} android-kernel --depth=1 | ||
- name: Setup KernelSU | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel | ||
curl -LSs "https://raw.githubusercontent.com/Three-taile-dragon/KernelSU/dev/kernel/setup.sh" | bash - | ||
if [ ${{ env.USE_KPROBES }} = true ]; then | ||
echo "CONFIG_KPROBES=y" >> arch/arm64/configs/${{ env.KERNEL_DEFCONFIG }} | ||
echo "CONFIG_HAVE_KPROBES=y" >> arch/arm64/configs/${{ env.KERNEL_DEFCONFIG }} | ||
echo "CONFIG_KPROBE_EVENTS=y" >> arch/arm64/configs/${{ env.KERNEL_DEFCONFIG }} | ||
fi | ||
- name: Build kernel | ||
run: | | ||
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel | ||
export PATH=$GITHUB_WORKSPACE/kernel_workspace/clang-aosp/bin:$PATH | ||
export KBUILD_BUILD_HOST=Github-Action | ||
export KBUILD_BUILD_USER=$(echo ${{ github.actor }} | tr A-Z a-z) | ||
make -j$(nproc --all) O=out ARCH=arm64 CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=$GITHUB_WORKSPACE/kernel_workspace/gcc-aosp/bin/aarch64-linux-android- CC=clang ${{ env.BUILD_EXTRA_COMMAND }} ${{ env.KERNEL_DEFCONFIG }} | ||
make -j$(nproc --all) O=out ARCH=arm64 CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=$GITHUB_WORKSPACE/kernel_workspace/gcc-aosp/bin/aarch64-linux-android- CC=clang ${{ env.BUILD_EXTRA_COMMAND }} | ||
- name: Make Anykernel for your kernel | ||
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/${{ env.KERNEL_FILE }} AnyKernel3/ | ||
rm -rf AnyKernel3/.git* AnyKernel3/README.md | ||
- name: Upload AnyKernel3 | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: AnyKernel3-KernelSU-${{ env.DEVICE }}-${{ env.BUILD_TIME }} | ||
path: kernel_workspace/AnyKernel3/* |
Oops, something went wrong.