- 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.
280 lines
25 KiB
Plaintext
280 lines
25 KiB
Plaintext
```
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ ARCHIPELAGO BUILD SYSTEM │
|
|
│ Multi-Hardware Support │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
QUICK START COMMANDS
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
🚀 BUILD FOR START9 SERVER PURE (NEW!)
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ cd image-recipe │
|
|
│ ./build-for-hardware.sh start9-pure iso │
|
|
│ │
|
|
│ Output: archipelago-0.1.0-start9-pure-x86_64.iso │
|
|
│ Time: ~45-60 minutes (first build) │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
🖥️ BUILD FOR HP PRODESK (PRESERVED)
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ cd image-recipe │
|
|
│ ./build-for-hardware.sh hp-prodesk iso │
|
|
│ │
|
|
│ Output: archipelago-0.1.0-hp-prodesk-x86_64.iso │
|
|
│ Time: ~45-60 minutes (first build) │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
🖥️ BUILD FOR DELL OPTIPLEX (PRESERVED)
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ cd image-recipe │
|
|
│ ./build-for-hardware.sh dell-optiplex iso │
|
|
│ │
|
|
│ Output: archipelago-0.1.0-dell-optiplex-x86_64.iso │
|
|
│ Time: ~45-60 minutes (first build) │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
🌐 BUILD FOR GENERIC x86_64 (FALLBACK)
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ cd image-recipe │
|
|
│ ./build-for-hardware.sh generic iso │
|
|
│ │
|
|
│ Output: archipelago-0.1.0-generic-x86_64.iso │
|
|
│ Time: ~45-60 minutes (first build) │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
🎯 BUILD ALL HARDWARE TARGETS AT ONCE
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ cd image-recipe │
|
|
│ ./build-all-hardware.sh iso │
|
|
│ │
|
|
│ Builds: start9-pure, hp-prodesk, dell-optiplex, generic │
|
|
│ Time: ~3-4 hours (first build) │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
🧪 QUICK TEST BUILD (VERIFY SYSTEM)
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ cd image-recipe │
|
|
│ ./test-start9-build.sh │
|
|
│ │
|
|
│ Purpose: Verify build system works │
|
|
│ Time: ~5-10 minutes │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
HARDWARE SPECIFICATIONS
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
┌─────────────────────┬──────────────────────────────────────────────────┐
|
|
│ START9 SERVER PURE │ - Intel i7-10710U (6 cores, 12 threads) │
|
|
│ (NEW!) │ - 32-64GB DDR4-3200 RAM │
|
|
│ │ - 2-4TB NVMe SSD (7,300 MB/s) │
|
|
│ Target: start9-pure │ - Intel UHD Graphics │
|
|
│ │ - 1x Gigabit Ethernet │
|
|
│ │ - Coreboot firmware │
|
|
│ │ │
|
|
│ Optimizations: │ • Intel i7-10710U microcode │
|
|
│ │ • NVMe I/O scheduler (none/noop) │
|
|
│ │ • Intel UHD Graphics acceleration (i915) │
|
|
│ │ • High-performance tuning (64GB RAM) │
|
|
│ │ • Professional-grade configurations │
|
|
└─────────────────────┴──────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────┬──────────────────────────────────────────────────┐
|
|
│ HP PRODESK 400 G4 │ - Various Intel processors │
|
|
│ (PRESERVED) │ - 8GB+ DDR4 RAM │
|
|
│ │ - 128GB+ SATA/NVMe SSD │
|
|
│ Target: hp-prodesk │ - Desktop Mini form factor │
|
|
│ │ - 1x Gigabit Ethernet │
|
|
│ │ - Intel Graphics │
|
|
│ │ │
|
|
│ Optimizations: │ • Generic Intel microcode │
|
|
│ │ • SATA/NVMe auto-detection │
|
|
│ │ • Compact form factor tuning │
|
|
│ │ • HP firmware compatibility │
|
|
└─────────────────────┴──────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────┬──────────────────────────────────────────────────┐
|
|
│ DELL OPTIPLEX │ - Various Intel processors │
|
|
│ (PRESERVED) │ - 8GB+ DDR4 RAM │
|
|
│ │ - 128GB+ SATA/NVMe SSD │
|
|
│ Target: │ - Multiple models (3050, 7050, 9020, etc.) │
|
|
│ dell-optiplex │ - 1x Gigabit Ethernet │
|
|
│ │ - Intel/AMD Graphics │
|
|
│ │ │
|
|
│ Optimizations: │ • Multi-model support │
|
|
│ │ • Dell firmware compatibility │
|
|
│ │ • Business-class features │
|
|
│ │ • Legacy hardware support │
|
|
└─────────────────────┴──────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────┬──────────────────────────────────────────────────┐
|
|
│ GENERIC x86_64 │ - Any x86_64 processor (Intel/AMD) │
|
|
│ (FALLBACK) │ - 8GB+ RAM recommended │
|
|
│ │ - 128GB+ HDD/SSD │
|
|
│ Target: generic │ - Any form factor │
|
|
│ │ - Any network adapter │
|
|
│ │ - Any graphics │
|
|
│ │ │
|
|
│ Optimizations: │ • Universal drivers │
|
|
│ │ • Intel & AMD support │
|
|
│ │ • Maximum compatibility │
|
|
│ │ • Generic firmware │
|
|
└─────────────────────┴──────────────────────────────────────────────────┘
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
INSTALLATION STEPS
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
STEP 1: FLASH ISO TO USB DRIVE
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ macOS: │
|
|
│ diskutil list # Find device │
|
|
│ diskutil unmountDisk /dev/diskX # Unmount │
|
|
│ sudo dd if=results/archipelago-0.1.0-start9-pure-x86_64.iso \ │
|
|
│ of=/dev/rdiskX bs=1m status=progress │
|
|
│ │
|
|
│ Linux: │
|
|
│ lsblk # Find device │
|
|
│ sudo dd if=results/archipelago-0.1.0-start9-pure-x86_64.iso \ │
|
|
│ of=/dev/sdX bs=1M status=progress │
|
|
│ │
|
|
│ GUI Tools: │
|
|
│ • balenaEtcher (recommended): https://www.balena.io/etcher/ │
|
|
│ • Rufus (Windows): https://rufus.ie/ │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
STEP 2: BOOT FROM USB
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ 1. Insert USB drive into target hardware │
|
|
│ 2. Power on the device │
|
|
│ 3. Press boot menu key: │
|
|
│ • Start9 Pure: F12 │
|
|
│ • HP ProDesk: F9 │
|
|
│ • Dell OptiPlex: F12 │
|
|
│ 4. Select USB drive from boot menu │
|
|
│ 5. Follow installation prompts │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
STEP 3: FIRST BOOT
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ 1. Remove USB drive │
|
|
│ 2. Reboot system │
|
|
│ 3. Hardware detection runs automatically │
|
|
│ 4. Services start (backend, containers) │
|
|
│ 5. Access UI at: http://<device-ip>:8100 │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
BUILD OUTPUT FILES
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
results/
|
|
├── archipelago-0.1.0-start9-pure-x86_64.iso [~350MB] 🆕
|
|
├── archipelago-0.1.0-hp-prodesk-x86_64.iso [~340MB] ✓
|
|
├── archipelago-0.1.0-dell-optiplex-x86_64.iso [~340MB] ✓
|
|
├── archipelago-0.1.0-generic-x86_64.iso [~360MB] ✓
|
|
│
|
|
├── BUILD_MANIFEST_start9-pure.txt 🆕
|
|
├── BUILD_MANIFEST_hp-prodesk.txt ✓
|
|
├── BUILD_MANIFEST_dell-optiplex.txt ✓
|
|
└── BUILD_MANIFEST_generic.txt ✓
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
DOCUMENTATION MAP
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
📖 START HERE
|
|
└── START9_SERVER_PURE_BUILD.md Start9 quick start guide
|
|
|
|
📖 QUICK REFERENCE
|
|
└── image-recipe/QUICK-REFERENCE.md Commands & troubleshooting
|
|
|
|
📖 DETAILED GUIDES
|
|
├── image-recipe/README-HARDWARE-BUILDS.md Comprehensive guide
|
|
└── MULTI_HARDWARE_BUILD_SYSTEM.md System design
|
|
|
|
📖 TECHNICAL DOCS
|
|
├── docs/building-os-images.md OS build details
|
|
└── docs/architecture.md System architecture
|
|
|
|
📖 COMPLETION SUMMARY
|
|
└── IMPLEMENTATION_COMPLETE.md This implementation
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
ENVIRONMENT VARIABLES
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
# Customize builds with environment variables:
|
|
|
|
export ARCHIPELAGO_VERSION="1.0.0" # Set version (default: 0.1.0)
|
|
export ALPINE_VERSION="3.20" # Alpine version (default: 3.19)
|
|
export ARCH="x86_64" # Architecture (default: x86_64)
|
|
export BUILD_TYPE="iso" # Build type: iso or disk
|
|
|
|
# Then build:
|
|
./build-for-hardware.sh start9-pure iso
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
TROUBLESHOOTING
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
❌ BUILD FAILS
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ # Clean everything │
|
|
│ rm -rf results/ build/ apks/ aports/ │
|
|
│ │
|
|
│ # Retry │
|
|
│ ./build-for-hardware.sh start9-pure iso │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
❌ DOCKER NOT RUNNING (macOS)
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ # Start Docker Desktop │
|
|
│ open -a Docker │
|
|
│ │
|
|
│ # Wait for it to start, then retry │
|
|
│ ./build-for-hardware.sh start9-pure iso │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
❌ OUT OF DISK SPACE
|
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
│ # Clean Docker (macOS) │
|
|
│ docker system prune -a │
|
|
│ │
|
|
│ # Clean build artifacts │
|
|
│ rm -rf build/ results/ apks/ │
|
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
BUILD TIMES
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
┌───────────────────────┬─────────────────┬────────────────────┐
|
|
│ Build Type │ First Build │ Cached Build │
|
|
├───────────────────────┼─────────────────┼────────────────────┤
|
|
│ Single Target │ 45-60 minutes │ 10-15 minutes │
|
|
│ All Targets │ 3-4 hours │ 40-60 minutes │
|
|
│ Test Build │ 5-10 minutes │ 2-5 minutes │
|
|
└───────────────────────┴─────────────────┴────────────────────┘
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
SUPPORT & RESOURCES
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
📧 GitHub Issues : Report bugs and request features
|
|
💬 Discussions : Ask questions and share ideas
|
|
📚 Documentation : See docs/ folder
|
|
🌐 Community : Discord (coming soon)
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
|
|
🏝️ ARCHIPELAGO - YOUR SOVEREIGN BITCOIN NODE OS
|
|
|
|
Now supporting Start9 Server Pure with optimizations!
|
|
ProDesk and OptiPlex builds fully preserved!
|
|
|
|
═══════════════════════════════════════════════════════════════════════════
|
|
```
|