archy/image-recipe/QUICK-REFERENCE.md
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

317 lines
6.9 KiB
Markdown

# Archipelago Hardware Build System - Quick Reference
## 🚀 Quick Start
### Build for Start9 Server Pure
```bash
cd image-recipe
./build-for-hardware.sh start9-pure iso
```
### Build for HP ProDesk
```bash
cd image-recipe
./build-for-hardware.sh hp-prodesk iso
```
### Build for Dell OptiPlex
```bash
cd image-recipe
./build-for-hardware.sh dell-optiplex iso
```
### Build for All Hardware
```bash
cd image-recipe
./build-all-hardware.sh iso
```
## 📋 Supported Hardware
| Hardware | Target Name | CPU | RAM | Storage |
|----------|-------------|-----|-----|---------|
| Start9 Server Pure | `start9-pure` | Intel i7-10710U | 32-64GB | 2-4TB NVMe |
| HP ProDesk 400 G4 DM | `hp-prodesk` | Intel varies | 8GB+ | 128GB+ SSD |
| Dell OptiPlex | `dell-optiplex` | Intel varies | 8GB+ | 128GB+ SSD |
| Generic x86_64 | `generic` | Any x86_64 | 8GB+ | 128GB+ |
## 🔧 Build Commands
### Single Hardware Target
```bash
./build-for-hardware.sh <target> [iso|disk]
```
**Examples:**
```bash
# ISO image (recommended)
./build-for-hardware.sh start9-pure iso
# Disk image (advanced)
./build-for-hardware.sh start9-pure disk
# Default is ISO
./build-for-hardware.sh hp-prodesk
```
### All Hardware Targets
```bash
./build-all-hardware.sh [iso|disk]
```
Builds optimized images for all supported hardware in one command.
## 📦 Output Files
After build completes:
```
results/
├── archipelago-0.1.0-start9-pure-x86_64.iso
├── archipelago-0.1.0-hp-prodesk-x86_64.iso
├── archipelago-0.1.0-dell-optiplex-x86_64.iso
├── archipelago-0.1.0-generic-x86_64.iso
├── BUILD_MANIFEST_start9-pure.txt
├── BUILD_MANIFEST_hp-prodesk.txt
├── BUILD_MANIFEST_dell-optiplex.txt
└── BUILD_MANIFEST_generic.txt
```
## 🔍 What's Different Per Hardware?
Each build includes **hardware-specific optimizations**:
### Start9 Server Pure
- ✅ Intel i7-10710U microcode
- ✅ Intel UHD Graphics drivers
- ✅ NVMe SSD optimizations
- ✅ Coreboot firmware support
- ✅ IME-disabled configurations
- ✅ High-performance tuning
### HP ProDesk 400 G4 DM
- ✅ Intel graphics support
- ✅ HP firmware compatibility
- ✅ SATA/NVMe detection
- ✅ Compact form factor optimizations
- ✅ Low-power configurations
### Dell OptiPlex
- ✅ Multi-model support
- ✅ Dell firmware compatibility
- ✅ Legacy hardware support
- ✅ Business-class features
### Generic
- ✅ Broad hardware compatibility
- ✅ Intel & AMD CPU support
- ✅ Generic drivers
- ✅ Maximum portability
## 💾 Flash to USB Drive
### macOS
```bash
# Find device
diskutil list
# Unmount
diskutil unmountDisk /dev/diskX
# Flash
sudo dd if=results/archipelago-0.1.0-start9-pure-x86_64.iso \
of=/dev/rdiskX bs=1m status=progress
```
### Linux
```bash
# Find device
lsblk
# Flash
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/
## 🎯 Installation Steps
1. **Flash ISO to USB** (see above)
2. **Insert USB into target hardware**
3. **Boot from USB**:
- Start9 Pure: Press F12
- HP ProDesk: Press F9
- Dell OptiPlex: Press F12
4. **Follow installation prompts**
5. **Remove USB and reboot**
6. **Access UI**: http://device-ip:8100
## 🔬 Verification
### Check ISO
```bash
# View build manifest
cat results/BUILD_MANIFEST_start9-pure.txt
# Check file size
ls -lh results/*.iso
# Verify checksum
sha256sum results/archipelago-0.1.0-start9-pure-x86_64.iso
```
### Test in VM
```bash
qemu-system-x86_64 \
-m 4G \
-smp 2 \
-boot d \
-cdrom results/archipelago-0.1.0-start9-pure-x86_64.iso \
-enable-kvm
```
## 🛠️ Environment Variables
Customize builds:
```bash
# Set version
export ARCHIPELAGO_VERSION="0.2.0"
# Set Alpine version
export ALPINE_VERSION="3.19"
# Build with custom settings
./build-for-hardware.sh start9-pure iso
```
## 📂 Directory Structure
```
image-recipe/
├── build-for-hardware.sh # Main build script
├── build-all-hardware.sh # Build all targets
├── alpine-profile/
│ ├── overlay/ # Base system files
│ ├── overlay-start9-pure/ # Start9-specific
│ ├── overlay-hp-prodesk/ # HP-specific
│ ├── overlay-dell-optiplex/ # Dell-specific
│ └── overlay-merged/ # Final merged (auto)
├── scripts/
│ ├── build-backend.sh
│ ├── build-frontend.sh
│ └── install-archipelago.sh
└── results/ # Build output
```
## 🐛 Troubleshooting
### Build Fails
```bash
# Clean everything
rm -rf results/ build/ apks/ aports/
# Rebuild
./build-for-hardware.sh start9-pure iso
```
### Docker Issues (macOS)
```bash
# Start Docker Desktop
open -a Docker
# Wait for Docker to start, then retry
./build-for-hardware.sh start9-pure iso
```
### Out of Disk Space
```bash
# Clean Docker (macOS)
docker system prune -a
# Clean build artifacts
rm -rf build/ results/ apks/
```
## 📖 Full Documentation
For detailed information:
- **Hardware Builds**: `README-HARDWARE-BUILDS.md`
- **OS Images**: `docs/building-os-images.md`
- **Architecture**: `docs/architecture.md`
## 🎯 Common Use Cases
### Build for production Start9 Server Pure
```bash
export ARCHIPELAGO_VERSION="1.0.0"
./build-for-hardware.sh start9-pure iso
```
### Build test images for all hardware
```bash
export ARCHIPELAGO_VERSION="dev"
./build-all-hardware.sh iso
```
### Build for your specific hardware
```bash
# Start9 Server Pure users
./build-for-hardware.sh start9-pure iso
# HP ProDesk users
./build-for-hardware.sh hp-prodesk iso
# Dell OptiPlex users
./build-for-hardware.sh dell-optiplex iso
# Other x86_64 hardware
./build-for-hardware.sh generic iso
```
## ⏱️ Build Times
Approximate build times (first build):
| Hardware | macOS (Docker) | Linux (Native) |
|----------|---------------|----------------|
| Start9 Pure | 45-60 min | 30-45 min |
| HP ProDesk | 45-60 min | 30-45 min |
| Dell OptiPlex | 45-60 min | 30-45 min |
| Generic | 45-60 min | 30-45 min |
| All Targets | 3-4 hours | 2-3 hours |
Subsequent builds are much faster (~10-15 minutes) due to caching.
## 💡 Tips
- **First build is slow**: Docker needs to download Alpine base, build tools, etc.
- **Use SSD**: Dramatically speeds up builds
- **Close apps**: Free up RAM and CPU for faster builds
- **Build overnight**: For all-hardware builds, run overnight
- **Check logs**: Build output shows progress and any issues
## 🚀 Next Steps
After building:
1. Flash ISO to USB drive
2. Boot your hardware from USB
3. Install Archipelago
4. Access UI at http://device-ip:8100
5. Install Bitcoin Core and apps
6. Enjoy your sovereign server!
## 📞 Support
Need help?
- **Issues**: Open GitHub issue
- **Docs**: Check `docs/` folder
- **Community**: Discord (coming soon)
---
**Remember**: Keep your ProDesk and OptiPlex builds! The system supports all hardware targets simultaneously.