Files
MetalOS/Dockerfile
2025-12-28 19:22:36 +00:00

62 lines
1.4 KiB
Docker

# MetalOS Docker Build Environment
# This container includes all dependencies needed to build MetalOS
FROM ubuntu:22.04
# Avoid interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive
# Set working directory
WORKDIR /metalos
# Install base build tools and dependencies
RUN apt-get update && apt-get install -y \
# Build essentials
build-essential \
gcc \
g++ \
nasm \
make \
cmake \
ninja-build \
meson \
pkg-config \
git \
wget \
curl \
ca-certificates \
# QEMU and UEFI firmware
qemu-system-x86 \
ovmf \
# Image creation tools
mtools \
xorriso \
dosfstools \
# Python for build scripts
python3 \
python3-pip \
# Additional utilities
vim \
less \
file \
&& rm -rf /var/lib/apt/lists/*
# Create directory structure for dependencies
RUN mkdir -p /metalos/deps/firmware \
/metalos/deps/ovmf \
/metalos/deps/mesa-radv \
/metalos/deps/qt6 \
/metalos/scripts
# Set up OVMF firmware in deps directory
RUN cp /usr/share/OVMF/OVMF_CODE.fd /metalos/deps/ovmf/ 2>/dev/null || \
cp /usr/share/ovmf/OVMF.fd /metalos/deps/ovmf/ 2>/dev/null || \
echo "OVMF firmware will be installed by setup script"
# Set environment variables
ENV PATH="/metalos/tools:${PATH}"
ENV METALOS_ROOT="/metalos"
# Default command
CMD ["/bin/bash"]