archy/image-recipe/build-all-hardware.sh
Dorian ba1a7bd3f6 Enhance README and build scripts for hardware-specific optimizations
- Updated README.md to clarify development setup for macOS/Docker and added production build instructions for specific hardware.
- Introduced new build scripts for optimized OS images targeting Start9 Server Pure, HP ProDesk 400 G4 DM, and Dell OptiPlex.
- Enhanced Dockerfile to specify platform compatibility and improved Alpine profile for Archipelago builds.
- Updated configuration files and init scripts to support new hardware profiles and ensure proper service management.
2026-01-31 19:47:52 +00:00

73 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Quick build script - builds for all supported hardware targets
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BUILD_TYPE="${1:-iso}"
echo "🏗️ Building Archipelago for all supported hardware"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# Array of hardware targets
TARGETS=(
"start9-pure:Start9 Server Pure"
"hp-prodesk:HP ProDesk 400 G4 DM"
"dell-optiplex:Dell OptiPlex"
"generic:Generic x86_64"
)
SUCCESS_COUNT=0
FAIL_COUNT=0
FAILED_TARGETS=()
# Build for each target
for target_info in "${TARGETS[@]}"; do
IFS=':' read -r target_name target_desc <<< "$target_info"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🔨 Building for: $target_desc"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
if "$SCRIPT_DIR/build-for-hardware.sh" "$target_name" "$BUILD_TYPE"; then
echo "$target_desc build succeeded"
((SUCCESS_COUNT++))
else
echo "$target_desc build failed"
((FAIL_COUNT++))
FAILED_TARGETS+=("$target_desc")
fi
done
# Summary
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📊 Build Summary"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Successful: $SUCCESS_COUNT"
echo " Failed: $FAIL_COUNT"
if [ $FAIL_COUNT -gt 0 ]; then
echo ""
echo "Failed builds:"
for target in "${FAILED_TARGETS[@]}"; do
echo " - $target"
done
fi
echo ""
echo "📦 Build output: $SCRIPT_DIR/results/"
ls -lh "$SCRIPT_DIR/results/"*.iso 2>/dev/null || echo " (no ISOs found)"
echo ""
if [ $FAIL_COUNT -eq 0 ]; then
echo "✅ All builds completed successfully!"
exit 0
else
echo "⚠️ Some builds failed. Check logs above."
exit 1
fi