Skip to content

Layer 1: Debian Preseed

How to install Debian with the preseed file

Section titled “How to install Debian with the preseed file”
  1. Download a Debian netinst ISO.
  2. Load it onto a USB. Use Ventoy, Rufus, or balenaEtcher.
  3. Configure BIOS settings to UEFI mode (not LEGACY) and Secure Boot ON.
  4. Boot into the USB. Prefer not to change the boot order, instead do a one-time boot.
  5. Once the Debian installer boots, select “Advanced options …” then “Graphical automated install” (NOTE: if the graphical installer doesn’t boot, try the regular ”… Automated install” option).
  6. Under “Location of initial preconfiguration file”, type a URL or local IP of a webserver serving the preseed.cfg file. 6a. If this repository is public, use: https://github.com/roib20/homelab-as-code/tree/main/debian 6b. Alternatively, open a terminal in the “debian” directory and run a temporary webserver on a local IP: python3 -m http.server 80
  7. Continue with the installation. Choose a password for the default user (for security reasons, a password is not included in the public preseed.cfg file).
  8. Assuming the preseed file is correct and the correct drive exists on the system, the rest of the installation should continue automatically with no further input needed.
  9. Once the installation completes successfully, Debian will automatically reboot. If the UEFI boot order is correct, the new Debian installation will automatically boot.
  10. Log in to the system from its DHCP IP using your SSH keys.