Files
xen/automation/tests-artifacts/alpine/3.18.dockerfile
T
Andrew Cooper 4c6142a1ab CI: Fix fallout from adding elfutils-dev to the build container
Commit 948e033031 ("automation/alpine: add elfutils-dev") had an unintended
consequence of causing Qemu to gain a runtime dependency on libdw.so

The {adl,zen3p}-pci-hvm-x86-64-gcc-debug tests, which are the only two tests
that run the built Qemu, started failing with:

  Error loading shared library libdw.so.1: No such file or directory (needed by /usr/local/lib/xen/bin/qemu-system-i386)
  Error relocating /usr/local/lib/xen/bin/qemu-system-i386: dwfl_begin: symbol not found

Update the test container with libelf to cope.

While editing the runtime dependency list, fix up two other problems.  texinfo
isn't a runtime dependency, and we should be using xz itself, not it's
development libraries.  Both changes shrink the initrd used for tests.

Fixes: 948e033031 ("automation/alpine: add elfutils-dev")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
2023-12-05 23:02:18 +00:00

67 lines
1.7 KiB
Docker

FROM --platform=linux/amd64 alpine:3.18
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
ENV USER root
RUN mkdir /build
WORKDIR /build
RUN \
# apk
apk update && \
\
# xen runtime deps
apk add musl && \
apk add libgcc && \
apk add openrc && \
apk add busybox && \
apk add sudo && \
apk add dbus && \
apk add bash && \
apk add python3 && \
apk add zlib && \
apk add ncurses && \
apk add yajl && \
apk add libaio && \
apk add xz && \
apk add util-linux && \
apk add argp-standalone && \
apk add libfdt && \
apk add glib && \
apk add pixman && \
apk add curl && \
apk add udev && \
apk add pciutils && \
apk add libelf && \
\
# Xen
cd / && \
# Minimal ramdisk environment in case of cpio output
rc-update add udev && \
rc-update add udev-trigger && \
rc-update add udev-settle && \
rc-update add loopback sysinit && \
rc-update add bootmisc boot && \
rc-update add devfs sysinit && \
rc-update add dmesg sysinit && \
rc-update add hostname boot && \
rc-update add hwclock boot && \
rc-update add hwdrivers sysinit && \
rc-update add modules boot && \
rc-update add killprocs shutdown && \
rc-update add mount-ro shutdown && \
rc-update add savecache shutdown && \
rc-update add local default && \
cp -a /sbin/init /init && \
echo "ttyS0" >> /etc/securetty && \
echo "hvc0" >> /etc/securetty && \
echo "ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" >> /etc/inittab && \
echo "hvc0::respawn:/sbin/getty -L hvc0 115200 vt100" >> /etc/inittab && \
echo > /etc/modules && \
passwd -d "root" root && \
\
# Create rootfs
cd / && \
tar cvzf /initrd.tar.gz bin dev etc home init lib mnt opt root sbin usr var