blob: 45f6434777d40c0df55aaedf7ee96103a4a1da5a [file] [log] [blame]
# Use CentOS Stream 9 as base image
FROM centos:stream9
ARG KERNEL_VERSION=linux-6.6.1.tar.xz
# Copy current directory to /opt/rteval/
COPY . /opt/rteval/
# Install everything in one layer to shrink the image size
# 1: Install needed dependencies and pull kernel source
# 2: install rteval and fix bad symlink
# 3: Remove uneeded packages and shrink the image
RUN dnf -y update && \
dnf install -y \
python3-devel \
python3-lxml \
python3-libxml2 \
python3-dmidecode \
python3-requests \
realtime-tests \
sysstat \
xz \
bzip2 \
tar \
gzip \
m4 \
make \
gawk \
kernel-headers \
sos \
numactl \
gcc \
binutils \
gcc-c++ \
flex \
bison \
bc \
elfutils \
elfutils-libelf-devel \
openssl \
openssl-devel \
stress-ng \
perl-interpreter \
perl-devel \
perl-generators \
libmpc \
libmpc-devel \
dwarves \
wget \
procps-ng && \
cd /opt/rteval && \
wget -P loadsource https://www.kernel.org/pub/linux/kernel/v6.x/${KERNEL_VERSION} && \
make install && \
make clean && \
rm -f /usr/local/bin/rteval && \
ln -s /opt/rteval/rteval-cmd /usr/bin/rteval && \
dnf remove -y \
gcc-c++ \
python3-devel \
perl-devel && \
dnf clean all
# Set the working directory to /root
WORKDIR /root
# Set the entrypoint to a shell
ENTRYPOINT ["/bin/bash"]