fcb_looper/image/Dockerfile

72 lines
1.4 KiB
Docker

FROM ubuntu:22.04
# Prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive
# Install dependencies
RUN apt-get update && apt-get install -y \
build-essential \
chrpath \
cpio \
debianutils \
diffstat \
file \
gawk \
gcc \
git \
iputils-ping \
less \
libacl1 \
liblz4-tool \
locales \
ovmf \
python3 \
python3-git \
python3-jinja2 \
python3-pexpect \
python3-pip \
python3-subunit \
qemu-system-data \
qemu-system-x86 \
qemu-utils \
socat \
sudo \
texinfo \
tree \
unzip \
vim \
wget \
xz-utils \
zstd \
&& rm -rf /var/lib/apt/lists/*
# Set up locale
RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
# Create build user matching host UID/GID
ARG USER_ID=1000
ARG GROUP_ID=1000
ARG KVM_GID=992
RUN groupadd -g ${GROUP_ID} builder && \
useradd -u ${USER_ID} -g ${GROUP_ID} -ms /bin/bash builder && \
groupadd -g ${KVM_GID} kvm && \
usermod -a -G kvm builder
# Enable compiler cache for performance
ENV USE_CCACHE=1
ENV CCACHE_DIR=/workspace/.ccache
# Set working directory
WORKDIR /workspace
# Change ownership of workspace to yocto user
RUN chown -R builder:builder /workspace
# Switch to yocto user
USER builder
# Default command to start interactive shell
CMD ["/bin/bash"]