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:
68
README.md
68
README.md
@@ -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`)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user