17ec681f3Smrg#!/bin/bash
27ec681f3Smrg
37ec681f3Smrgset -ex
47ec681f3Smrg
57ec681f3Smrgmkdir -p kernel
67ec681f3Smrgwget -qO- ${KERNEL_URL} | tar -xj --strip-components=1 -C kernel
77ec681f3Smrgpushd kernel
87ec681f3Smrg
97ec681f3Smrg# The kernel doesn't like the gold linker (or the old lld in our debians).
107ec681f3Smrg# Sneak in some override symlinks during kernel build until we can update
117ec681f3Smrg# debian (they'll get blown away by the rm of the kernel dir at the end).
127ec681f3Smrgmkdir -p ld-links
137ec681f3Smrgfor i in /usr/bin/*-ld /usr/bin/ld; do
147ec681f3Smrg    i=`basename $i`
157ec681f3Smrg    ln -sf /usr/bin/$i.bfd ld-links/$i
167ec681f3Smrgdone
177ec681f3Smrgexport PATH=`pwd`/ld-links:$PATH
187ec681f3Smrg
197ec681f3Smrgexport LOCALVERSION="`basename $KERNEL_URL`"
207ec681f3Smrg./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/container/${KERNEL_ARCH}.config
217ec681f3Smrgmake ${KERNEL_IMAGE_NAME}
227ec681f3Smrgfor image in ${KERNEL_IMAGE_NAME}; do
237ec681f3Smrg    cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
247ec681f3Smrgdone
257ec681f3Smrg
267ec681f3Smrgif [[ -n ${DEVICE_TREES} ]]; then
277ec681f3Smrg    make dtbs
287ec681f3Smrg    cp ${DEVICE_TREES} /lava-files/.
297ec681f3Smrgfi
307ec681f3Smrg
317ec681f3Smrgif [[ ${DEBIAN_ARCH} = "amd64" ]]; then
327ec681f3Smrg    make modules
337ec681f3Smrg    INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install
347ec681f3Smrgfi
357ec681f3Smrg
367ec681f3Smrgif [[ ${DEBIAN_ARCH} = "arm64" ]]; then
377ec681f3Smrg    make Image.lzma
387ec681f3Smrg    mkimage \
397ec681f3Smrg        -f auto \
407ec681f3Smrg        -A arm \
417ec681f3Smrg        -O linux \
427ec681f3Smrg        -d arch/arm64/boot/Image.lzma \
437ec681f3Smrg        -C lzma\
447ec681f3Smrg        -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
457ec681f3Smrg        /lava-files/cheza-kernel
467ec681f3Smrg    KERNEL_IMAGE_NAME+=" cheza-kernel"
477ec681f3Smrgfi
487ec681f3Smrg
497ec681f3Smrgpopd
507ec681f3Smrgrm -rf kernel
517ec681f3Smrg
52