Update README and add setup scripts

This commit is contained in:
francis.wang
2026-07-15 16:25:38 +08:00
parent 4c86c082a2
commit c748f6060d
3 changed files with 455 additions and 2 deletions
+72
View File
@@ -0,0 +1,72 @@
# Dockerfile for OpenWrt-Yocto Build Environment
#
# Yocto Project does NOT natively support macOS.
# This Dockerfile provides an Ubuntu-based container with all
# required build dependencies for Yocto/OpenEmbedded builds.
#
# Based on Yocto Project Scarthgap (5.0) system requirements:
# https://docs.yoctoproject.org/ref-manual/system-requirements.html
FROM ubuntu:24.04
# Prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive
# Install all required Yocto build host packages (from poky/documentation/poky.yaml.in)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
chrpath \
cpio \
debianutils \
diffstat \
file \
gawk \
gcc \
git \
iputils-ping \
libacl1 \
liblz4-tool \
locales \
python3 \
python3-git \
python3-jinja2 \
python3-pexpect \
python3-pip \
python3-subunit \
socat \
texinfo \
unzip \
wget \
xz-utils \
zstd \
# Additional useful tools
sudo \
vim \
nano \
less \
bash-completion \
&& rm -rf /var/lib/apt/lists/*
# Set up locale (required by Yocto)
RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8
# Create a non-root user to match macOS host user (builds should not run as root)
ARG USER_UID=1000
ARG USER_GID=1000
RUN groupadd -g ${USER_GID} builduser && \
useradd -m -u ${USER_UID} -g builduser -s /bin/bash builduser && \
echo "builduser ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Create working directory
RUN mkdir -p /workspace && chown builduser:builduser /workspace
# Switch to non-root user
USER builduser
WORKDIR /workspace
# Set Git safe directory (since the mounted volume may have different ownership)
RUN git config --global --add safe.directory /workspace
ENTRYPOINT ["/bin/bash"]