mirror of
https://github.com/Dichgrem/GKI-build.git
synced 2025-12-17 14:11:59 -05:00
add:devices
add:devices
This commit is contained in:
101
.github/workflows/build-gki-kernel.yml
vendored
101
.github/workflows/build-gki-kernel.yml
vendored
@@ -21,6 +21,14 @@ on:
|
|||||||
options:
|
options:
|
||||||
- lz4
|
- lz4
|
||||||
- zstd
|
- zstd
|
||||||
|
device:
|
||||||
|
description: "Target OnePlus device"
|
||||||
|
required: true
|
||||||
|
default: "corvette"
|
||||||
|
type: choice
|
||||||
|
options:
|
||||||
|
- salami # OnePlus 11
|
||||||
|
- corvette # OnePlus ACE3 Pro
|
||||||
root_solution:
|
root_solution:
|
||||||
description: "Choose root solution to integrate"
|
description: "Choose root solution to integrate"
|
||||||
required: false
|
required: false
|
||||||
@@ -43,6 +51,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
ARCH: arm64
|
ARCH: arm64
|
||||||
SUBARCH: arm64
|
SUBARCH: arm64
|
||||||
|
WORKDIR: ${{ github.workspace }}/kernel
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -113,16 +122,59 @@ jobs:
|
|||||||
ls -la ./toolchains/
|
ls -la ./toolchains/
|
||||||
echo "工具链设置完成 ==="
|
echo "工具链设置完成 ==="
|
||||||
|
|
||||||
- name: Clone kernel source
|
- name: Determine kernel repo & branch and set device variables
|
||||||
|
id: vars
|
||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE/kernel
|
DEV=${{ github.event.inputs.device }}
|
||||||
|
case "$DEV" in
|
||||||
|
corvette)
|
||||||
|
REPO=https://github.com/crdroidandroid/android_kernel_oneplus_sm8650.git
|
||||||
|
DEVICE_CODENAME=corvette
|
||||||
|
DEVICE_NAME="OnePlus ACE3 Pro"
|
||||||
|
SOC_PLATFORM=sm8650
|
||||||
|
KERNEL_DIR=android_kernel_oneplus_sm8650
|
||||||
|
;;
|
||||||
|
salami)
|
||||||
|
REPO=https://github.com/crdroidandroid/android_kernel_oneplus_sm8550.git
|
||||||
|
DEVICE_CODENAME=salami
|
||||||
|
DEVICE_NAME="OnePlus 11"
|
||||||
|
SOC_PLATFORM=sm8550
|
||||||
|
KERNEL_DIR=android_kernel_oneplus_sm8550
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unsupported device: $DEV"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
echo "REPO=$REPO" >> $GITHUB_ENV
|
||||||
|
echo "DEVICE_CODENAME=$DEVICE_CODENAME" >> $GITHUB_ENV
|
||||||
|
echo "DEVICE_NAME=$DEVICE_NAME" >> $GITHUB_ENV
|
||||||
|
echo "SOC_PLATFORM=$SOC_PLATFORM" >> $GITHUB_ENV
|
||||||
|
echo "KERNEL_DIR=$KERNEL_DIR" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
echo "=== Device Configuration ==="
|
||||||
|
echo "Device: $DEVICE_NAME ($DEVICE_CODENAME)"
|
||||||
|
echo "SoC Platform: $SOC_PLATFORM"
|
||||||
|
echo "Repository: $REPO"
|
||||||
|
echo "Kernel Directory: $KERNEL_DIR"
|
||||||
|
|
||||||
|
- name: Clone Kernel Source
|
||||||
|
run: |
|
||||||
|
mkdir -p "$WORKDIR/source"
|
||||||
|
if [ -z "$BRANCH" ]; then
|
||||||
|
echo "BRANCH 未设置,自动检测默认分支..."
|
||||||
|
BRANCH=$(git ls-remote --symref "$REPO" HEAD | awk '/^ref:/ {sub("refs/heads/", "", $2); print $2; exit}')
|
||||||
|
echo "检测到默认分支为: $BRANCH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Cloning $REPO branch $BRANCH into $WORKDIR/source/$KERNEL_DIR"
|
||||||
git clone --depth=1 \
|
git clone --depth=1 \
|
||||||
https://github.com/crdroidandroid/android_kernel_oneplus_sm8650.git \
|
--branch "$BRANCH" \
|
||||||
./source/android_kernel_oneplus_sm8650
|
"$REPO" \
|
||||||
|
"$WORKDIR/source/$KERNEL_DIR"
|
||||||
|
|
||||||
echo "=== 内核源码目录结构 ==="
|
echo "=== 内核源码目录结构 ==="
|
||||||
echo "kernel/source/"
|
ls -la "$WORKDIR/source/"
|
||||||
ls -la ./source/
|
|
||||||
|
|
||||||
- name: Clone AnyKernel3
|
- name: Clone AnyKernel3
|
||||||
run: |
|
run: |
|
||||||
@@ -136,13 +188,13 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE/kernel
|
cd $GITHUB_WORKSPACE/kernel
|
||||||
if [ -f "$GITHUB_WORKSPACE/config" ]; then
|
if [ -f "$GITHUB_WORKSPACE/config" ]; then
|
||||||
cp $GITHUB_WORKSPACE/config ./source/android_kernel_oneplus_sm8650/myconfig
|
cp $GITHUB_WORKSPACE/config ./source/$KERNEL_DIR/myconfig
|
||||||
else
|
else
|
||||||
echo "Error: config file not found!"
|
echo "Error: config file not found!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd source/android_kernel_oneplus_sm8650
|
cd source/$KERNEL_DIR
|
||||||
|
|
||||||
# Configure BBR if enabled
|
# Configure BBR if enabled
|
||||||
if [ "${{ inputs.enable_bbr }}" = "true" ]; then
|
if [ "${{ inputs.enable_bbr }}" = "true" ]; then
|
||||||
@@ -202,13 +254,15 @@ jobs:
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo "=== Configuration Summary ==="
|
echo "=== Configuration Summary ==="
|
||||||
|
echo "Device: $DEVICE_NAME ($DEVICE_CODENAME)"
|
||||||
|
echo "SoC Platform: $SOC_PLATFORM"
|
||||||
echo "BBR Enabled: ${{ inputs.enable_bbr }}"
|
echo "BBR Enabled: ${{ inputs.enable_bbr }}"
|
||||||
echo "ZRAM Enabled: ${{ inputs.enable_zram }}"
|
echo "ZRAM Enabled: ${{ inputs.enable_zram }}"
|
||||||
echo "ZRAM Algorithm: ${{ inputs.zram_algorithm }}"
|
echo "ZRAM Algorithm: ${{ inputs.zram_algorithm }}"
|
||||||
|
|
||||||
- name: Install root solution
|
- name: Install root solution
|
||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE/kernel/source/android_kernel_oneplus_sm8650
|
cd $GITHUB_WORKSPACE/kernel/source/$KERNEL_DIR
|
||||||
export KCONFIG_CONFIG=myconfig
|
export KCONFIG_CONFIG=myconfig
|
||||||
|
|
||||||
echo "👉 选择的 Root 方案:${{ github.event.inputs.root_solution }}"
|
echo "👉 选择的 Root 方案:${{ github.event.inputs.root_solution }}"
|
||||||
@@ -230,11 +284,12 @@ jobs:
|
|||||||
|
|
||||||
- name: Build kernel
|
- name: Build kernel
|
||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE/kernel/source/android_kernel_oneplus_sm8650
|
cd $GITHUB_WORKSPACE/kernel/source/$KERNEL_DIR
|
||||||
|
|
||||||
# 记录开始时间
|
# 记录开始时间
|
||||||
starttime=$(date +'%Y-%m-%d %H:%M:%S')
|
starttime=$(date +'%Y-%m-%d %H:%M:%S')
|
||||||
echo "Build started at: $starttime"
|
echo "Build started at: $starttime"
|
||||||
|
echo "Building for: $DEVICE_NAME ($DEVICE_CODENAME) - $SOC_PLATFORM"
|
||||||
|
|
||||||
# 设置环境变量
|
# 设置环境变量
|
||||||
export ARCH=arm64
|
export ARCH=arm64
|
||||||
@@ -293,7 +348,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Check build results
|
- name: Check build results
|
||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE/kernel/source/android_kernel_oneplus_sm8650
|
cd $GITHUB_WORKSPACE/kernel/source/$KERNEL_DIR
|
||||||
echo "=== Build Results ==="
|
echo "=== Build Results ==="
|
||||||
if [ -f "out/arch/arm64/boot/Image" ]; then
|
if [ -f "out/arch/arm64/boot/Image" ]; then
|
||||||
echo "✅ Kernel build successful!"
|
echo "✅ Kernel build successful!"
|
||||||
@@ -319,7 +374,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# 获取内核版本信息
|
# 获取内核版本信息
|
||||||
cd source/android_kernel_oneplus_sm8650
|
cd source/$KERNEL_DIR
|
||||||
KERNEL_VERSION=$(make kernelversion 2>/dev/null || echo "unknown")
|
KERNEL_VERSION=$(make kernelversion 2>/dev/null || echo "unknown")
|
||||||
BUILD_DATE=$(date +'%Y%m%d_%H%M')
|
BUILD_DATE=$(date +'%Y%m%d_%H%M')
|
||||||
|
|
||||||
@@ -329,12 +384,14 @@ jobs:
|
|||||||
echo "内核名称: $KERNEL_NAME"
|
echo "内核名称: $KERNEL_NAME"
|
||||||
echo "内核版本: $KERNEL_VERSION"
|
echo "内核版本: $KERNEL_VERSION"
|
||||||
echo "构建日期: $BUILD_DATE"
|
echo "构建日期: $BUILD_DATE"
|
||||||
|
echo "目标设备: $DEVICE_NAME ($DEVICE_CODENAME)"
|
||||||
|
echo "SoC平台: $SOC_PLATFORM"
|
||||||
|
|
||||||
# 复制 AnyKernel3 模板到输出目录
|
# 复制 AnyKernel3 模板到输出目录
|
||||||
cp -r anykernel3/* output/
|
cp -r anykernel3/* output/
|
||||||
|
|
||||||
# 复制内核文件
|
# 复制内核文件
|
||||||
cp source/android_kernel_oneplus_sm8650/out/arch/arm64/boot/Image output/
|
cp source/$KERNEL_DIR/out/arch/arm64/boot/Image output/
|
||||||
|
|
||||||
# 修改 AnyKernel3 配置
|
# 修改 AnyKernel3 配置
|
||||||
cd output
|
cd output
|
||||||
@@ -405,9 +462,13 @@ jobs:
|
|||||||
Kernel Name: $KERNEL_NAME
|
Kernel Name: $KERNEL_NAME
|
||||||
Kernel Version: $KERNEL_VERSION
|
Kernel Version: $KERNEL_VERSION
|
||||||
Build Date: $BUILD_DATE
|
Build Date: $BUILD_DATE
|
||||||
|
Target Device: $DEVICE_NAME ($DEVICE_CODENAME)
|
||||||
|
SoC Platform: $SOC_PLATFORM
|
||||||
BBR Enabled: ${{ inputs.enable_bbr }}
|
BBR Enabled: ${{ inputs.enable_bbr }}
|
||||||
|
ZRAM Enabled: ${{ inputs.enable_zram }}
|
||||||
|
ZRAM Algorithm: ${{ inputs.zram_algorithm }}
|
||||||
|
Root Solution: ${{ inputs.root_solution }}
|
||||||
Compiler: Clang 21.0.0
|
Compiler: Clang 21.0.0
|
||||||
Target Device: OnePlus ACE3 Pro(SM8650)
|
|
||||||
Architecture: ARM64
|
Architecture: ARM64
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@@ -430,7 +491,7 @@ jobs:
|
|||||||
BBR_SUFFIX="_BBR"
|
BBR_SUFFIX="_BBR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ZIP_NAME="${KERNEL_NAME}${BBR_SUFFIX}_${BUILD_DATE}.zip"
|
ZIP_NAME="${KERNEL_NAME}_${DEVICE_CODENAME}${BBR_SUFFIX}${ROOT_SUFFIX}_${BUILD_DATE}.zip"
|
||||||
|
|
||||||
echo "=== 创建 ZIP 包: $ZIP_NAME ==="
|
echo "=== 创建 ZIP 包: $ZIP_NAME ==="
|
||||||
|
|
||||||
@@ -458,12 +519,12 @@ jobs:
|
|||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: kernel-build-${{ github.run_number }}
|
name: kernel-build-${{ env.DEVICE_CODENAME }}-${{ github.run_number }}
|
||||||
path: |
|
path: |
|
||||||
kernel/source/android_kernel_oneplus_sm8650/out/arch/arm64/boot/Image*
|
kernel/source/${{ env.KERNEL_DIR }}/out/arch/arm64/boot/Image*
|
||||||
kernel/source/android_kernel_oneplus_sm8650/out/arch/arm64/boot/dts/*/*.dtb
|
kernel/source/${{ env.KERNEL_DIR }}/out/arch/arm64/boot/dts/*/*.dtb
|
||||||
kernel/source/android_kernel_oneplus_sm8650/out/error.log
|
kernel/source/${{ env.KERNEL_DIR }}/out/error.log
|
||||||
kernel/source/android_kernel_oneplus_sm8650/out/.config
|
kernel/source/${{ env.KERNEL_DIR }}/out/.config
|
||||||
kernel/output/*.zip
|
kernel/output/*.zip
|
||||||
kernel/output/kernel_info.txt
|
kernel/output/kernel_info.txt
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user