qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

debian-all-test-cross.docker (2330B)


      1 #
      2 # Docker all cross-compiler target (tests only)
      3 #
      4 # While the normal cross builds take care to setup proper multiarch
      5 # build environments which can cross build QEMU this just installs the
      6 # basic compilers for as many targets as possible. We shall use this
      7 # to build and run linux-user tests on GitLab
      8 #
      9 FROM docker.io/library/debian:11-slim
     10 
     11 # Duplicate deb line as deb-src
     12 RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
     13 
     14 RUN export DEBIAN_FRONTEND=noninteractive && \
     15     apt-get update && \
     16     apt-get install -y eatmydata && \
     17     eatmydata apt-get dist-upgrade -y && \
     18     apt build-dep -yy qemu
     19 
     20 # Add extra build tools and as many cross compilers as we can for testing
     21 RUN DEBIAN_FRONTEND=noninteractive eatmydata \
     22         apt install -y --no-install-recommends \
     23         bison \
     24         ccache \
     25         clang  \
     26         flex \
     27         git \
     28         ninja-build \
     29         gcc-aarch64-linux-gnu \
     30         libc6-dev-arm64-cross \
     31         gcc-alpha-linux-gnu \
     32         libc6.1-dev-alpha-cross \
     33         gcc-arm-linux-gnueabihf \
     34         libc6-dev-armhf-cross \
     35         gcc-hppa-linux-gnu \
     36         libc6-dev-hppa-cross \
     37         gcc-m68k-linux-gnu \
     38         libc6-dev-m68k-cross \
     39         gcc-mips-linux-gnu \
     40         libc6-dev-mips-cross \
     41         gcc-mips64-linux-gnuabi64 \
     42         libc6-dev-mips64-cross \
     43         gcc-mips64el-linux-gnuabi64 \
     44         libc6-dev-mips64el-cross \
     45         gcc-mipsel-linux-gnu \
     46         libc6-dev-mipsel-cross \
     47         gcc-powerpc-linux-gnu \
     48         libc6-dev-powerpc-cross \
     49         gcc-powerpc64-linux-gnu \
     50         libc6-dev-ppc64-cross \
     51         gcc-powerpc64le-linux-gnu \
     52         libc6-dev-ppc64el-cross \
     53         gcc-riscv64-linux-gnu \
     54         libc6-dev-riscv64-cross \
     55         gcc-s390x-linux-gnu \
     56         libc6-dev-s390x-cross \
     57         gcc-sh4-linux-gnu \
     58         libc6-dev-sh4-cross \
     59         gcc-sparc64-linux-gnu \
     60         libc6-dev-sparc64-cross
     61 
     62 ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
     63 ENV DEF_TARGET_LIST aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user