Update README to clarify Particle-OS focus and uBlue OS inspiration

This commit is contained in:
robojerk 2025-07-12 12:43:43 -07:00
parent 4f21a06af8
commit ed8f2bc68b

View file

@ -1,10 +1,10 @@
# Ubuntu uBlue System Tools
# Particle-OS System Tools
A comprehensive collection of tools for creating and managing immutable Ubuntu systems, providing functionality similar to Fedora Silverblue/Kinoite but designed specifically for Ubuntu/Debian-based distributions.
A comprehensive collection of tools for creating and managing immutable Ubuntu systems, inspired by uBlue OS but designed specifically for **Particle-OS** - a Ubuntu-based immutable distribution. These tools provide functionality similar to Fedora Silverblue/Kinoite but are built for Ubuntu/Debian-based distributions.
## 🎯 Overview
Ubuntu uBlue System Tools provides a complete solution for immutable Ubuntu systems using:
Particle-OS System Tools provides a complete solution for immutable Ubuntu systems using:
- **ComposeFS Alternative**: Immutable filesystem backend using squashfs and overlayfs
- **apt-layer**: Package management and layer creation (similar to rpm-ostree)
- **bootupd Alternative**: Bootloader management and deployment
@ -12,13 +12,15 @@ Ubuntu uBlue System Tools provides a complete solution for immutable Ubuntu syst
- **OCI Integration**: Container image export/import capabilities
- **Transaction Management**: Atomic operations with rollback support
**Important**: While these tools are inspired by uBlue OS concepts and design patterns, they are specifically designed for **Particle-OS** - a Ubuntu-based immutable system. The tools are optimized for Ubuntu/Debian package management (apt/dpkg) rather than RPM-based systems.
## 🏗️ System Architecture
```
┌─────────────────────────────────────────────────────────────┐
Ubuntu uBlue System
Particle-OS System
├─────────────────────────────────────────────────────────────┤
main.sh (Orchestrator)
orchestrator.sh (System Orchestrator)
│ ┌─────────────┬─────────────┬─────────────┐ │
│ │ apt-layer.sh│composefs-alt│bootupd-alt │ │
│ │ │ │ │ │
@ -29,9 +31,9 @@ Ubuntu uBlue System Tools provides a complete solution for immutable Ubuntu syst
│ └─────────────┴─────────────┴─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Supporting Tools │
│ • oci-integration.sh • ublue-config.sh
│ • bootc-alternative.sh • ublue-logrotate.sh
│ • dracut-module.sh • install-ubuntu-ublue.sh
│ • oci-integration.sh • particle-config.sh
│ • bootc-alternative.sh • particle-logrotate.sh
│ • dracut-module.sh • install-particle-os.sh
│ • fsverity-utils • Integrity verification │
└─────────────────────────────────────────────────────────────┘
```
@ -46,7 +48,7 @@ git clone <repository-url>
cd tools
# Run the installation script
sudo ./install-ubuntu-ublue.sh
sudo ./install-particle-os.sh
# Verify installation
sudo ./test-integration.sh
@ -56,7 +58,7 @@ sudo ./test-integration.sh
```bash
# Install packages and create new system image
sudo ./main.sh install ubuntu-base-24.04 firefox steam
sudo ./orchestrator.sh install ubuntu-base-24.04 firefox steam
# Install packages on live system (no reboot required)
sudo ./apt-layer.sh --live-install firefox steam
@ -65,19 +67,19 @@ sudo ./apt-layer.sh --live-install firefox steam
sudo ./apt-layer.sh --live-commit "Add gaming packages"
# Rebase to new Ubuntu version
sudo ./main.sh rebase ubuntu-base-25.04
sudo ./orchestrator.sh rebase ubuntu-base-25.04
# Rollback to previous deployment
sudo ./main.sh rollback
sudo ./orchestrator.sh rollback
# Check system status
sudo ./main.sh status
sudo ./orchestrator.sh status
```
## 📦 Core Components
### 1. **main.sh** - System Orchestrator
The central orchestrator that coordinates all uBlue operations:
### 1. **orchestrator.sh** - System Orchestrator
The central orchestrator that coordinates all Particle-OS operations:
- **Package Installation**: Atomic package installation with new image creation
- **System Rebase**: Upgrade to new base images while preserving layers
- **Rollback Management**: Safe rollback to previous deployments
@ -85,19 +87,20 @@ The central orchestrator that coordinates all uBlue operations:
**Usage:**
```bash
sudo ./main.sh install <base-image> <package1> [package2]...
sudo ./main.sh rebase <new-base-image>
sudo ./main.sh rollback [target-image]
sudo ./main.sh status
sudo ./orchestrator.sh install <base-image> <package1> [package2]...
sudo ./orchestrator.sh rebase <new-base-image>
sudo ./orchestrator.sh rollback [target-image]
sudo ./orchestrator.sh status
```
### 2. **apt-layer.sh** - Package Layer Management
Advanced package management with layer-based approach:
Advanced package management with layer-based approach, designed for Ubuntu/Debian systems:
- **Layer Creation**: Create new system layers with packages
- **Live Overlay**: Install packages without rebooting
- **Container Support**: Build layers in containers for isolation
- **Transaction Safety**: Atomic layer operations with rollback
- **OCI Integration**: Export/import layers as container images
- **Ubuntu/Debian Optimized**: Uses apt/dpkg instead of RPM
**Usage:**
```bash
@ -202,35 +205,35 @@ sudo ./bootc-alternative.sh update my-container:v2.0
sudo ./bootc-alternative.sh rollback
```
### **ublue-config.sh**
Unified configuration system:
### **particle-config.sh**
Unified configuration system for Particle-OS:
```bash
# Show configuration
sudo ./ublue-config.sh show
sudo ./particle-config.sh show
# Update configuration
sudo ./ublue-config.sh update
sudo ./particle-config.sh update
# Validate configuration
sudo ./ublue-config.sh validate
sudo ./particle-config.sh validate
```
### **ublue-logrotate.sh**
Log rotation and maintenance:
### **particle-logrotate.sh**
Log rotation and maintenance for Particle-OS:
```bash
# Rotate oversized logs
sudo ./ublue-logrotate.sh rotate
sudo ./particle-logrotate.sh rotate
# Clean up old logs
sudo ./ublue-logrotate.sh cleanup
sudo ./particle-logrotate.sh cleanup
# Show log statistics
sudo ./ublue-logrotate.sh stats
sudo ./particle-logrotate.sh stats
```
## 🧪 Testing
Comprehensive test suite for all components:
Comprehensive test suite for all Particle-OS components:
```bash
# Run full integration tests
@ -292,10 +295,10 @@ Detailed documentation is available in the `docs/` directory:
| apt-layer.sh | ✅ Production Ready | Full layer management with live overlay, OCI integration |
| composefs-alternative.sh | ✅ Production Ready | Immutable filesystem backend with squashfs/overlayfs |
| bootupd-alternative.sh | ✅ Production Ready | Multi-bootloader support (UEFI, GRUB, LILO, syslinux) |
| main.sh | ✅ Production Ready | System orchestrator with transaction management |
| orchestrator.sh | ✅ Production Ready | System orchestrator with transaction management |
| oci-integration.sh | ✅ Production Ready | Container image export/import |
| ublue-config.sh | ✅ Production Ready | Unified configuration system |
| ublue-logrotate.sh | ✅ Production Ready | Log rotation and maintenance |
| particle-config.sh | ✅ Production Ready | Unified configuration system |
| particle-logrotate.sh | ✅ Production Ready | Log rotation and maintenance |
| bootc-alternative.sh | 🔄 In Development | Container-native booting |
## 🤝 Contributing
@ -309,7 +312,7 @@ git clone <repository-url>
cd tools
# Install development dependencies
sudo ./install-ubuntu-ublue.sh --dev
sudo ./install-particle-os.sh --dev
# Run tests
sudo ./test-integration.sh
@ -340,4 +343,4 @@ This project is open source. Please check individual component licenses.
---
**Note**: All tools are designed to work 1:1 with their official counterparts and are compatible with Ubuntu, Debian, and Pop!_OS systems.
**Note**: All tools are designed to work 1:1 with their official counterparts and are compatible with Ubuntu, Debian, and Pop!_OS systems. While inspired by uBlue OS concepts, these tools are specifically optimized for **Particle-OS** - a Ubuntu-based immutable distribution.