From f8e98227b39326bb39f555e4bd8c7c99e76d6ff9 Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Tue, 20 Jan 2026 11:54:51 -0500 Subject: [PATCH] docs: Update README.md for ISO-based approach MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- README.md | 68 ++++++++++++++++++++++++------------------------------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 0369b46..c4a9e4d 100644 --- a/README.md +++ b/README.md @@ -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 -``` - -### 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`)