Proxmox

Frustrating to use, but far better than most alternatives.

Proxmox Interfaces

# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage part of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

allow-hotplug eth2

auto eth2
iface eth2 inet static
    address  10.x.x.x
    netmask  255.255.255.0
    gateway  10.x.x.1
    broadcast  10.x.x.255
    network 10.x.x.0
    dns-nameservers 10.x.x.x
    dns-search lustfield.net
# dns-* options are implemented by the resolvconf package, if installed

iface eth0 inet manual

iface eth1 inet manual

auto bond0
iface bond0 inet manual
    slaves eth0 eth1
    bond_miimon 100
    bond_mode 802.3ad
    bond_xmit_hash_policy layer3+4

auto vmbr0
iface vmbr0 inet manual
    bridge_ports bond0
    bridge_stp off
    bridge_fd 0
    bridge_vlan_aware yes

Image Creation

Download from http://download.proxmox.com/images/system/

Extract archive into dir, mount stuff, chroot.
echo 'nameserver 10.41.7.1' >/etc/resolv.conf

cat >/etc/apt/sources.list <<EOF
deb http://apt.lustfield.net/debian stretch main contrib
deb http://apt.lustfield.net/debsec stretch/updates main contrib
deb http://apt.lustfield.net/debian stretch-updates main contrib
EOF

cat >/etc/apt/sources.list.d/saltstack.list <<EOF
deb http://apt.lustfield.net/sltstk9 stretch main
EOF

apt-get install dirmngr # apparently required for the following line
apt-key apt-key adv --keyserver keyserver.ubuntu.com --recv 0E08A149DE57BFBE

apt-get update
apt-get upgrade
apt-get install sysvinit-core salt-minion vim
apt-get purge xbase-clients debconf-i18n nano postfix postfix-sqlite reportbug systemd \
    systemd-sysv tasksel-data tasksel telnet traceroute vim-tiny wamerican x11-apps \
    x11-common x11-session-utils x11-utils x11-xkb-utils x11-xserver-utils xauth xinit

apt-get autoremove
apt-get clean

echo '' >/etc/resolv.conf

service salt-minion stop
killall dirmgr
exit
umount d/*

# make sure no files are still being held open
rm root/.bash_history

root@arctic:/home/michael/downloads/d# tar czf ../debian-9-lustfield_amd64.tar.gz *