PTU5KAS/Dockerfile.isar
Jan Kiszka 2fc711a459 Dockerfile.isar: Adjust binfmt setup for qemu-user-static
It turned out [1] that our current way of setting up binfmt_misc during
container start does not reliably work, namely does not overwrite
incompatible host settings. Running dpkg-reconfigure solves this.

To avoid confusing warnings of the kind

update-binfmts: warning: qemu-aarch64 already enabled in kernel.

we filter them out. That will continue to flood the console with
warnings in case the container is started without privileges.

[1] https://groups.google.com/forum/#!msg/isar-users/2G-Diz0BR1Y/Y0X6eHggCgAJ

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Daniel Wagner <daniel.wagner@siemens.com>
2019-03-20 09:49:34 +01:00

24 lines
1.2 KiB
Docker

# This image builds Isar jobs using the kas tool
FROM kasproject/kas:latest
ENV LC_ALL=en_US.UTF-8
RUN echo 'deb http://deb.debian.org/debian buster main' > /etc/apt/sources.list.d/buster.list && \
echo "Package: qemu-user-static binfmt-support\nPin: release n=buster\nPin-Priority: 501\n\nPackage: *\nPin: release n=buster\nPin-Priority: -1" > /etc/apt/preferences.d/qemu-user-static && \
apt-get update && \
apt-get install -y -f --no-install-recommends \
autoconf automake gdisk libtool bash-completion \
sudo grub2 grub-efi-amd64-bin grub-efi-ia32-bin \
reprepro python3 binfmt-support e2fsprogs \
multistrap qemu-user-static debootstrap && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp*
RUN echo "builder ALL=NOPASSWD: ALL" > /etc/sudoers.d/builder-nopasswd && \
chmod 660 /etc/sudoers.d/builder-nopasswd
RUN echo "Defaults env_keep += \"ftp_proxy http_proxy https_proxy no_proxy\"" \
> /etc/sudoers.d/env_keep && chmod 660 /etc/sudoers.d/env_keep
RUN sed -i 's|#!/bin/bash|\0\n\ndpkg-reconfigure qemu-user-static 2>\&1 \| grep -v "already enabled in kernel"|' /kas/docker-entrypoint