| scripts | ||
| .gitignore | ||
| changelog | ||
| Containerfile.base | ||
| Containerfile.desktop | ||
| Containerfile.minimal | ||
| Containerfile.phase2 | ||
| Containerfile.server | ||
| justfile | ||
| OSTREE_REQUIREMENTS.md | ||
| packages.md | ||
| README.md | ||
| roadmap.md | ||
| terminology.md | ||
| todo | ||
Particle-OS
A Debian-based immutable operating system following the ublue-os pattern, built from the ground up using modern container technologies.
🎯 Project Vision
Create the Debian equivalent of the ublue-os ecosystem:
- Debian CoreOS (immutable server OS using
apt-ostree) - Debian Desktop variants (immutable desktop OS using
apt-ostree) - Complete bootc integration for Debian systems
- Modern immutable workflow following established best practices
🚀 Quick Start
Prerequisites
- Podman - Container runtime
- Just - Command runner (install with
cargo install just)
Build Your First Image
# Validate prerequisites
just validate-prereqs
# Build the minimal bootable image (Phase 1 goal)
just build-minimal
# Test the image
just test-image
One-Command Setup
# Complete quick start (build + test)
just quick-start
🛠️ Available Commands
Image Building
just build-image- Build base Debian bootc imagejust build-minimal- Build minimal bootable image (Phase 1)just build-server- Build server-focused image (Phase 2)just build-desktop- Build desktop variant (Phase 3)
Testing & Validation
just test-image- Test built image in VMjust test-bootupd- Test deb-bootupd functionalityjust test-ostree- Test apt-ostree functionality
Utility Commands
just clean- Clean up build artifactsjust status- Show current build statusjust help- Show help message
🏗️ Architecture
Base Image Strategy
debian:trixie-slim → bootc image → bootable OS
Technology Stack
- Base:
debian:trixie-slim - Immutable Layer:
apt-ostree(your project) - Bootloader Management:
deb-bootupd(your project) - Container Integration:
bootc - Image Building:
bootc-image-builder
Key Differences from ublue-os
- Base: Debian instead of Fedora
- Package System: APT/DPKG instead of RPM
- OSTree:
apt-ostreeinstead ofrpm-ostree - Bootloader:
deb-bootupdinstead ofbootupd
🔗 Related Projects
This project is part of a larger ecosystem of Debian immutable technologies. The following projects work together to create the complete Debian immutable experience:
Core Technologies
-
apt-ostree - Debian equivalent to
rpm-ostree- Provides immutable package management for Debian systems
- Handles system updates and rollbacks
- Core dependency for Particle-OS
-
deb-bootupd - Debian equivalent to
bootupd- Manages bootloader updates and configuration
- Handles UEFI boot entries
- Critical for system deployment and updates
-
bootc-image-builder Debian fork of bootc-image-builder
Build Tools
- bootc-image-builder - Comprehensive Debian-adapted bootc image builder
- Not just a fork - Complete osbuild module development project
- Adapts Debian's mutable toolchain (apt/dpkg) to immutable paradigm (OSTree)
- Provides Debian-specific osbuild stages for creating bootable images
- Includes EFI support, bootloader management, and OSTree integration
- Critical for Particle-OS: Handles the complex build process we need
Integration
These projects are designed to work together seamlessly:
- apt-ostree provides the immutable base system
- deb-bootupd manages the bootloader and deployment
- debian-bootc-corrected builds the container images
- Particle-OS combines everything into a complete operating system
For more information about these projects, visit their respective repositories or check the Integration Guide.
📋 Development Phases
Phase 1: Foundation & Core Technologies 🔄 IN PROGRESS
- Goal: Establish foundational Debian immutable technologies
- Deliverable: Working Debian bootc image
- Status: Building minimal bootable image
Phase 2: Debian CoreOS Foundation 📋 PLANNED
- Goal: Create minimal, server-focused Debian immutable OS
- Deliverable: Debian CoreOS equivalent
Phase 3: Desktop Variants 📋 PLANNED
- Goal: Create specialized desktop images
- Deliverable: Debian Aurora/Bazzite/Bluefin equivalents
Phase 4: Distribution & Ecosystem 📋 PLANNED
- Goal: Establish complete Debian immutable ecosystem
- Deliverable: Distributable OS images
🔧 Current Focus
Immediate Priority: Complete Phase 1 by testing deb-bootupd and creating the first minimal bootable image.
Next Steps:
- Test
deb-bootupdin particle-os VM - Build minimal
debian:trixie-slim→ bootc image - Validate boot process and OSTree functionality
- Document the process for future phases
📚 Documentation
- Roadmap - Detailed development plan
- Terminology - Key concepts and definitions
- Archive - Previous project approaches and research
🤝 Contributing
This project is building the first Debian immutable ecosystem from the ground up. Contributions are welcome as we establish the foundation and build upon it.
📄 License
[Add your license here]
Particle-OS - Building the future of Debian, one immutable layer at a time.