- Complete Particle-OS rebranding from uBlue-OS - Professional installation system with standardized paths - Self-initialization system with --init and --reset commands - Enhanced error messages and dependency checking - Comprehensive testing infrastructure - All source scriptlets updated with runtime improvements - Clean codebase with redundant files moved to archive - Complete documentation suite
9.2 KiB
Particle-OS Troubleshooting Guide
This guide documents all issues encountered during Particle-OS development, their solutions, and common troubleshooting steps.
🔧 Issues Fixed & Solutions
1. Script Location Standardization
Issue: Mixed script locations causing confusion and PATH issues
- Some scripts in
/usr/local/bin/ - Some scripts in project directory
- Inconsistent naming conventions
Solution: Implemented Option A - Install all scripts to /usr/local/bin/
- Created
install-particle-os.shfor production installation - Created
dev-install.shfor development reinstallation - Standardized script names:
apt-layer.sh→apt-layercomposefs-alternative.sh→composefsbootc-alternative.sh→bootcbootupd-alternative.sh→bootupdorchestrator.sh→particle-orchestratoroci-integration.sh→particle-ociparticle-logrotate.sh→particle-logrotate
Files Updated:
install-particle-os.sh- Production installation scriptdev-install.sh- Development installation scriptorchestrator.sh- Updated to use standardized pathsINSTALLATION.md- Complete installation documentation
2. fsverity Integration
Issue: Missing fsverity script causing orchestrator dependency failures
- Orchestrator looking for
/usr/local/bin/fsverity - Custom fsverity-alternative.sh not available
Solution: Use real Ubuntu fsverity package instead of custom script
- Updated orchestrator.sh to use system
fsveritycommand - Enhanced dependency checking to verify
command -v fsverity - Added fsverity installation instructions to documentation
Files Updated:
orchestrator.sh- ChangedFSVERITY_SCRIPT="fsverity"INSTALLATION.md- Added fsverity as system requirementinstall-particle-os.sh- Removed fsverity-alternative.sh from installation
3. Path Reference Issues
Issue: Scripts still referencing old paths after standardization
- apt-layer.sh looking for
composefs-alternative.shinstead ofcomposefs - particle-config.sh using old script names
Solution: Updated all path references to use standardized names
- Updated
COMPOSEFS_SCRIPTin apt-layer.sh - Updated all script paths in particle-config.sh
- Ensured consistency across all configuration files
Files Updated:
apt-layer.sh-COMPOSEFS_SCRIPT="/usr/local/bin/composefs"particle-config.sh- Updated all script paths to standardized names
4. Missing Logging Functions
Issue: composefs and bootupd scripts missing logging functions
log_info: command not founderrors- Inconsistent logging across scripts
Solution: Need to add missing functions to source files
- Add
log_info(),log_warning(),log_error()functions - Ensure consistent logging format across all scripts
- Update source files and recompile
Status: ⚠️ PENDING - Need to update source files
5. Repetitive Initialization
Issue: apt-layer initializing multiple times during status command
- Recursive self-calls causing performance issues
- Multiple initialization messages
Solution: Fixed recursive calls in rpm-ostree compatibility layer
- Updated
rpm_ostree_status()to call internal functions directly - Updated
rpm_ostree_install()to call internal functions directly - Updated
rpm_ostree_cancel()to call internal functions directly
Status: ✅ FIXED - Applied to runtime, needs source update
🚨 Current Issues & Status
High Priority
-
Missing Scripts in Project Directory
- Issue: Scripts exist in project directory but dev-install.sh can't find them
- Status: ✅ RESOLVED - Scripts are present: composefs-alternative.sh, bootc-alternative.sh, bootupd-alternative.sh
- Root Cause: User running dev-install.sh from wrong directory
- Solution: Run dev-install.sh from the project directory containing the scripts
- Current State: composefs and bootupd are installed but have missing functions
-
Live Overlay Not Supported
- Issue: System doesn't support live overlay in VM environment
- Status: ⚠️ EXPECTED - Normal in VM, not a real issue
- Impact: Limited testing of live overlay features
Medium Priority
-
Source File Updates Needed
- Issue: Runtime fixes not applied to source files
- Status: 📝 PENDING - Need to update source and recompile
- Impact: Fixes not permanent across recompilations
-
Missing Functions in Compiled Scripts
- Issue: composefs and bootupd scripts missing
init_directoriesfunction - Status: 🔧 CONFIRMED -
init_directories: command not founderrors - Impact: Scripts fail to initialize properly
- Solution: Need to add missing functions to source files and recompile
- Issue: composefs and bootupd scripts missing
🛠️ Common Troubleshooting Steps
Installation Issues
# Check if scripts are executable
ls -la /usr/local/bin/apt-layer /usr/local/bin/composefs
# Verify PATH includes /usr/local/bin
echo $PATH | grep /usr/local/bin
# Check if configuration is loaded
ls -la /usr/local/etc/particle-config.sh
# Reinstall if needed
sudo ./dev-install.sh
Dependency Issues
# Install system dependencies
sudo apt install -y fsverity
# Check if fsverity is available
command -v fsverity
# Verify all Particle-OS scripts exist
which apt-layer composefs bootc bootupd particle-orchestrator
Permission Issues
# Fix script permissions
sudo chmod +x /usr/local/bin/apt-layer
sudo chmod +x /usr/local/bin/composefs
sudo chmod +x /usr/local/bin/bootc
sudo chmod +x /usr/local/bin/bootupd
# Fix ownership
sudo chown root:root /usr/local/bin/apt-layer
Configuration Issues
# Check configuration loading
sudo apt-layer --init
# Verify workspace directories
ls -la /var/lib/particle-os/
ls -la /var/log/particle-os/
ls -la /var/cache/particle-os/
Missing Function Issues
# Check for missing functions in scripts
grep -n "init_directories" /usr/local/bin/composefs
grep -n "init_directories" /usr/local/bin/bootupd
# Check what functions are defined
grep -n "^[a-zA-Z_][a-zA-Z0-9_]*()" /usr/local/bin/composefs | head -10
grep -n "^[a-zA-Z_][a-zA-Z0-9_]*()" /usr/local/bin/bootupd | head -10
Missing Script Issues
# Check what scripts are available in project directory
ls -la *.sh
# Check what scripts are installed
ls -la /usr/local/bin/apt-layer /usr/local/bin/composefs /usr/local/bin/bootc /usr/local/bin/bootupd
# Find missing source scripts
find . -name "*composefs*" -o -name "*bootc*" -o -name "*bootupd*"
📋 Testing Checklist
Pre-Installation
- All source scripts exist in project directory
- Installation scripts are executable
- System dependencies are installed (fsverity)
Post-Installation
- All scripts installed to
/usr/local/bin/ - Scripts are executable and in PATH
- Configuration file is installed
- Workspace directories are created
Functionality Testing
apt-layer --helpworkscomposefs --helpworksbootc --helpworksbootupd --helpworksparticle-orchestrator helpworksapt-layer statusworksapt-layer --initworks
🔄 Development Workflow
Making Changes
- Edit source files in
src/directory - Recompile scripts using
compile.sh - Test changes with
sudo ./dev-install.sh - Verify functionality
Testing Changes
# Quick reinstall
sudo ./dev-install.sh
# Test specific component
sudo apt-layer --help
sudo composefs --help
# Test integration
sudo particle-orchestrator help
Production Deployment
# Full installation with backup
sudo ./install-particle-os.sh
# Verify installation
which apt-layer composefs bootc bootupd particle-orchestrator
📚 Reference Information
Standardized Script Names
| Source | Installed As | Purpose |
|---|---|---|
apt-layer.sh |
apt-layer |
Package layer management |
composefs-alternative.sh |
composefs |
ComposeFS image management |
bootc-alternative.sh |
bootc |
Bootable container management |
bootupd-alternative.sh |
bootupd |
Bootloader management |
orchestrator.sh |
particle-orchestrator |
System orchestration |
oci-integration.sh |
particle-oci |
OCI integration |
particle-logrotate.sh |
particle-logrotate |
Log rotation management |
Key Directories
/usr/local/bin/- Installed scripts/usr/local/etc/particle-config.sh- Configuration file/var/lib/particle-os/- Workspace directory/var/log/particle-os/- Log directory/var/cache/particle-os/- Cache directory
System Dependencies
fsverity- File integrity verificationpodmanordocker- Container runtimesquashfs-tools- ComposeFS supportjq- JSON processingcoreutils- Basic utilities
🎯 Next Steps
- Locate missing scripts - Find composefs, bootc, bootupd in project
- Update source files - Apply runtime fixes to source
- Test full integration - Verify all components work together
- Document working process - Update README with working examples
Last Updated: 2025-01-27 Version: 1.0 Status: Active Development