# 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: 1. **Live Boot**: Try ParticleOS without installation 2. **Install**: Install ParticleOS to disk with atomic updates 3. **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:** ```bash # Clone the repository git clone 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:** ```bash # 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:** ```bash # 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:** ```bash # 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:** 1. **Container Setup**: Create isolated Podman container with build tools 2. **Base System**: Create Ubuntu base using mmdebstrap 3. **Package Installation**: Install apt-ostree, bootc, and KDE Plasma packages 4. **System Configuration**: Configure services, users, and apt-ostree 5. **Live Environment**: Create bootable live system with casper 6. **ISO Creation**: Package into bootable ISO with GRUB/ISOLINUX 7. **Testing**: Test in VM environment ## 🎯 **Goals** - [x] **apt-ostree Integration**: Working atomic package management - [x] **Containerized Build**: Safe Podman-based ISO creation - [x] **Desktop Environment**: KDE Plasma with ParticleOS branding - [x] **Snap Blocking**: Complete snapd removal and prevention - [x] **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:** 1. Test the Podman ISO build 2. Implement apt-ostree compose commands 3. Add ParticleOS branding 4. Create user-friendly bootc installer 5. 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.