Installing Debian can be achieved by using booting your box from the network. This is how I set up my server to allow clients to boot from it.

PXE Configuration

This needs to be added to your /tftproot/pxelinux.cfg/default file. Refer to PXE-Linux-Boot-Server on how to set up a PXE server.

label debianbuster-min-vm
	MENU LABEL ^Debian Autoinstall Buster Minimal VM
	LINUX /debian/buster/debian-installer/amd64/linux
	INITRD /debian/buster/debian-installer/amd64/initrd.gz
	APPEND vga=788 preseed/url=tftp://server/debian/preseed-buster-min-vm.txt debian-installer/locale=en_US debian-installer/country=US debian-installer/language=en debian-installer/allow_unauthenticated_ssl=true keyboard-configuration/xkb-keymap=us netcfg/get_hostname=debian netcfg/get_domain=local.domain --- quiet 
	TEXT HELP
	User:root
	Pass:root
	ENDTEXT

label debianbuster-desktop
	MENU LABEL ^Debian Autoinstall Buster Desktop
	LINUX /debian/buster/debian-installer/amd64/linux
	INITRD /debian/buster/debian-installer/amd64/initrd.gz
	APPEND vga=788 preseed/url=tftp://server/debian/preseed-buster-desktop.txt debian-installer/locale=en_US debian-installer/country=US debian-installer/language=en debian-installer/allow_unauthenticated_ssl=true keyboard-configuration/xkb-keymap=us netcfg/get_hostname=debian netcfg/get_domain=local.domain --- quiet 
	TEXT HELP
	User:root
	Pass:root
	ENDTEXT

TFTP

A directory needs to be created as referenced above with the PXE configuration and the netboot files will also need to be downloaded and extracted into it.

mkdir -p /tftproot/debian/buster
cd /tftproot/debian/buster
wget http://ftp.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar zxf netboot.tar.gz

Preseed

A Debian preseed file allows you to answer the installer prompts automatically. It is very useful for unattended/automatic installs. I have created one for a desktop and one for a minimal virtual Machine. They should be placed in the /tftproot/debian directory and are referenced by the PXE configuration above in the APPEND lines, so make sure they are named appropriately.

References

  1. https://wiki.debian.org/PXEBootInstall
  2. https://wiki.debian.org/DebianInstaller/Preseed
  3. https://www.debian.org/releases/buster/amd64/apb.en.html
  4. https://www.debian.org/releases/buster/example-preseed.txt