- Fixed sfdisk PATH issue in Containerfile.base (sfdisk is in /usr/sbin) - Updated Containerfile.minimal to use full path for grub-install - Enhanced test-bootc-deployment.sh to properly check utility locations - Added comprehensive section about related projects (apt-ostree, deb-bootupd, debian-bootc-corrected) - Updated validation script to handle Debian-specific utility locations - Improved error messages with specific solutions for PATH and utility issues This addresses the critical requirements from scope.md regarding disk utilities and PATH environment variables for bootc deployment.
7.7 KiB
Particle-OS Development Roadmap
This roadmap outlines the development path for creating a Debian-based immutable operating system following the ublue-os pattern. The goal is to build a complete Debian immutable ecosystem from the ground up.
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
Phase 1: Foundation & Core Technologies 🔄 IN PROGRESS
Goal: Establish the foundational Debian immutable technologies and create a minimal bootable image.
Current Status: ✅ Completed:
apt-ostreepackage - Debian equivalent torpm-ostreedeb-bootupdpackage - Debian equivalent tobootupddebian-bootc-correctedcontainer - Working bootc image builder- Basic project infrastructure and testing environment
🔄 In Progress:
- Testing
deb-bootupdfunctionality - Validating
apt-ostreeintegration - Building first minimal bootable image
Tasks:
-
Test Core Components 🔄 IN PROGRESS
- Validate
deb-bootupdin particle-os VM environment - Test
apt-ostreebasic functionality - Verify bootc compatibility with Debian base
- Validate
-
Create Minimal Bootable Image 📋 PLANNED
- Start with
debian:trixie-slimcontainer - Install
bootc,apt-ostree,deb-bootupd - Use
deb-bootupdto write bootloader - Convert to bootable image format (ISO/VHD/raw)
- Start with
-
Validate Boot Process 📋 PLANNED
- Test image boots in VM environment
- Verify OSTree integration works correctly
- Confirm rollback capabilities function
Deliverable: Working Debian bootc image that can be installed and booted.
Phase 2: Debian CoreOS Foundation
Goal: Create a minimal, server-focused Debian immutable OS (equivalent to Fedora CoreOS).
Approach: Build on Phase 1 foundation to create a minimal server image.
Tasks:
-
Minimal Server Image
- Start with Phase 1 bootable image
- Add essential server packages (SSH, basic networking)
- Configure for headless operation
- Add systemd services for server workloads
-
Server-Specific Features
- Cockpit integration for web-based management
- Tailscale for secure networking
- Optional NVIDIA driver support
- Container runtime (Podman) integration
-
Testing & Validation
- VM deployment testing
- Server workload validation
- Performance benchmarking
Deliverable: Debian CoreOS equivalent - minimal, immutable server OS.
Phase 3: Desktop Variants (Debian Aurora/Bazzite)
Goal: Create specialized desktop images following ublue-os pattern.
Approach: Build desktop variants on top of the CoreOS foundation.
Tasks:
-
General Purpose Desktop (Debian Aurora)
- KDE Plasma desktop environment
- Essential productivity applications
- Light customization and branding
- Flatpak integration
-
Gaming Desktop (Debian Bazzite)
- Gaming-focused software stack
- Steam, Lutris, and gaming tools
- Enhanced hardware support
- NVIDIA driver integration
-
Developer Desktop (Debian Bluefin)
- Development tools and IDEs
- Container development environment
- Git and version control tools
- Programming language support
Deliverable: Multiple specialized desktop images ready for distribution.
Phase 4: Distribution & Ecosystem
Goal: Establish the complete Debian immutable ecosystem and distribution pipeline.
Tasks:
-
Container Registry
- Host all images in container registry
- Automated builds and testing
- Version management and tagging
-
Installation Media
- Bootable ISO creation
- Calamares installer integration
- Automated deployment tools
-
Documentation & Community
- User guides and tutorials
- Developer documentation
- Community contribution guidelines
- Troubleshooting resources
Deliverable: Complete, distributable Debian immutable ecosystem.
Technical 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
Success Metrics
Phase 1 Success
deb-bootupdsuccessfully manages bootloadersapt-ostreeprovides immutable Debian base- Minimal image boots and functions correctly
- OSTree rollback works as expected
Phase 2 Success
- Server image deploys successfully
- Basic server workloads run correctly
- Management tools (Cockpit, etc.) function
- Performance meets or exceeds traditional Debian
Phase 3 Success
- Desktop variants boot and function
- User experience matches or exceeds traditional desktops
- Gaming and development workflows work smoothly
- Customization and branding are consistent
Phase 4 Success
- Complete ecosystem is distributable
- Installation process is user-friendly
- Documentation is comprehensive
- Community can contribute and build
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
Key Questions to Investigate
As we build the Debian immutable ecosystem, these questions need answers to ensure we have all necessary tools:
1. Update Management Strategy
- Question: Does
apt-ostreehandle updates likerpm-ostreedoes? - Why Important: Determines if we need additional update management tools
- Investigation Needed: Test
apt-ostreeupdate capabilities vs.rpm-ostree
2. First-Boot Provisioning
- Question: Do you need a Debian equivalent to
ignitionfor first-boot setup? - Why Important: Fedora CoreOS uses
ignitionfor declarative configuration - Investigation Needed: Determine how Debian systems handle initial configuration
3. Image Building Tools
- Question: Is
bootc-image-buildersufficient, or do you need something likecosa? - Why Important: ublue-os uses
cosa(CoreOS Assembler) for building images - Investigation Needed: Compare capabilities of both tools
4. Application Delivery
- Question: How will applications be delivered? Flatpak integration like ublue-os?
- Why Important: ublue-os heavily integrates Flatpak for application management
- Investigation Needed: Plan Flatpak integration strategy for Debian
5. Container Runtime Integration
- Question: How deeply should
podmanbe integrated into the base system? - Why Important: ublue-os integrates container tools heavily
- Investigation Needed: Determine optimal level of container integration
Status: These questions will be answered incrementally as we progress through Phase 1 and begin building the minimal image.
This roadmap represents a fundamental shift from building complex custom packages to using established tools and following proven patterns. The result will be a cleaner, more maintainable, and more aligned Debian immutable ecosystem.