#!/bin/bash set -euo pipefail echo "==========================================" echo " ParticleOS bootc Installation" echo "==========================================" echo "" echo "This will install ParticleOS using bootc to your system." echo "WARNING: This is a destructive operation that will erase the target device." echo "" # Check if running from live environment if [ ! -f /etc/casper/hostname ]; then echo "Error: This script must be run from the ParticleOS live environment." exit 1 fi # Check for target disk if [ $# -eq 0 ]; then echo "Usage: $0 " echo "Example: $0 /dev/sda" echo "" echo "Available disks:" echo "==================" lsblk -d -o NAME,SIZE,MODEL,TYPE echo "" echo "Available partitions:" echo "=====================" lsblk -o NAME,SIZE,TYPE,MOUNTPOINT echo "" echo "Please specify the target device (e.g., /dev/sda for entire disk)" exit 1 fi TARGET_DEVICE="$1" # Validate target device if [ ! -b "$TARGET_DEVICE" ]; then echo "Error: $TARGET_DEVICE is not a valid block device." exit 1 fi # Show device information echo "Target device: $TARGET_DEVICE" echo "Device information:" lsblk "$TARGET_DEVICE" -o NAME,SIZE,TYPE,MOUNTPOINT echo "" # Final confirmation echo "==========================================" echo "FINAL WARNING: This will completely erase $TARGET_DEVICE" echo "All data on this device will be lost permanently!" echo "==========================================" echo "" echo "Type 'YES' (in uppercase) to confirm installation:" read -r confirmation if [ "$confirmation" != "YES" ]; then echo "Installation cancelled." exit 1 fi echo "" echo "Installing ParticleOS using bootc..." echo "This may take several minutes..." # Install ParticleOS using bootc if bootc install --target "$TARGET_DEVICE" particleos-system:latest; then echo "" echo "==========================================" echo "Installation completed successfully!" echo "==========================================" echo "" echo "Next steps:" echo "1. Reboot your system" echo "2. Boot from $TARGET_DEVICE" echo "3. Enjoy ParticleOS!" echo "" else echo "" echo "==========================================" echo "Installation failed!" echo "==========================================" echo "" echo "Please check the error messages above and try again." exit 1 fi