Files
SukiSU-Ultra/.github/workflows/build-WSA-5.10.117-kernel.yml
2023-01-12 21:32:17 +08:00

101 lines
4.2 KiB
YAML

name: Build WSA-5.10.117-Kernel
on:
push:
branches: [ "main" ]
paths:
- '.github/workflows/build-WSA-5.10.117-kernel.yml'
- 'kernel/**'
pull_request:
branches: [ "main" ]
paths:
- 'kernel/**'
jobs:
build:
strategy:
matrix:
include:
- version: 5.10.117.4
date: "20221110"
- version: 5.10.117.3
date: "20221104"
- version: 5.10.117.2
date: "20220906"
- version: 5.10.117.1
date: "20220804"
name: Build WSA-Kernel-${{ matrix.version }}
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v3
with:
path: KernelSU
- name: Install LLVM
run: |
sudo apt install -y --no-install-recommends bc bison build-essential ca-certificates flex git gnupg libelf-dev libssl-dev lsb-release software-properties-common wget libncurses-dev binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu nuget
export LLVM_VERSION=10
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh $LLVM_VERSION
rm ./llvm.sh
sudo ln -s --force /usr/bin/clang-$LLVM_VERSION /usr/bin/clang
sudo ln -s --force /usr/bin/ld.lld-$LLVM_VERSION /usr/bin/ld.lld
sudo ln -s --force /usr/bin/llvm-objdump-$LLVM_VERSION /usr/bin/llvm-objdump
sudo ln -s --force /usr/bin/llvm-ar-$LLVM_VERSION /usr/bin/llvm-ar
sudo ln -s --force /usr/bin/llvm-nm-$LLVM_VERSION /usr/bin/llvm-nm
sudo ln -s --force /usr/bin/llvm-strip-$LLVM_VERSION /usr/bin/llvm-strip
sudo ln -s --force /usr/bin/llvm-objcopy-$LLVM_VERSION /usr/bin/llvm-objcopy
sudo ln -s --force /usr/bin/llvm-readelf-$LLVM_VERSION /usr/bin/llvm-readelf
sudo ln -s --force /usr/bin/clang++-$LLVM_VERSION /usr/bin/clang++
- name: Download kernel source
run: |
cd $GITHUB_WORKSPACE
KERNEL_ROOT=$GITHUB_WORKSPACE/WSA-Linux-Kernel
echo "[+] 克隆远程仓库 WSA-Linux-Kernel..."
git clone https://github.com/microsoft/WSA-Linux-Kernel
cd WSA-Linux-Kernel && git checkout android-lts/latte/${{ matrix.version }}
echo "[+] 切换到分支 android-lts/latte/${{ matrix.version }}"
echo "[+] 导入 KernelSU"
echo "[+] KERNEL_ROOT: $KERNEL_ROOT"
echo "[+] 复制 kernel su driver 到路径:$KERNEL_ROOT/drivers"
ln -sf $GITHUB_WORKSPACE/KernelSU/kernel $KERNEL_ROOT/drivers/kernelsu
DRIVER_MAKEFILE=$KERNEL_ROOT/drivers/Makefile
echo "[+] 添加 kernel su driver 到文件:$DRIVER_MAKEFILE"
grep -q "kernelsu" $DRIVER_MAKEFILE || echo "obj-y += kernelsu/" >> $DRIVER_MAKEFILE
echo "[+] KernelSU 导入完成"
cd $KERNEL_ROOT && git apply $GITHUB_WORKSPACE/KernelSU/.github/patches/5.10/*.patch
cd -
- name: Build x86_64 Kernel
working-directory: WSA-Linux-Kernel
run: |
KERNEL_ROOT=$GITHUB_WORKSPACE/WSA-Linux-Kernel
echo "[+] 构建 kernel"
cp configs/wsa/config-wsa-5.10 $KERNEL_ROOT/.config
echo "[+] 复制配置文件 configs/wsa/config-wsa-5.10 到 $KERNEL_ROOT/.config"
echo "执行: make -j`nproc` LLVM=1 bzImage"
make -j`nproc` LLVM=1 bzImage
- name: Build arm64 Kernel
working-directory: WSA-Linux-Kernel
run: |
KERNEL_ROOT=$GITHUB_WORKSPACE/WSA-Linux-Kernel
echo "[+] 构建 kernel"
cp configs/wsa/config-wsa-arm64-5.10 $KERNEL_ROOT/.config
echo "[+] 复制配置文件 configs/wsa/config-wsa-arm64-5.10 到 $KERNEL_ROOT/.config"
echo "执行: make -j`nproc` LLVM=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu Image"
make -j`nproc` LLVM=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu Image
- name: Upload kernel-x86_64-${{ matrix.version }}
uses: actions/upload-artifact@v3
with:
name: kernel-WSA-x86_64-${{ matrix.version }}-${{ matrix.date }}
path: WSA-Linux-Kernel/arch/x86/boot/bzImage
- name: Upload kernel-arm64-${{ matrix.version }}
uses: actions/upload-artifact@v3
with:
name: kernel-WSA-arm64-${{ matrix.version }}-${{ matrix.date }}
path: WSA-Linux-Kernel/arch/arm64/boot/Image