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 ### Prerequisites
```bash ```bash
# Install build dependencies (requires Debian 13 Trixie or later) # Only requirement: Docker
sudo apt-get install debootstrap qemu-utils kpartx squashfs-tools # Docker handles all build tools and dependencies
docker --version
``` ```
### Generate WireGuard Keys ### Build ISO
```bash ```bash
# Generate client key pair # Build the Football installer ISO
wg genkey | tee client-private.key | wg pubkey > client-public.key ./scripts/build-iso.sh
# 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
``` ```
This creates: This creates:
- `output/football-physical.img` - Raw image for physical hardware - `output/football-installer.iso` - Bootable ISO with embedded preseed configuration
- `output/football-vm.qcow2` - QCOW2 image for virtual machines
### 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 ### Deploy
#### Virtual Machine #### Virtual Machine
```bash The VM from `test-iso.sh` is ready for installation. Installer will:
qemu-system-x86_64 \ - Auto-answer all questions except:
-m 2048 \ - Username creation
-drive file=output/football-vm.qcow2,format=qcow2 - 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 #### Physical System
1. Write raw image to USB or disk: 1. Write ISO to USB or disk:
```bash ```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`) 3. Change default user password (`changeme`)