No description
| scripts | ||
| .gitignore | ||
| aurora-systems.yml | ||
| build-iso-podman.sh | ||
| calmares_plan.md | ||
| readme.md | ||
| test-build.sh | ||
| test-environment.sh | ||
| test-podman-environment.sh | ||
| test-sources.list | ||
| todo.md | ||
| VM_TESTING_SETUP_COMPLETE.md | ||
ParticleOS Installer
A bootable ISO installer for ParticleOS, a Debian/Ubuntu-based atomic desktop system using apt-ostree.
🎯 Project Overview
ParticleOS is an atomic, immutable desktop system built on Debian/Ubuntu using apt-ostree (the Debian equivalent of rpm-ostree). This installer creates a bootable ISO that allows users to:
- Live Boot: Try ParticleOS without installation
- Install: Install ParticleOS to disk with atomic updates
- Experience: See apt-ostree in action on a real desktop system
🏗️ Architecture
Core Components:
- Base System: Ubuntu 24.04 LTS with apt-ostree
- Desktop Environment: KDE Plasma (similar to Aurora)
- Package Manager: apt-ostree for atomic updates
- Boot System: GRUB with ParticleOS branding
- Installer: Custom installer for apt-ostree systems
Key Features:
- Atomic Updates: Transactional system updates with rollback
- Immutable by Default: System files protected, user data in /var
- Package Management: apt-ostree for system packages, Flatpak for applications
- Live Environment: Boot and test without installation
📁 Project Structure
particleos-installer/
├── README.md # This file
├── aurora-systems.yml # apt-ostree system definition
├── build-iso-podman.sh # Main ISO build script (Podman containerized)
├── build-iso-mmdebstrap-safe.sh # Alternative build script (chroot-based)
├── test-build.sh # Test build environment
├── test-podman-environment.sh # Test Podman build environment
├── scripts/
│ └── install-system.sh # Installer script for bootc
├── .archive/ # Archived build scripts (for reference)
├── .gitignore # Git ignore rules
├── todo.md # Project TODO list
└── output/ # Generated ISO files
🚀 Quick Start
Build ParticleOS ISO:
# Clone the repository
git clone <your-repo> particleos-installer
cd particleos-installer
# Test the build environment
./test-podman-environment.sh
# Build the ISO (Podman containerized - SAFEST METHOD)
./build-iso-podman.sh
# Result: output/particleos-1.0.0.iso
Test in VM:
# Create VM with the ISO
qemu-system-x86_64 -m 4G -enable-kvm \
-cdrom output/particleos-1.0.0.iso \
-boot d
🎨 ParticleOS Features
System Management:
# Check system status
apt-ostree status
# List installed packages
apt-ostree list
# Install packages
sudo apt-ostree install nginx
# System updates
sudo apt-ostree upgrade
# Rollback if needed
sudo apt-ostree rollback
Application Management:
# Install applications via Flatpak
flatpak install flathub org.kde.discover
# Firefox is pre-installed as DEB package (no snap)
# Additional packages can be installed via apt-ostree
sudo apt-ostree install package-name
🔧 Development
Prerequisites:
- Ubuntu 24.04 LTS or Debian 12
- Podman (for containerized builds)
- 15GB+ free space for building
- Internet connection for package downloads
Build Process:
- Container Setup: Create isolated Podman container with build tools
- Base System: Create Ubuntu base using mmdebstrap
- Package Installation: Install apt-ostree, bootc, and KDE Plasma packages
- System Configuration: Configure services, users, and apt-ostree
- Live Environment: Create bootable live system with casper
- ISO Creation: Package into bootable ISO with GRUB/ISOLINUX
- Testing: Test in VM environment
🎯 Goals
- apt-ostree Integration: Working atomic package management
- Containerized Build: Safe Podman-based ISO creation
- Desktop Environment: KDE Plasma with ParticleOS branding
- Snap Blocking: Complete snapd removal and prevention
- Firefox DEB: Firefox installed as DEB package (no snap)
- Advanced ISO Build: Full apt-ostree compose integration
- Installer: User-friendly bootc-based installation process
- Documentation: User and developer guides
🚀 Current Status
✅ Working:
- Podman containerized ISO build system (ULTRA SAFE)
- apt-ostree integration in built system
- KDE Plasma desktop environment
- Live boot environment with casper
- Complete snapd removal and blocking
- Firefox installed as DEB package (no snap)
- bootc and ostree from Forgejo repository
🔄 In Progress:
- Advanced apt-ostree compose commands
- Full system definition support
- ParticleOS branding and customization
📋 Next Steps:
- Test the Podman ISO build
- Implement apt-ostree compose commands
- Add ParticleOS branding
- Create user-friendly bootc installer
- Document user workflow
🤝 Contributing
This project follows the same principles as uBlue Aurora but adapted for Debian/Ubuntu with apt-ostree. Contributions are welcome!
📄 License
Same license as apt-ostree project.