|
| 1 | +name: Build kernel by google-clang-9.08 |
| 2 | +on: |
| 3 | + watch: |
| 4 | + types: [started] |
| 5 | + |
| 6 | + workflow_dispatch: |
| 7 | + |
| 8 | +jobs: |
| 9 | + build: |
| 10 | + name: Build Kernel by ${{ github.actor }} |
| 11 | + runs-on: ubuntu-20.04 |
| 12 | + if: github.event.repository.owner.id == github.event.sender.id |
| 13 | + env: |
| 14 | + CCACHE_COMPILERCHECK: "%compiler% -dumpmachine; %compiler% -dumpversion" |
| 15 | + CCACHE_NOHASHDIR: "true" |
| 16 | + CCACHE_HARDLINK: "true" |
| 17 | + CI: "false" |
| 18 | + steps: |
| 19 | + - uses: actions/checkout@v3 |
| 20 | + - name: Prepare Configuration |
| 21 | + run: | |
| 22 | + CONFIG_ENV=$(cat config.env | grep -w "CONFIG_ENV" | head -n 1 | cut -d "=" -f 2) |
| 23 | + echo "KERNEL_SOURCE=$(cat $CONFIG_ENV | grep -w "KERNEL_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 24 | + echo "KERNEL_SOURCE_BRANCH=$(cat $CONFIG_ENV | grep -w "KERNEL_SOURCE_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 25 | + echo "KERNEL_CONFIG=$(cat $CONFIG_ENV | grep -w "KERNEL_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 26 | + echo "KERNEL_IMAGE_NAME=$(cat $CONFIG_ENV | grep -w "KERNEL_IMAGE_NAME" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 27 | + echo "ARCH=$(cat $CONFIG_ENV | grep -w "ARCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 28 | + echo "EXTRA_CMDS=$(cat $CONFIG_ENV | grep -w "EXTRA_CMDS" | head -n 1 | cut -d ":" -f 2)" >> $GITHUB_ENV |
| 29 | + echo "USE_CUSTOM_CLANG=$(cat $CONFIG_ENV | grep -w "USE_CUSTOM_CLANG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 30 | + echo "CUSTOM_CLANG_SOURCE=$(cat $CONFIG_ENV | grep -w "CUSTOM_CLANG_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 31 | + echo "CUSTOM_CLANG_BRANCH=$(cat $CONFIG_ENV | grep -w "CUSTOM_CLANG_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 32 | + echo "CUSTOM_CMDS=$(cat $CONFIG_ENV | grep -w "CUSTOM_CMDS" | head -n 1 | cut -d ":" -f 2)" >> $GITHUB_ENV |
| 33 | + echo "CLANG_BRANCH=$(cat $CONFIG_ENV | grep -w "CLANG_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 34 | + echo "CLANG_VERSION=$(cat $CONFIG_ENV | grep -w "CLANG_VERSION" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 35 | + echo "ENABLE_GCC_ARM64=$(cat $CONFIG_ENV | grep -w "ENABLE_GCC_ARM64" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 36 | + echo "ENABLE_GCC_ARM32=$(cat $CONFIG_ENV | grep -w "ENABLE_GCC_ARM32" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 37 | + echo "USE_CUSTOM_GCC_64=$(cat $CONFIG_ENV | grep -w "USE_CUSTOM_GCC_64" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 38 | + echo "CUSTOM_GCC_64_SOURCE=$(cat $CONFIG_ENV | grep -w "CUSTOM_GCC_64_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 39 | + echo "CUSTOM_GCC_64_BRANCH=$(cat $CONFIG_ENV | grep -w "CUSTOM_GCC_64_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 40 | + echo "CUSTOM_GCC_64_BIN=$(cat $CONFIG_ENV | grep -w "CUSTOM_GCC_64_BIN" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 41 | + echo "USE_CUSTOM_GCC_32=$(cat $CONFIG_ENV | grep -w "USE_CUSTOM_GCC_32" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 42 | + echo "CUSTOM_GCC_32_SOURCE=$(cat $CONFIG_ENV | grep -w "CUSTOM_GCC_32_SOURCE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 43 | + echo "CUSTOM_GCC_32_BRANCH=$(cat $CONFIG_ENV | grep -w "CUSTOM_GCC_32_BRANCH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 44 | + echo "CUSTOM_GCC_32_BIN=$(cat $CONFIG_ENV | grep -w "CUSTOM_GCC_32_BIN" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 45 | + echo "ENABLE_KERNELSU=$(cat $CONFIG_ENV | grep -w "ENABLE_KERNELSU" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 46 | + echo "KERNELSU_TAG=$(cat $CONFIG_ENV | grep -w "KERNELSU_TAG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 47 | + echo "ADD_KPROBES_CONFIG=$(cat $CONFIG_ENV | grep -w "ADD_KPROBES_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 48 | + echo "DISABLE-LTO=$(cat $CONFIG_ENV | grep -w "DISABLE-LTO" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 49 | + echo "ADD_OVERLAYFS_CONFIG=$(cat $CONFIG_ENV | grep -w "ADD_OVERLAYFS_CONFIG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 50 | + echo "DISABLE_CC_WERROR=$(cat $CONFIG_ENV | grep -w "DISABLE_CC_WERROR" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 51 | + echo "ENABLE_CCACHE=$(cat $CONFIG_ENV | grep -w "ENABLE_CCACHE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 52 | + echo "NEED_DTBO=$(cat $CONFIG_ENV | grep -w "NEED_DTBO" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 53 | + echo "BUILD_BOOT_IMG=$(cat $CONFIG_ENV | grep -w "BUILD_BOOT_IMG" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 54 | + echo "SOURCE_BOOT_IMAGE=$(cat $CONFIG_ENV | grep -w "SOURCE_BOOT_IMAGE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 55 | + echo "KSU_EXPECTED_SIZE=$(cat $CONFIG_ENV | grep -w "KSU_EXPECTED_SIZE" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 56 | + echo "KSU_EXPECTED_HASH=$(cat $CONFIG_ENV | grep -w "KSU_EXPECTED_HASH" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 57 | + echo "ENABLE_LXC=$(cat $CONFIG_ENV | grep -w "ENABLE_LXC" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 58 | + echo "DISABLE_FST=$(cat $CONFIG_ENV | grep -w "DISABLE_FST" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 59 | + echo "ENABLE_NETHUNTER=$(cat $CONFIG_ENV | grep -w "ENABLE_NETHUNTER" | head -n 1 | cut -d "=" -f 2)" >> $GITHUB_ENV |
| 60 | + |
| 61 | + - name: Set swap to 10G |
| 62 | + uses: pierotofy/set-swap-space@master |
| 63 | + with: |
| 64 | + swap-size-gb: 10 |
| 65 | + |
| 66 | + - name: Setup build kernel environment |
| 67 | + run: | |
| 68 | + echo "BUILD_TIME=$(TZ=Asia/Shanghai date "+%Y%m%d%H%M")" >> $GITHUB_ENV |
| 69 | + echo "DEVICE=$(echo ${{ env.KERNEL_CONFIG }} | sed 's!vendor/!!;s/_defconfig//;s/_user//;s/-perf//')" >> $GITHUB_ENV |
| 70 | + sudo apt-get update |
| 71 | + sudo apt install -y curl python2 llvm lld wget vim git ccache automake flex lzop bison gperf build-essential zip 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 x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev xsltproc unzip device-tree-compiler kmod python3 python3-pip |
| 72 | + mkdir -p $GITHUB_WORKSPACE/kernel_workspace |
| 73 | +
|
| 74 | + |
| 75 | + |
| 76 | + - name: Download google-clang-9.08 and google-gcc-4.9 |
| 77 | + run: | |
| 78 | + cd $GITHUB_WORKSPACE/kernel_workspace |
| 79 | + mkdir clang-aosp |
| 80 | + wget -O clang.tar.xz https://kali.download/nethunter-images/toolchains/google_clang-9.0.8.tar.xz |
| 81 | + tar -C clang-aosp/ -xf clang.tar.xz |
| 82 | + wget https://kali.download/nethunter-images/toolchains/google_aarch64-4.9.tar.xz |
| 83 | + wget https://kali.download/nethunter-images/toolchains/google_armhf-4.9.tar.xz |
| 84 | + tar -xf google_aarch64-4.9.tar.xz |
| 85 | + tar -xf google_armhf-4.9.tar.xz |
| 86 | + |
| 87 | +
|
| 88 | + - name: Download mkbootimg tools |
| 89 | + if: env.BUILD_BOOT_IMG == 'true' |
| 90 | + run: | |
| 91 | + cd $GITHUB_WORKSPACE/kernel_workspace |
| 92 | + git clone https://android.googlesource.com/platform/system/tools/mkbootimg tools -b master-kernel-build-2022 --depth=1 |
| 93 | +
|
| 94 | + - name: Download kernel source |
| 95 | + run: | |
| 96 | + cd $GITHUB_WORKSPACE/kernel_workspace |
| 97 | + git clone ${{ env.KERNEL_SOURCE }} -b ${{ env.KERNEL_SOURCE_BRANCH }} android-kernel --depth=1 |
| 98 | +
|
| 99 | + - name: Download source boot image |
| 100 | + if: env.BUILD_BOOT_IMG == 'true' |
| 101 | + run: | |
| 102 | + cd $GITHUB_WORKSPACE/kernel_workspace |
| 103 | + wget -O boot-source.img ${{ env.SOURCE_BOOT_IMAGE }} |
| 104 | + if [ -f boot-source.img ]; then |
| 105 | + echo "FORMAT_MKBOOTING=$(echo `tools/unpack_bootimg.py --boot_img=boot-source.img --format mkbootimg`)" >> $GITHUB_ENV |
| 106 | + echo "HAVE_SOURCE_BOOT_IMAGE=true" >> $GITHUB_ENV |
| 107 | + fi |
| 108 | + |
| 109 | + - name: Setup KernelSU |
| 110 | + if: env.ENABLE_KERNELSU == 'true' |
| 111 | + run: | |
| 112 | + cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel |
| 113 | + curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s ${{ env.KERNELSU_TAG }} |
| 114 | + echo "UPLOADNAME=-KernelSU" >> $GITHUB_ENV |
| 115 | +
|
| 116 | + - name: Setup Configuration for Kernel |
| 117 | + run: | |
| 118 | + cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel |
| 119 | + if [ ${{ env.ADD_KPROBES_CONFIG }} = true ]; then |
| 120 | + echo "CONFIG_MODULES=y" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 121 | + echo "CONFIG_KPROBES=y" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 122 | + echo "CONFIG_HAVE_KPROBES=y" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 123 | + echo "CONFIG_KPROBE_EVENTS=y" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 124 | + fi |
| 125 | + if [ ${{ env.ADD_OVERLAYFS_CONFIG }} = true ]; then |
| 126 | + echo "CONFIG_OVERLAY_FS=y" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 127 | + fi |
| 128 | + if [ ${{ env.DISABLE-LTO }} = true ]; then |
| 129 | + sed -i 's/CONFIG_LTO=y/CONFIG_LTO=n/' arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 130 | + sed -i 's/CONFIG_LTO_CLANG=y/CONFIG_LTO_CLANG=n/' arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 131 | + sed -i 's/CONFIG_THINLTO=y/CONFIG_THINLTO=n/' arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 132 | + echo "CONFIG_LTO_NONE=y" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 133 | + fi |
| 134 | + if [ ${{ env.DISABLE_CC_WERROR }} = true ]; then |
| 135 | + echo "CONFIG_CC_WERROR=n" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 136 | + fi |
| 137 | + if [ ${{ env.DISABLE_FST }} = true ]; then |
| 138 | + sed -i "s/CONFIG_CC_STACKPROTECTOR_STRONG=y/# CONFIG_CC_STACKPROTECTOR_STRONG is not set/g" arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 139 | + fi |
| 140 | + |
| 141 | + - name: Setup LXC |
| 142 | + if: env.ENABLE_LXC == 'true' |
| 143 | + run: | |
| 144 | + cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel |
| 145 | + rm -rf utils |
| 146 | + git clone https://github.com/tomxi1997/lxc-docker-support-for-android.git utils |
| 147 | + echo 'source "utils/Kconfig"' >> "Kconfig" |
| 148 | +
|
| 149 | + echo "CONFIG_DOCKER=y" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 150 | +
|
| 151 | + sed -i '/CONFIG_ANDROID_PARANOID_NETWORK/d' arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 152 | + echo "# CONFIG_ANDROID_PARANOID_NETWORK is not set" >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 153 | + |
| 154 | + #sed -i '/CONFIG_LOCALVERSION/d' arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 155 | + #echo 'CONFIG_LOCALVERSION="-LXC-KernelSU-support_Pdx"' >> arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} |
| 156 | + |
| 157 | + chmod +x $GITHUB_WORKSPACE/kernel_workspace/android-kernel/utils/runcpatch.sh |
| 158 | + if [ -f $GITHUB_WORKSPACE/kernel_workspace/android-kernel/kernel/cgroup/cgroup.c ]; then |
| 159 | + sh $GITHUB_WORKSPACE/kernel_workspace/android-kernel/utils/runcpatch.sh $GITHUB_WORKSPACE/kernel_workspace/android-kernel/kernel/cgroup/cgroup.c |
| 160 | + fi |
| 161 | +
|
| 162 | + if [ -f $GITHUB_WORKSPACE/kernel_workspace/android-kernel/kernel/cgroup.c ]; then |
| 163 | + sh $GITHUB_WORKSPACE/kernel_workspace/android-kernel/utils/runcpatch.sh $GITHUB_WORKSPACE/kernel_workspace/android-kernel/kernel/cgroup.c |
| 164 | + fi |
| 165 | +
|
| 166 | + if [ -f $GITHUB_WORKSPACE/kernel_workspace/android-kernel/net/netfilter/xt_qtaguid.c ]; then |
| 167 | + patch -p0 < $GITHUB_WORKSPACE/kernel_workspace/android-kernel/utils/xt_qtaguid.patch |
| 168 | + fi |
| 169 | + |
| 170 | + - name: Setup Kali-Nethunter |
| 171 | + if: env.ENABLE_NETHUNTER == 'true' |
| 172 | + run: | |
| 173 | + cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel |
| 174 | + git clone https://github.com/tomxi1997/kali-nethunter_patches.git |
| 175 | + patch -p1 < kali-nethunter_patches/add-rtl88xxau-5.6.4.2-drivers.patch |
| 176 | + patch -p1 < kali-nethunter_patches/add-wifi-injection-4.14.patch |
| 177 | + #patch -p1 < kali-nethunter_patches/add-wifi-injection.patch |
| 178 | + patch -p1 < kali-nethunter_patches/fix-ath9k-naming-conflict.patch |
| 179 | + sleep 8 |
| 180 | + git clone https://github.com/Biohazardousrom/Kali-defconfig-checker.git kali |
| 181 | + cd kali |
| 182 | + chmod +x *.sh |
| 183 | + chmod +x check-kernel-config |
| 184 | + ./check-kernel-config $GITHUB_WORKSPACE/kernel_workspace/android-kernel/arch/${{ env.ARCH }}/configs/${{ env.KERNEL_CONFIG }} -w |
| 185 | + |
| 186 | + - name: Setup ccache |
| 187 | + if: env.ENABLE_CCACHE == 'true' |
| 188 | + uses: hendrikmuhs/ccache-action@v1.2 |
| 189 | + with: |
| 190 | + key: build-kernel-${{ env.DEVICE }}${{ env.UPLOADNAME }} |
| 191 | + max-size: 2G |
| 192 | + |
| 193 | + - name: Build kernel |
| 194 | + run: | |
| 195 | + cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel |
| 196 | + export PATH=$GITHUB_WORKSPACE/kernel_workspace/clang-aosp/bin:$GITHUB_WORKSPACE/kernel_workspace/aarch64-4.9/bin:$GITHUB_WORKSPACE/kernel_workspace/armhf-4.9/bin:$PATH |
| 197 | + export KBUILD_BUILD_HOST=Github-Action |
| 198 | + export KBUILD_BUILD_USER=$(echo ${{ github.actor }} | tr A-Z a-z) |
| 199 | + if [ ! -z ${{ env.KSU_EXPECTED_SIZE }} ] && [ ! -z ${{ env.KSU_EXPECTED_HASH }} ]; then |
| 200 | + export KSU_EXPECTED_SIZE=${{ env.KSU_EXPECTED_SIZE }} |
| 201 | + export KSU_EXPECTED_HASH=${{ env.KSU_EXPECTED_HASH }} |
| 202 | + fi |
| 203 | + make -j$(nproc --all) CC=clang O=out ARCH=${{ env.ARCH }} ${{ env.CUSTOM_CMDS }} ${{ env.EXTRA_CMDS }} CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- ${{ env.KERNEL_CONFIG }} |
| 204 | + if [ ${{ env.ENABLE_CCACHE }} = true ]; then |
| 205 | + make -j$(nproc --all) CC="ccache clang" O=out ARCH=${{ env.ARCH }} ${{ env.CUSTOM_CMDS }} ${{ env.EXTRA_CMDS }} CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- |
| 206 | + else |
| 207 | + make -j$(nproc --all) CC=clang O=out ARCH=${{ env.ARCH }} ${{ env.CUSTOM_CMDS }} ${{ env.EXTRA_CMDS }} CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- |
| 208 | + fi |
| 209 | +
|
| 210 | + - name: Check a kernel output files |
| 211 | + run: | |
| 212 | + cd $GITHUB_WORKSPACE/kernel_workspace |
| 213 | + if [ -f android-kernel/out/arch/${{ env.ARCH }}/boot/${{ env.KERNEL_IMAGE_NAME }} ]; then |
| 214 | + echo "CHECK_FILE_IS_OK=true" >> $GITHUB_ENV |
| 215 | + else |
| 216 | + echo "Kernel output file is empty" |
| 217 | + exit 1 |
| 218 | + fi |
| 219 | + if [ ${{ env.NEED_DTBO }} = true ]; then |
| 220 | + if [ -f android-kernel/out/arch/${{ env.ARCH }}/boot/dtbo.img ]; then |
| 221 | + echo "CHECK_DTBO_IS_OK=true" >> $GITHUB_ENV |
| 222 | + else |
| 223 | + echo "DTBO image is empty" |
| 224 | + exit 1 |
| 225 | + fi |
| 226 | + fi |
| 227 | + |
| 228 | + - name: Make Anykernel3 |
| 229 | + if: env.CHECK_FILE_IS_OK == 'true' |
| 230 | + run: | |
| 231 | + cd $GITHUB_WORKSPACE/kernel_workspace |
| 232 | + git clone https://github.com/osm0sis/AnyKernel3 |
| 233 | + sed -i 's/do.devicecheck=1/do.devicecheck=0/g' AnyKernel3/anykernel.sh |
| 234 | + sed -i 's!block=/dev/block/platform/omap/omap_hsmmc.0/by-name/boot;!block=auto;!g' AnyKernel3/anykernel.sh |
| 235 | + sed -i 's/is_slot_device=0;/is_slot_device=auto;/g' AnyKernel3/anykernel.sh |
| 236 | + cp android-kernel/out/arch/${{ env.ARCH }}/boot/${{ env.KERNEL_IMAGE_NAME }} AnyKernel3/ |
| 237 | + if [ ${{ env.CHECK_DTBO_IS_OK }} = true ]; then |
| 238 | + cp android-kernel/out/arch/${{ env.ARCH }}/boot/dtbo.img AnyKernel3/ |
| 239 | + fi |
| 240 | + rm -rf AnyKernel3/.git* AnyKernel3/README.md |
| 241 | +
|
| 242 | + - name: Make boot image |
| 243 | + if: env.HAVE_SOURCE_BOOT_IMAGE == 'true' && env.CHECK_FILE_IS_OK == 'true' |
| 244 | + run: | |
| 245 | + cd $GITHUB_WORKSPACE/kernel_workspace |
| 246 | + tools/unpack_bootimg.py --boot_img boot-source.img |
| 247 | + cp android-kernel/out/arch/${{ env.ARCH }}/boot/${{ env.KERNEL_IMAGE_NAME }} out/kernel |
| 248 | + tools/mkbootimg.py ${{ env.FORMAT_MKBOOTING }} -o boot.img |
| 249 | + if [ -f boot.img ]; then |
| 250 | + echo "MAKE_BOOT_IMAGE_IS_OK=true" >> $GITHUB_ENV |
| 251 | + else |
| 252 | + echo "Boot image is empty" |
| 253 | + exit 1 |
| 254 | + fi |
| 255 | + |
| 256 | + - name: Upload ${{ env.KERNEL_IMAGE_NAME }} |
| 257 | + if: env.CHECK_FILE_IS_OK == 'true' |
| 258 | + uses: actions/upload-artifact@v3 |
| 259 | + with: |
| 260 | + name: ${{ env.KERNEL_IMAGE_NAME }}${{ env.UPLOADNAME }}-${{ env.DEVICE }}-${{ env.BUILD_TIME }} |
| 261 | + path: kernel_workspace/android-kernel/out/arch/${{ env.ARCH }}/boot/${{ env.KERNEL_IMAGE_NAME }} |
| 262 | + |
| 263 | + - name: Upload AnyKernel3 |
| 264 | + if: env.CHECK_FILE_IS_OK == 'true' |
| 265 | + uses: actions/upload-artifact@v3 |
| 266 | + with: |
| 267 | + name: AnyKernel3${{ env.UPLOADNAME }}-${{ env.DEVICE }}-${{ env.BUILD_TIME }} |
| 268 | + path: kernel_workspace/AnyKernel3/* |
| 269 | + |
| 270 | + - name: Upload DTBO image |
| 271 | + if: env.CHECK_DTBO_IS_OK == 'true' |
| 272 | + uses: actions/upload-artifact@v3 |
| 273 | + with: |
| 274 | + name: dtbo-${{ env.DEVICE }}-${{ env.BUILD_TIME }} |
| 275 | + path: kernel_workspace/android-kernel/out/arch/${{ env.ARCH }}/boot/dtbo.img |
| 276 | + |
| 277 | + - name: Upload boot image |
| 278 | + if: env.MAKE_BOOT_IMAGE_IS_OK == 'true' |
| 279 | + uses: actions/upload-artifact@v3 |
| 280 | + with: |
| 281 | + name: boot${{ env.UPLOADNAME }}-${{ env.DEVICE }}-${{ env.BUILD_TIME }} |
| 282 | + path: kernel_workspace/boot.img |
0 commit comments