No description
Find a file
2025-07-24 06:35:20 +00:00
scripts Initial commit: ParticleOS installer with KDE Plasma 2025-07-22 06:46:32 +00:00
.gitignore Successfully build ParticleOS ISO with ostree, bootc, and apt-ostree 2025-07-23 02:04:25 +00:00
aurora-systems.yml Successfully build ParticleOS ISO with ostree, bootc, and apt-ostree 2025-07-23 02:04:25 +00:00
build-iso-bootc-native.sh pure'ish bootc 2025-07-24 06:35:20 +00:00
build-iso-bootc-xorriso.sh this file should be here 2025-07-24 06:34:19 +00:00
build-iso-podman.sh Successfully build ParticleOS ISO with ostree, bootc, and apt-ostree 2025-07-23 02:04:25 +00:00
calmares_plan.md Successfully build ParticleOS ISO with ostree, bootc, and apt-ostree 2025-07-23 02:04:25 +00:00
readme.md Successfully build ParticleOS ISO with ostree, bootc, and apt-ostree 2025-07-23 02:04:25 +00:00
test-build.sh Initial commit: ParticleOS installer with KDE Plasma 2025-07-22 06:46:32 +00:00
test-environment.sh we did stuff I guess 2025-07-22 08:20:05 +00:00
test-podman-environment.sh we did stuff I guess 2025-07-22 08:20:05 +00:00
test-sources.list Initial commit: ParticleOS installer with KDE Plasma 2025-07-22 06:46:32 +00:00
todo.md Successfully build ParticleOS ISO with ostree, bootc, and apt-ostree 2025-07-23 02:04:25 +00:00
VM_TESTING_SETUP_COMPLETE.md Successfully build ParticleOS ISO with ostree, bootc, and apt-ostree 2025-07-23 02:04:25 +00:00

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:

# 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:

  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

  • 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:

  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.