Initial commit: Packer + QEMU/KVM Windows 11 minimal VM
Fully unattended Windows 11 Pro build using Autounattend.xml, swtpm for TPM 2.0 emulation, and VirtIO drivers. Five PowerShell provisioners strip bloatware, telemetry, unused services, and apply performance tuning for a resource-constrained host. Output is a compressed QCOW2 image. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
39
variables.pkrvars.hcl.example
Normal file
39
variables.pkrvars.hcl.example
Normal file
@@ -0,0 +1,39 @@
|
||||
# Copy this file to variables.pkrvars.hcl and fill in the required values.
|
||||
# Do NOT commit variables.pkrvars.hcl — it contains credentials.
|
||||
|
||||
# ── Required ─────────────────────────────────────────────────────────────────
|
||||
|
||||
# Absolute path to your Windows 11 Pro retail ISO
|
||||
win_iso_path = "/path/to/Win11_23H2_English_x64v2.iso"
|
||||
|
||||
# SHA-256 checksum — generate with: sha256sum /path/to/Win11_*.iso
|
||||
win_iso_checksum = "sha256:REPLACE_WITH_ACTUAL_CHECKSUM"
|
||||
|
||||
# ── Optional overrides (uncomment to change) ──────────────────────────────────
|
||||
|
||||
# Path to VirtIO drivers ISO (downloaded by 'make virtio-iso')
|
||||
# virtio_iso_path = "virtio-win.iso"
|
||||
|
||||
# Output VM name
|
||||
# vm_name = "windows11-lite"
|
||||
|
||||
# Virtual disk size in MB (50 GB minimum recommended for Windows 11 + debloat)
|
||||
# disk_size = 51200
|
||||
|
||||
# RAM in MB assigned to the VM during the Packer build
|
||||
# Increase if the build stalls; this does not affect the final VM's default RAM.
|
||||
# memory = 4096
|
||||
|
||||
# vCPUs during build
|
||||
# cpus = 2
|
||||
|
||||
# Output directory for the finished QCOW2 disk image
|
||||
# output_directory = "output"
|
||||
|
||||
# WinRM password used by Packer to connect during provisioning.
|
||||
# If changed here, update the matching <Value> fields in http/Autounattend.xml.
|
||||
# winrm_password = "Packer1234!"
|
||||
|
||||
# OVMF firmware paths — these are the Fedora 43 defaults
|
||||
# ovmf_code = "/usr/share/edk2/ovmf/OVMF_CODE.fd"
|
||||
# ovmf_vars = "/usr/share/edk2/ovmf/OVMF_VARS.fd"
|
||||
Reference in New Issue
Block a user