- 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.
73 lines
2.2 KiB
Bash
Executable File
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
|