# OS install media

This directory is synced to `{{ http_root }}/media/` on each ipxe-agent and
served over HTTP. The default `boot.ipxe` menu expects these layouts; populate
them with real netboot assets (kept out of git — they're large; see below).

## Debian 12 (bookworm) — `media/debian-12/`

    linux          # netboot kernel  (debian-installer/amd64/linux)
    initrd.gz      # netboot initrd  (debian-installer/amd64/initrd.gz)
    preseed.cfg    # unattended-install answers

Fetch the netboot pair from a Debian mirror:

    https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/{linux,initrd.gz}

## Ubuntu 22.04 (jammy) — `media/ubuntu-22.04/`

    vmlinuz        # live-server kernel
    initrd         # live-server initrd
    user-data      # cloud-init autoinstall config (NoCloud)
    meta-data      # (empty file is fine)

## Notes

- These files are intentionally **not** committed (see `.gitignore`). Stage
  them under `files/http/media/...` on the control host before running
  `ipxe-server.yaml`, or fetch them directly onto the node.
- Named iPXE scripts live under `files/http/scripts/` and are committed
  (they're small text); they're served at `/scripts/<name>.ipxe`.
