1 1.1 mrg FROM debian:testing 2 1.1 mrg 3 1.1 mrg ENV DEBIAN_FRONTEND=noninteractive 4 1.1 mrg 5 1.1 mrg RUN echo 'path-exclude=/usr/share/doc/*' > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft 6 1.1 mrg RUN echo 'path-exclude=/usr/share/man/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft 7 1.1 mrg RUN echo '#!/bin/sh' > /usr/sbin/policy-rc.d 8 1.1 mrg RUN echo 'exit 101' >> /usr/sbin/policy-rc.d 9 1.1 mrg RUN chmod +x /usr/sbin/policy-rc.d 10 1.1 mrg 11 1.1 mrg RUN dpkg --add-architecture arm64 12 1.1 mrg RUN echo deb-src http://deb.debian.org/debian testing main >> /etc/apt/sources.list 13 1.1 mrg RUN apt-get update && \ 14 1.1 mrg apt-get -y install ca-certificates && \ 15 1.1 mrg apt-get -y install --no-install-recommends \ 16 1.1 mrg crossbuild-essential-arm64 \ 17 1.1 mrg meson \ 18 1.1 mrg g++ \ 19 1.1 mrg git \ 20 1.1 mrg ccache \ 21 1.1 mrg pkg-config \ 22 1.1 mrg python3-mako \ 23 1.1 mrg python-numpy \ 24 1.1 mrg python-six \ 25 1.1 mrg python-mako \ 26 1.1 mrg python3-pip \ 27 1.1 mrg python3-setuptools \ 28 1.1 mrg python3-six \ 29 1.1 mrg python3-wheel \ 30 1.1 mrg python3-jinja2 \ 31 1.1 mrg bison \ 32 1.1 mrg flex \ 33 1.1 mrg libwayland-dev \ 34 1.1 mrg gettext \ 35 1.1 mrg cmake \ 36 1.1 mrg bc \ 37 1.1 mrg libssl-dev \ 38 1.1 mrg lavacli \ 39 1.1 mrg csvkit \ 40 1.1 mrg curl \ 41 1.1 mrg unzip \ 42 1.1 mrg wget \ 43 1.1 mrg debootstrap \ 44 1.1 mrg procps \ 45 1.1 mrg qemu-user-static \ 46 1.1 mrg cpio \ 47 1.1 mrg \ 48 1.1 mrg libdrm-dev:arm64 \ 49 1.1 mrg libx11-dev:arm64 \ 50 1.1 mrg libxxf86vm-dev:arm64 \ 51 1.1 mrg libexpat1-dev:arm64 \ 52 1.1 mrg libsensors-dev:arm64 \ 53 1.1 mrg libxfixes-dev:arm64 \ 54 1.1 mrg libxdamage-dev:arm64 \ 55 1.1 mrg libxext-dev:arm64 \ 56 1.1 mrg x11proto-dev:arm64 \ 57 1.1 mrg libx11-xcb-dev:arm64 \ 58 1.1 mrg libxcb-dri2-0-dev:arm64 \ 59 1.1 mrg libxcb-glx0-dev:arm64 \ 60 1.1 mrg libxcb-xfixes0-dev:arm64 \ 61 1.1 mrg libxcb-dri3-dev:arm64 \ 62 1.1 mrg libxcb-present-dev:arm64 \ 63 1.1 mrg libxcb-randr0-dev:arm64 \ 64 1.1 mrg libxcb-sync-dev:arm64 \ 65 1.1 mrg libxrandr-dev:arm64 \ 66 1.1 mrg libxshmfence-dev:arm64 \ 67 1.1 mrg libelf-dev:arm64 \ 68 1.1 mrg libwayland-dev:arm64 \ 69 1.1 mrg libwayland-egl-backend-dev:arm64 \ 70 1.1 mrg libclang-7-dev:arm64 \ 71 1.1 mrg zlib1g-dev:arm64 \ 72 1.1 mrg libglvnd-core-dev:arm64 \ 73 1.1 mrg wayland-protocols:arm64 \ 74 1.1 mrg libpng-dev:arm64 && \ 75 1.1 mrg rm -rf /var/lib/apt/lists 76 1.1 mrg 77 1.1 mrg RUN mkdir -p /artifacts/rootfs/deqp && \ 78 1.1 mrg wget https://github.com/KhronosGroup/VK-GL-CTS/archive/opengl-es-cts-3.2.5.0.zip && \ 79 1.1 mrg unzip opengl-es-cts-3.2.5.0.zip -d / && \ 80 1.1 mrg rm opengl-es-cts-3.2.5.0.zip && \ 81 1.1 mrg cd /VK-GL-CTS-opengl-es-cts-3.2.5.0 && \ 82 1.1 mrg python3 external/fetch_sources.py && \ 83 1.1 mrg cd /artifacts/rootfs/deqp && \ 84 1.1 mrg cmake -DDEQP_TARGET=wayland \ 85 1.1 mrg -DCMAKE_BUILD_TYPE=Release \ 86 1.1 mrg -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \ 87 1.1 mrg -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \ 88 1.1 mrg /VK-GL-CTS-opengl-es-cts-3.2.5.0 && \ 89 1.1 mrg make -j$(nproc) && \ 90 1.1 mrg rm -rf /artifacts/rootfs/deqp/external && \ 91 1.1 mrg rm -rf /artifacts/rootfs/deqp/modules/gles3 && \ 92 1.1 mrg rm -rf /artifacts/rootfs/deqp/modules/gles31 && \ 93 1.1 mrg rm -rf /artifacts/rootfs/deqp/modules/internal && \ 94 1.1 mrg rm -rf /artifacts/rootfs/deqp/executor && \ 95 1.1 mrg rm -rf /artifacts/rootfs/deqp/execserver && \ 96 1.1 mrg rm -rf /artifacts/rootfs/deqp/modules/egl && \ 97 1.1 mrg rm -rf /artifacts/rootfs/deqp/framework && \ 98 1.1 mrg find . -name CMakeFiles | xargs rm -rf && \ 99 1.1 mrg find . -name lib\*.a | xargs rm -rf && \ 100 1.1 mrg du -sh * && \ 101 1.1 mrg rm -rf /VK-GL-CTS-opengl-es-cts-3.2.5.0 102 1.1 mrg 103 1.1 mrg # TODO: Switch to 5.2-rc* when the time comes 104 1.1 mrg COPY arm64.config /panfrost-ci/ 105 1.1 mrg RUN mkdir -p /kernel && \ 106 1.1 mrg wget https://github.com/freedesktop/drm-misc/archive/drm-misc-next-2019-04-18.tar.gz && \ 107 1.1 mrg tar xvfz drm-misc-next-2019-04-18.tar.gz -C /kernel --strip-components=1 && \ 108 1.1 mrg rm drm-misc-next-2019-04-18.tar.gz && \ 109 1.1 mrg cd /kernel && \ 110 1.1 mrg ARCH=arm64 CROSS_COMPILE="aarch64-linux-gnu-" ./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig /panfrost-ci/arm64.config && \ 111 1.1 mrg ARCH=arm64 CROSS_COMPILE="aarch64-linux-gnu-" make -j12 Image dtbs && \ 112 1.1 mrg cp arch/arm64/boot/Image /artifacts/. && \ 113 1.1 mrg cp arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb /artifacts/. && \ 114 1.1 mrg rm -rf /kernel 115 1.1 mrg 116 1.1 mrg COPY create-rootfs.sh /artifacts/rootfs/ 117 1.1 mrg RUN debootstrap --variant=minbase --arch=arm64 testing /artifacts/rootfs/ http://deb.debian.org/debian && \ 118 1.1 mrg chroot /artifacts/rootfs sh /create-rootfs.sh && \ 119 1.1 mrg rm /artifacts/rootfs/create-rootfs.sh 120 1.1 mrg 121 1.1 mrg ENTRYPOINT [""]