6 if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
7 GCC_ARCH
="aarch64-linux-gnu"
9 DEFCONFIG
="arch/arm64/configs/defconfig"
10 DEVICE_TREES
="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dtb arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb arch/arm64/boot/dts/qcom/apq8016-sbc.dtb"
11 KERNEL_IMAGE_NAME
="Image"
13 GCC_ARCH
="arm-linux-gnueabihf"
15 DEFCONFIG
="arch/arm/configs/multi_v7_defconfig"
16 DEVICE_TREES
="arch/arm/boot/dts/rk3288-veyron-jaq.dtb arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb"
17 KERNEL_IMAGE_NAME
="zImage"
20 # Determine if we're in a cross build.
21 if [[ -e /cross_file-
$DEBIAN_ARCH.txt
]]; then
22 EXTRA_MESON_ARGS
="--cross-file /cross_file-$DEBIAN_ARCH.txt"
23 EXTRA_CMAKE_ARGS
="-DCMAKE_TOOLCHAIN_FILE=/toolchain-$DEBIAN_ARCH.cmake"
25 export ARCH
=${KERNEL_ARCH}
26 export CROSS_COMPILE
="${GCC_ARCH}-"
29 ############### Build dEQP runner
30 . .gitlab-ci
/build-cts-runner.sh
31 mkdir
-p /lava-files
/rootfs-
${DEBIAN_ARCH}/usr
/bin
32 mv /usr
/local
/bin
/deqp-runner
/lava-files
/rootfs-
${DEBIAN_ARCH}/usr
/bin
/.
35 ############### Build dEQP
36 STRIP_CMD
="${GCC_ARCH}-strip"
37 . .gitlab-ci
/build-deqp-gl.sh
38 mv /deqp
/lava-files
/rootfs-
${DEBIAN_ARCH}/.
41 ############### Cross-build kernel
42 KERNEL_URL
="https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-panfrost-fixes/linux-v5.5-panfrost-fixes.tar.gz"
45 wget
-qO- ${KERNEL_URL} |
tar -xz --strip-components=1 -C kernel
47 .
/scripts
/kconfig
/merge_config.sh
${DEFCONFIG} ..
/.gitlab-ci
/${KERNEL_ARCH}.config
48 make ${KERNEL_IMAGE_NAME} dtbs
49 cp arch
/${KERNEL_ARCH}/boot
/${KERNEL_IMAGE_NAME} /lava-files
/.
50 cp ${DEVICE_TREES} /lava-files
/.
55 ############### Create rootfs
59 --arch=${DEBIAN_ARCH} \
60 --components main
,contrib
,non-free \
62 /lava-files
/rootfs-
${DEBIAN_ARCH}/ \
63 http
://deb.debian.org
/debian
65 cat /lava-files
/rootfs-
${DEBIAN_ARCH}/debootstrap
/debootstrap.log
68 cp .gitlab-ci
/create-rootfs.sh
/lava-files
/rootfs-
${DEBIAN_ARCH}/.
69 chroot
/lava-files
/rootfs-
${DEBIAN_ARCH} sh
/create-rootfs.sh
70 rm /lava-files
/rootfs-
${DEBIAN_ARCH}/create-rootfs.sh
72 if [ ${DEBIAN_ARCH} = arm64
]; then
73 # Pull down a specific build of qcomlt/release/qcomlt-5.4 8c79b3d12355
74 # ("Merge tag 'v5.4.23' into release/qcomlt-5.4"), where I used the
76 # http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/457/config-5.4.0-qcomlt-arm64
77 # with the following merged in:
83 # Reason: 5.5 has a big stack of oopses and warns on db820c. 4.14-5.4
84 # linaro kernel binaries (see above .config link) have these as modules
85 # and distributed the modules only in the debian system, not the initrd,
86 # so they're very hard to extract (involving simg2img and loopback
87 # mounting). 4.11 is missing d72fea538fe6 ("drm/msm: Fix the check for
88 # the command size") so it can't actually run fredreno. qcomlt-4.14 is
89 # unstable at boot (~10% instaboot rate). The 5.4 qcomlt kernel with msm
90 # built in seems like the easiest way to go.
91 wget https
://people.freedesktop.org
/~anholt
/qcomlt-5.4
-msm-build/Image.gz
-O Image.gz \
92 -O /lava-files
/db820c-kernel
93 wget https
://people.freedesktop.org
/~anholt
/qcomlt-5.4
-msm-build/apq8096-db820c.dtb \
94 -O /lava-files
/db820c.dtb
96 # Make a gzipped copy of the Image for db410c.
97 gzip -k /lava-files
/Image