particle-os/02-installer/scripts/prepare-atomic-image.sh
2025-08-05 04:14:29 +00:00

63 lines
No EOL
1.7 KiB
Bash
Executable file

#!/bin/bash
# Debian Atomic Desktop - Prepare Atomic Image Script
# This script prepares the atomic image for embedding in the live ISO
set -e
# Configuration
ATOMIC_IMAGE="debian-atomic:latest"
LIVE_MOUNT="/run/archivemount"
IMAGE_TAR="atomic-image.tar"
echo "Preparing atomic image for live ISO..."
# Check if we're running in the live environment
if [ -d "$LIVE_MOUNT" ]; then
echo "Running in live environment, preparing atomic image..."
# Create directory for atomic image
mkdir -p "$LIVE_MOUNT/atomic"
# Save the atomic image to tar file
if podman image exists "$ATOMIC_IMAGE"; then
echo "Saving atomic image to $IMAGE_TAR..."
podman save -o "$LIVE_MOUNT/atomic/$IMAGE_TAR" "$ATOMIC_IMAGE"
# Create deployment script
cat > "$LIVE_MOUNT/atomic/deploy.sh" << 'EOF'
#!/bin/bash
# Deploy atomic image script
set -e
ATOMIC_IMAGE="debian-atomic:latest"
IMAGE_TAR="atomic-image.tar"
TARGET_DEVICE="/dev/sda"
echo "Deploying Debian Atomic Desktop..."
# Load the atomic image
if [ -f "$IMAGE_TAR" ]; then
echo "Loading atomic image..."
podman load -i "$IMAGE_TAR"
fi
# Install using bootc
echo "Installing atomic image to $TARGET_DEVICE..."
bootc install to-disk --device "$TARGET_DEVICE" --replace-os --image "$ATOMIC_IMAGE"
echo "Atomic installation complete!"
EOF
chmod +x "$LIVE_MOUNT/atomic/deploy.sh"
echo "Atomic image prepared successfully."
else
echo "Warning: Atomic image $ATOMIC_IMAGE not found."
echo "Installation will attempt to pull from registry."
fi
else
echo "Not in live environment, skipping atomic image preparation."
fi
echo "Atomic image preparation complete."