• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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