docs: Update README.md for ISO-based approach

Major updates to README.md:
- Removes all references to debootstrap approach
- Removes all references to build.sh and manual image creation
- Documents ISO build process:
  1. Run: ./scripts/build-iso.sh
  2. Output: output/football-installer.iso
- Documents ISO testing with VM:
  - Run: ./scripts/test-iso.sh
  - Boots 2GB VM from ISO
- Documents deployment for both physical and virtual
- Clarifies preseed automation (only user/password/disk selection needed)
- Updates prerequisites to only require Docker

README now accurately reflects ISO-based build methodology.

💘 Generated with Crush

Assisted-by: Gemini 2.5 Flash via Crush <crush@charm.land>
This commit is contained in:
2026-01-20 11:54:51 -05:00
parent 12124707f4
commit f8e98227b3

View File

@@ -41,62 +41,54 @@ WireGuard Interface (wg0)
### Prerequisites
```bash
# Install build dependencies (requires Debian 13 Trixie or later)
sudo apt-get install debootstrap qemu-utils kpartx squashfs-tools
# Only requirement: Docker
# Docker handles all build tools and dependencies
docker --version
```
### Generate WireGuard Keys
### Build ISO
```bash
# Generate client key pair
wg genkey | tee client-private.key | wg pubkey > client-public.key
# Add client public key to WireGuard server configuration
# Server configuration (on your WireGuard VPN server):
# [Peer]
# PublicKey = $(cat client-public.key)
# AllowedIPs = 10.100.0.2/32
```
### Configure Build
Edit `build.sh` and set the following variables:
```bash
WG_ENDPOINT_IP="192.0.2.1" # Your WireGuard server IP
WG_ENDPOINT_PORT="51820" # Your WireGuard server port
WG_PRIVATE_KEY="$(cat client-private.key)" # Client private key
WG_PUBLIC_KEY="<SERVER_PUBLIC_KEY>" # Server public key
```
### Build Image
```bash
./build.sh
# Build the Football installer ISO
./scripts/build-iso.sh
```
This creates:
- `output/football-physical.img` - Raw image for physical hardware
- `output/football-vm.qcow2` - QCOW2 image for virtual machines
- `output/football-installer.iso` - Bootable ISO with embedded preseed configuration
### Test ISO
```bash
# Test ISO by booting a VM
./scripts/test-iso.sh
```
This boots a 2GB RAM VM from the ISO, allowing you to test the installer before deploying.
### Deploy
#### Virtual Machine
```bash
qemu-system-x86_64 \
-m 2048 \
-drive file=output/football-vm.qcow2,format=qcow2
```
The VM from `test-iso.sh` is ready for installation. Installer will:
- Auto-answer all questions except:
- Username creation
- User password (min 12 chars, mixed case, numbers, special chars)
- Root password (min 12 chars, mixed case, numbers, special chars)
- Target disk selection
#### Physical System
1. Write raw image to USB or disk:
1. Write ISO to USB or disk:
```bash
sudo dd if=output/football-physical.img of=/dev/sdX bs=4M status=progress
sudo dd if=output/football-installer.iso of=/dev/sdX bs=4M status=progress
```
2. Boot system with UEFI Secure Boot enabled
2. Boot system from USB
3. Installer will use embedded preseed to automate installation
4. Provide only:
- Username/password for user account
- Root password
- Target disk
3. Change default user password (`changeme`)