qemu

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

debian-riscv64-cross.docker (1619B)


      1 #
      2 # Docker cross-compiler target for riscv64
      3 #
      4 # Currently the only distro that gets close to cross compiling riscv64
      5 # images is Debian Sid (with unofficial ports). As this is a moving
      6 # target we keep the library list minimal and are aiming to migrate
      7 # from this hack as soon as we are able.
      8 #
      9 FROM docker.io/library/debian:sid-slim
     10 
     11 # Add ports
     12 RUN apt update && \
     13     DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
     14     DEBIAN_FRONTEND=noninteractive eatmydata apt update -yy && \
     15     DEBIAN_FRONTEND=noninteractive eatmydata apt upgrade -yy
     16 
     17 # Install common build utilities
     18 RUN DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \
     19     bison \
     20     bc \
     21     build-essential \
     22     ca-certificates \
     23     debian-ports-archive-keyring \
     24     dpkg-dev \
     25     flex \
     26     gettext \
     27     git \
     28     libglib2.0-dev \
     29     ninja-build \
     30     pkg-config \
     31     python3
     32 
     33 # Add ports and riscv64 architecture
     34 RUN echo "deb http://ftp.ports.debian.org/debian-ports/ sid main" >> /etc/apt/sources.list
     35 RUN dpkg --add-architecture riscv64
     36 
     37 # Duplicate deb line as deb-src
     38 RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
     39 
     40 RUN apt update && \
     41     DEBIAN_FRONTEND=noninteractive eatmydata \
     42     apt install -y --no-install-recommends \
     43          gcc-riscv64-linux-gnu \
     44          libc6-dev-riscv64-cross \
     45          libffi-dev:riscv64 \
     46          libglib2.0-dev:riscv64 \
     47          libpixman-1-dev:riscv64
     48 
     49 # Specify the cross prefix for this image (see tests/docker/common.rc)
     50 ENV QEMU_CONFIGURE_OPTS --cross-prefix=riscv64-linux-gnu-
     51 ENV DEF_TARGET_LIST riscv64-softmmu,riscv64-linux-user