#!/bin/sh # # Build a disk image suitable for use as a Proxmox template in the CCCHH clusters. # Needs apt install libguestfs-tools # VMID=9023 STORAGE=local-zfs OS=debian-12 NAME=chaos-${OS}-tmpl BRIDGE=vmbr0,tag=208 set -e virt-builder ${OS} -o ${NAME}.qcow2 --format qcow2 \ --root-password disabled \ --update \ --run-command 'apt dist-upgrade -y' \ --install cloud-init,qemu-guest-agent \ --run-command 'systemctl enable qemu-guest-agent' \ --run-command 'systemctl enable fstrim.timer' \ --edit '/etc/default/grub:s,GRUB_CMDLINE_LINUX="",GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0",' \ --edit '/etc/default/grub:s,GRUB_TIMEOUT=.*,GRUB_TIMEOUT=1,' \ --run-command 'update-grub' \ --edit '/etc/ssh/sshd_config:s,#?Port.*,Port 42666,' \ qm destroy ${VMID} || true qm create ${VMID} --name ${NAME} --memory 1024 --net0 virtio,bridge=${BRIDGE} qm importdisk ${VMID} ${NAME}.qcow2 ${STORAGE} qm set ${VMID} --scsihw virtio-scsi-pci --scsi0 ${STORAGE}:vm-${VMID}-disk-0,ssd=1,discard=on qm set ${VMID} --ide2 ${STORAGE}:cloudinit qm set ${VMID} --boot c --bootdisk scsi0 qm set ${VMID} --serial0 socket --vga serial0 qm set ${VMID} --agent 1,fstrim_cloned_disks=1 qm set ${VMID} --ciuser chaos qm set ${VMID} --sshkeys ./authorized_keys qm set ${VMID} --ipconfig0 ip=dhcp qm cloudinit update ${VMID} qm template ${VMID} rm -f ${NAME}.qcow2