68 lines
1.3 KiB
Docker
68 lines
1.3 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 \
|
|
gawk \
|
|
wget \
|
|
git \
|
|
diffstat \
|
|
unzip \
|
|
texinfo \
|
|
gcc \
|
|
build-essential \
|
|
chrpath \
|
|
socat \
|
|
cpio \
|
|
python3 \
|
|
python3-pip \
|
|
python3-pexpect \
|
|
xz-utils \
|
|
debianutils \
|
|
iputils-ping \
|
|
python3-git \
|
|
python3-jinja2 \
|
|
python3-subunit \
|
|
zstd \
|
|
liblz4-tool \
|
|
file \
|
|
locales \
|
|
libacl1 \
|
|
sudo \
|
|
vim \
|
|
less \
|
|
tree \
|
|
qemu-system-data \
|
|
qemu-system-x86 \
|
|
qemu-utils \
|
|
&& 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
|
|
RUN groupadd -g ${GROUP_ID} builder && \
|
|
useradd -u ${USER_ID} -g ${GROUP_ID} -ms /bin/bash 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"] |