]> git.ipfire.org Git - thirdparty/dracut.git/blob - test/container/Dockerfile-Gentoo
4c2669cc004fc7b36a6e47a60c65ac31a8b6915a
[thirdparty/dracut.git] / test / container / Dockerfile-Gentoo
1 FROM docker.io/gentoo/portage:latest as portage
2
3 # kernel and its dependencies in a separate builder
4 FROM docker.io/gentoo/stage3:musl as kernel
5 COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo
6 RUN emerge -qv virtual/dist-kernel
7
8 FROM docker.io/gentoo/stage3:musl
9 COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo
10 COPY --from=kernel /boot /boot
11 COPY --from=kernel /lib/modules /lib/modules
12
13 MAINTAINER https://github.com/dracutdevs/dracut
14
15 ENV container docker
16 LABEL RUN="docker run -it --name NAME --privileged --ipc=host --net=host --pid=host -e NAME=NAME -e IMAGE=IMAGE IMAGE"
17
18 RUN echo 'export DRACUT_NO_XATTR=1 KVERSION=$(cd /lib/modules; ls -1 | tail -1)' > /etc/profile.d/dracut-test.sh
19
20 # Only install `dmsetup`: attempting to install all of lvm2 fails due to missing kernel headers.
21 RUN echo 'sys-fs/lvm2 device-mapper-only -thin' > /etc/portage/package.use/lvm2
22
23 # Install needed packages for the dracut CI container
24 RUN emerge -qv \
25 app-arch/cpio \
26 app-emulation/qemu \
27 app-shells/dash \
28 sys-apps/busybox \
29 sys-block/parted \
30 sys-fs/btrfs-progs \
31 sys-fs/lvm2 \
32 sys-fs/squashfs-tools \
33 && rm -rf /var/cache/* /usr/share/doc/* /usr/share/man/* /var/db/repos/gentoo
34
35 # Set default command
36 CMD ["/usr/bin/bash"]