90 lines
2.5 KiB
Text
90 lines
2.5 KiB
Text
# Particle OS - Debian Trixie Minimal Base Image
|
|
# Phase 5.1: Real Desktop Environment Integration Testing
|
|
|
|
FROM debian:trixie
|
|
|
|
# Set environment variables
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install essential packages
|
|
RUN apt-get update && apt-get install -y \
|
|
# Core system packages
|
|
systemd \
|
|
systemd-sysv \
|
|
dbus \
|
|
sudo \
|
|
# Network management
|
|
network-manager \
|
|
# Package management
|
|
apt-utils \
|
|
ca-certificates \
|
|
gnupg \
|
|
# OSTree and bootc requirements
|
|
ostree \
|
|
# Kernel and boot
|
|
linux-image-amd64 \
|
|
linux-headers-amd64 \
|
|
initramfs-tools \
|
|
# Bootloader
|
|
grub-efi-amd64 \
|
|
grub-efi-amd64-bin \
|
|
efibootmgr \
|
|
# Filesystem utilities
|
|
util-linux \
|
|
parted \
|
|
e2fsprogs \
|
|
dosfstools \
|
|
# System utilities
|
|
nano \
|
|
vim-tiny \
|
|
curl \
|
|
wget \
|
|
htop \
|
|
less \
|
|
# Cleanup
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Enable essential services
|
|
RUN systemctl enable systemd-networkd \
|
|
&& systemctl enable dbus
|
|
|
|
# Create particle-os user
|
|
RUN useradd -m -G sudo particle-os \
|
|
&& echo 'particle-os:particle-os' | chpasswd \
|
|
&& echo 'particle-os ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
|
|
# Set up OSTree configuration for bootc
|
|
RUN mkdir -p /etc/ostree \
|
|
&& echo '[core]' > /etc/ostree/ostree.conf \
|
|
&& echo 'mode=bare-user-only' >> /etc/ostree/ostree.conf
|
|
|
|
# Configure system identification
|
|
RUN echo 'PRETTY_NAME="Particle OS (Debian Trixie Minimal)"' > /etc/os-release \
|
|
&& echo 'NAME="Particle OS"' >> /etc/os-release \
|
|
&& echo 'VERSION="1.0"' >> /etc/os-release \
|
|
&& echo 'ID=particle-os' >> /etc/os-release \
|
|
&& echo 'ID_LIKE=debian' >> /etc/os-release \
|
|
&& echo 'VERSION_ID="1.0"' >> /etc/os-release \
|
|
&& echo 'HOME_URL="https://particle-os.org"' >> /etc/os-release \
|
|
&& echo 'SUPPORT_URL="https://particle-os.org/support"' >> /etc/os-release \
|
|
&& echo 'BUG_REPORT_URL="https://particle-os.org/bugs"' >> /etc/os-release
|
|
|
|
# Set hostname
|
|
RUN echo 'particle-os' > /etc/hostname
|
|
|
|
# Configure bootc for immutable system
|
|
RUN ln -sf /var/home /home
|
|
|
|
# Ensure proper permissions
|
|
RUN chmod 755 /etc/ostree \
|
|
&& chmod 644 /etc/ostree/ostree.conf
|
|
|
|
LABEL org.opencontainers.image.title="Particle OS Minimal"
|
|
LABEL org.opencontainers.image.description="Debian Trixie based minimal Particle OS"
|
|
LABEL org.opencontainers.image.vendor="Particle OS Project"
|
|
LABEL org.opencontainers.image.version="1.0"
|
|
LABEL org.particle-os.type="minimal"
|
|
LABEL org.particle-os.desktop="none"
|
|
LABEL com.debian.bootc="true"
|
|
LABEL ostree.bootable="true"
|