1#!/bin/bash 2 3set -ex 4 5mkdir -p kernel 6wget -qO- ${KERNEL_URL} | tar -xj --strip-components=1 -C kernel 7pushd kernel 8 9# The kernel doesn't like the gold linker (or the old lld in our debians). 10# Sneak in some override symlinks during kernel build until we can update 11# debian (they'll get blown away by the rm of the kernel dir at the end). 12mkdir -p ld-links 13for i in /usr/bin/*-ld /usr/bin/ld; do 14 i=`basename $i` 15 ln -sf /usr/bin/$i.bfd ld-links/$i 16done 17export PATH=`pwd`/ld-links:$PATH 18 19export LOCALVERSION="`basename $KERNEL_URL`" 20./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/container/${KERNEL_ARCH}.config 21make ${KERNEL_IMAGE_NAME} 22for image in ${KERNEL_IMAGE_NAME}; do 23 cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/. 24done 25 26if [[ -n ${DEVICE_TREES} ]]; then 27 make dtbs 28 cp ${DEVICE_TREES} /lava-files/. 29fi 30 31if [[ ${DEBIAN_ARCH} = "amd64" || ${DEBIAN_ARCH} = "arm64" ]]; then 32 make modules 33 INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install 34fi 35 36if [[ ${DEBIAN_ARCH} = "arm64" ]]; then 37 make Image.lzma 38 mkimage \ 39 -f auto \ 40 -A arm \ 41 -O linux \ 42 -d arch/arm64/boot/Image.lzma \ 43 -C lzma\ 44 -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \ 45 /lava-files/cheza-kernel 46 KERNEL_IMAGE_NAME+=" cheza-kernel" 47fi 48 49popd 50rm -rf kernel 51 52