particle-os-tools/tools.md
2025-07-14 01:09:07 -07:00

6.9 KiB

Tool Comparison: uBlue-OS vs Particle-OS

This document provides a comparison of the core tools used in uBlue-OS and their equivalents in Particle-OS.

Core System Tools

uBlue-OS Tool Particle-OS Equivalent Description
rpm-ostree apt-layer Package management and atomic system updates. rpm-ostree handles RPM packages on Fedora, while apt-layer manages DEB packages on Ubuntu with atomic transactions and rollback capabilities.
bootc bootc-alternative Container-native bootable image management. Handles deployment, staging, rollback, and status reporting for immutable OS images. Particle-OS version includes Bazzite-style status output and deployment tracking.
bootupd bootupd-alternative Bootloader management and configuration. Manages UEFI/GRUB entries, kernel arguments, and boot configuration for atomic OS deployments.
skopeo skopeo Container image inspection, copying, and verification. Essential for secure image management, signature verification, and registry operations. Used by both systems for image handling.

Particle-OS Specific Tools

Particle-OS Tool Description
particle-config.sh Centralized configuration management for Particle-OS. Manages paths, settings, and system configuration across all Particle-OS tools.
particle-logrotate.sh Log rotation and management for Particle-OS tools. Ensures proper log file maintenance and prevents disk space issues.
dracut-module.sh Dracut module management for kernel initramfs generation. Handles custom kernel modules and boot-time initialization for Particle-OS.
Official ComposeFS Tools ARCHIVED: composefs-alternative.sh moved to archive. Particle-OS now uses official mkcomposefs and mount.composefs from upstream with automatic backend selection and fallback support.
install-particle-os.sh Professional installation script for Particle-OS tools. Installs all core tools to /usr/local/bin/ with standardized names and proper permissions.
install-ubuntu-particle.sh Complete Ubuntu Particle-OS system installation. Installs dependencies, creates directory structure, sets up systemd services, and configures the full immutable system environment.
oci-integration.sh OCI (Open Container Initiative) integration utilities. Particle-OS-specific wrapper that uses skopeo under the hood for registry operations, image pulling, and OCI compliance. Provides higher-level automation and workflow integration for Particle-OS tools.

Ubuntu Ecosystem Integration Tools

Ubuntu Tool Particle-OS Integration Description
erofs-utils EROFS Backend for ComposeFS Enhanced Read-Only File System utilities. Provides better performance than SquashFS for metadata operations, native fs-verity support, and LZ4/Zstandard compression. Integrates with composefs-alternative for official ComposeFS compatibility.
erofsfuse FUSE Mount Support FUSE Mount Utility for EROFS File System. Enables user-space mounting of EROFS filesystems, useful for rootless operations and enhanced security.
overlayroot Boot-time Immutability Native Ubuntu tool for read-only root filesystem with overlayfs. Provides system immutability, boot-time protection, and easy rollback capabilities. Integrates with dracut-module for enhanced boot-time security.
fuse-overlayfs Rootless Container Support Implementation of overlay+shiftfs in FUSE for rootless containers. Enables container operations without root privileges, enhancing security for container-based workflows.
golang-github-bep-overlayfs-dev Go Library Integration Composite Afero filesystem Go library. Provides programmatic access to overlayfs functionality for Go-based tools and services in the Particle-OS ecosystem.

Enhanced Integration Opportunities

EROFS Integration with ComposeFS

  • Performance: EROFS is optimized for read-only metadata operations, providing better performance than SquashFS
  • Compression: Native support for LZ4 and Zstandard compression algorithms
  • Security: Built-in fs-verity support for filesystem integrity verification
  • Standards Compliance: Aligns with official ComposeFS implementation using EROFS for metadata trees
  • Fallback Support: Graceful fallback to SquashFS when EROFS is not available

Overlayroot Integration with Boot System

  • System Immutability: Provides read-only root filesystem with writable overlay
  • Boot-time Protection: Protects system from modifications during runtime
  • Easy Rollback: Simple way to discard changes and return to clean state
  • Ubuntu Integration: Native Ubuntu tool with excellent system integration
  • dracut-module Enhancement: Can replace or enhance current dracut-module approach

FUSE-based Enhancements

  • Rootless Operations: Enable container and filesystem operations without root privileges
  • Enhanced Security: User-space implementations provide additional security layers
  • Flexibility: Support for various filesystem types and overlay configurations
  • Container Integration: Better integration with modern container workflows

Implementation Strategy

Phase 1: EROFS Integration

  1. Install erofs-utils and erofsfuse packages
  2. Test EROFS functionality with composefs-alternative
  3. Implement automatic detection and fallback logic
  4. Add EROFS compression and optimization features
  5. Benchmark performance against current SquashFS approach

Phase 2: Overlayroot Integration

  1. Install overlayroot package
  2. Test read-only root functionality
  3. Integrate with dracut-module for boot-time immutability
  4. Add configuration options for users
  5. Document usage and benefits

Phase 3: FUSE Enhancements

  1. Test fuse-overlayfs for rootless container support
  2. Evaluate Go library integration opportunities
  3. Implement enhanced security features
  4. Add comprehensive testing and validation

Notes

  • Skopeo is a shared dependency used by both uBlue-OS and Particle-OS for container image operations
  • Official ComposeFS Tools: Particle-OS now uses official mkcomposefs and mount.composefs from upstream. The alternative implementation has been archived.
  • EROFS integration provides a path to official ComposeFS compatibility while maintaining Particle-OS enhancements
  • Overlayroot offers a simpler alternative to complex dracut-module implementations for boot-time immutability
  • FUSE-based tools enable enhanced security and rootless operations
  • Particle-OS tools maintain compatibility with uBlue-OS workflows while adding Ubuntu-specific features and optimizations
  • All Particle-OS tools include comprehensive error handling, logging, and user-friendly interfaces
  • Ubuntu ecosystem integration leverages native Ubuntu tools for better performance and compatibility