archy/image-recipe/create-usb-boot.sh

62 lines
1.6 KiB
Bash
Raw Normal View History

#!/bin/bash
# Create a proper bootable USB for HP ProDesk
# This formats the USB and installs Alpine in a way that works on real hardware
set -e
USB_DEVICE="${1:-/dev/disk4}"
ISO_FILE="/Users/dorian/Projects/archy/image-recipe/results/archipelago-3.19-hp-prodesk-uefi-x86_64.iso"
if [ ! -f "$ISO_FILE" ]; then
echo "❌ ISO file not found: $ISO_FILE"
exit 1
fi
echo "⚠️ WARNING: This will ERASE all data on $USB_DEVICE"
echo "Press Ctrl+C to cancel, or Enter to continue..."
read
echo "📀 ISO: $ISO_FILE"
echo "💾 USB: $USB_DEVICE"
echo ""
# Unmount
echo "🔓 Unmounting USB..."
diskutil unmountDisk "$USB_DEVICE" || true
# Create hybrid ISO (makes it bootable from USB on both BIOS and UEFI)
echo "🔧 Creating hybrid boot support..."
if command -v isohybrid >/dev/null 2>&1; then
# If syslinux is installed
cp "$ISO_FILE" "/tmp/hybrid-archipelago.iso"
isohybrid -u "/tmp/hybrid-archipelago.iso"
ISO_FILE="/tmp/hybrid-archipelago.iso"
echo "✅ Hybrid boot support added"
else
echo " isohybrid not available, using direct ISO write"
fi
# Write to USB using dd
echo "💿 Writing ISO to USB..."
echo " This will take 2-3 minutes..."
sudo dd if="$ISO_FILE" of="${USB_DEVICE/disk/rdisk}" bs=1m status=progress
# Sync
echo "🔄 Syncing..."
sync
# Clean up
rm -f "/tmp/hybrid-archipelago.iso"
echo ""
echo "✅ USB boot device created successfully!"
echo ""
echo "📋 Next steps:"
echo " 1. Check HP ProDesk BIOS settings:"
echo " - Disable Secure Boot"
echo " - Enable USB Boot"
echo " - Try Legacy BIOS mode first"
echo " 2. Boot from USB"
echo " 3. Should see Alpine login prompt"
echo ""