No description
| scripts | ||
| .gitignore | ||
| aurora-systems.yml | ||
| build-iso-mmdebstrap-hardened.sh | ||
| build-iso-mmdebstrap-safe.sh | ||
| build-iso-mmdebstrap.sh | ||
| build-iso-podman.sh | ||
| build-iso-simple.sh | ||
| build-iso.sh | ||
| 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-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:
# Clone the repository
git clone <your-repo> 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:
# 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
# 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:
- Base System: Create Ubuntu base using debootstrap
- Package Installation: Install apt-ostree and desktop packages
- System Configuration: Configure services and user accounts
- Live Environment: Create bootable live system
- ISO Creation: Package into bootable ISO
- Testing: Test in VM environment
🎯 Goals
- apt-ostree Integration: Working atomic package management
- OCI Image Support: Container image generation
- 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:
- Test the simple ISO build
- Implement apt-ostree compose commands
- Add ParticleOS branding
- Create user-friendly 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.