FROM ubuntu:16.04

RUN apt-get update -y && apt-get install -y --no-install-recommends \
      bc \
      bzip2 \
      ca-certificates \
      cmake \
      cpio \
      curl \
      file \
      g++ \
      gcc-arm-linux-gnueabihf \
      git \
      libc6-dev \
      libc6-dev-armhf-cross \
      make \
      python2.7 \
      qemu-system-arm \
      xz-utils

ENV ARCH=arm \
    CROSS_COMPILE=arm-linux-gnueabihf-

WORKDIR /build

# Compile the kernel that we're going to run and be emulating with. This is
# basically just done to be compatible with the QEMU target that we're going
# to be using when running tests. If any other kernel works or if any
# other QEMU target works with some other stock kernel, we can use that too!
#
# The `vexpress_config` config file was a previously generated config file for
# the kernel. This file was generated by running `make vexpress_defconfig`
# followed by `make menuconfig` and then enabling the IPv6 protocol page.
COPY armhf-gnu/vexpress_config /build/.config
RUN curl https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.42.tar.xz | \
      tar xJf - && \
      cd /build/linux-4.4.42 && \
      cp /build/.config . && \
      make -j$(nproc) all && \
      cp arch/arm/boot/zImage /tmp && \
      cd /build &&  \
      rm -rf linux-4.4.42

# Compile an instance of busybox as this provides a lightweight system and init
# binary which we will boot into. Only trick here is configuring busybox to
# build static binaries.
RUN curl https://www.busybox.net/downloads/busybox-1.21.1.tar.bz2 | tar xjf - && \
      cd busybox-1.21.1 && \
      make defconfig && \
      sed -i 's/.*CONFIG_STATIC.*/CONFIG_STATIC=y/' .config && \
      make -j$(nproc) && \
      make install && \
      mv _install /tmp/rootfs && \
      cd /build && \
      rm -rf busybox-1.12.1

# Download the ubuntu rootfs, which we'll use as a chroot for all our tests.
WORKDIR /tmp
RUN mkdir rootfs/ubuntu
RUN curl http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz | \
      tar xzf - -C rootfs/ubuntu && \
      cd rootfs && mkdir proc sys dev etc etc/init.d

# Copy over our init script, which starts up our test server and also a few
# other misc tasks.
COPY scripts/qemu-bare-bones-rcS rootfs/etc/init.d/rcS
RUN chmod +x rootfs/etc/init.d/rcS

# Helper to quickly fill the entropy pool in the kernel.
COPY scripts/qemu-bare-bones-addentropy.c /tmp/addentropy.c
RUN arm-linux-gnueabihf-gcc addentropy.c -o rootfs/addentropy -static

# TODO: What is this?!
# Source of the file: https://github.com/vfdev-5/qemu-rpi2-vexpress/raw/master/vexpress-v2p-ca15-tc1.dtb
RUN curl -O https://ci-mirrors.rust-lang.org/rustc/vexpress-v2p-ca15-tc1.dtb

COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh

ENV RUST_CONFIGURE_ARGS --qemu-armhf-rootfs=/tmp/rootfs
ENV SCRIPT python2.7 ../x.py test --target arm-unknown-linux-gnueabihf

ENV NO_CHANGE_USER=1
