# 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-system.yaml # apt-ostree system definition (future) ├── build-iso.sh # Main ISO build script (future) ├── build-iso-simple.sh # Simple ISO build script (current) ├── test-build.sh # Test build environment ├── scripts/ │ ├── setup-chroot.sh # Set up build environment │ ├── build-system.sh # Build ParticleOS system │ ├── create-iso.sh # Create bootable ISO │ └── install-system.sh # Installer script ├── config/ │ ├── grub.cfg # GRUB boot configuration │ ├── isolinux.cfg # ISOLINUX configuration │ └── branding/ # ParticleOS branding assets └── 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-build.sh # Build the ISO (simple method) ./build-iso-simple.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 # Or use traditional apt for user packages sudo apt install firefox ``` ## 🔧 **Development** ### **Prerequisites:** - Ubuntu 24.04 LTS or Debian 12 - apt-ostree (from your repository) - debootstrap, squashfs-tools, xorriso, grub-pc-bin - 10GB+ free space for building ### **Build Process:** 1. **Base System**: Create Ubuntu base using debootstrap 2. **Package Installation**: Install apt-ostree and desktop packages 3. **System Configuration**: Configure services and user accounts 4. **Live Environment**: Create bootable live system 5. **ISO Creation**: Package into bootable ISO 6. **Testing**: Test in VM environment ## 🎯 **Goals** - [x] **apt-ostree Integration**: Working atomic package management - [x] **OCI Image Support**: Container image generation - [x] **Simple ISO Build**: Basic bootable ISO creation - [ ] **Advanced ISO Build**: Full apt-ostree compose integration - [ ] **Desktop Environment**: KDE Plasma with ParticleOS branding - [ ] **Installer**: User-friendly installation process - [ ] **Documentation**: User and developer guides ## 🚀 **Current Status** ### **✅ Working:** - Basic ISO build system using debootstrap - apt-ostree integration in built system - Live boot environment - Simple installer script ### **🔄 In Progress:** - Advanced apt-ostree compose commands - Full system definition support - ParticleOS branding and customization ### **📋 Next Steps:** 1. Test the simple ISO build 2. Implement apt-ostree compose commands 3. Add ParticleOS branding 4. Create user-friendly 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.