Preseed file taken from MAAS "View preseed" UI: # MAAS - Ubuntu Server Installation # * Minimal install # * Cloud-init for bare-metal # * Cloud-init preseed data # Locale d-i debian-installer/locale string en_US.UTF-8 # No splash d-i debian-installer/splash boolean false # Keyboard layout d-i console-setup/ask_detect boolean false d-i console-setup/layoutcode string us d-i console-setup/variantcode string # Network configuration d-i netcfg/get_nameservers string d-i netcfg/get_ipaddress string d-i netcfg/get_netmask string 255.255.255.0 d-i netcfg/get_gateway string d-i netcfg/confirm_static boolean true # Local clock (set to UTC and use ntp) d-i clock-setup/utc boolean true d-i clock-setup/ntp boolean true d-i clock-setup/ntp-server string ntp.ubuntu.com d-i time/zone string Etc/UTC # Partitioning d-i partman/early_command string debconf-set partman-auto/disk `list-devices disk | head -n1` d-i partman-iscsi/mainmenu string finish d-i partman-auto/method string regular d-i partman-lvm/device_remove_lvm boolean true d-i partman-lvm/confirm boolean true d-i partman-md/device_remove_md boolean true d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition select Finish partitioning and write changes to disk d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true d-i partman/default_filesystem string ext4 # Enable this if you want to override to a specific kernel, such as # linux-generic-lts-saucy, but Debian Installer should pick the right one based # on the boot kernel. #d-i base-installer/kernel/image string linux-server # User Setup d-i passwd/root-login boolean false d-i passwd/make-user boolean true d-i passwd/user-fullname string ubuntu d-i passwd/username string ubuntu d-i passwd/user-password-crypted password ! d-i passwd/user-uid string d-i user-setup/allow-password-weak boolean false d-i user-setup/encrypt-home boolean false d-i passwd/user-default-groups string adm cdrom dialout lpadmin plugdev sambashare # APT d-i mirror/country string manual d-i mirror/http/hostname string za.archive.ubuntu.com d-i mirror/http/directory string /ubuntu d-i mirror/http/proxy string http://maas-ip:8000/ # By default the installer requires that repositories be authenticated # using a known gpg key. This setting can be used to disable that # authentication. Warning: Insecure, not recommended. d-i debian-installer/allow_unauthenticated string false # Lang d-i pkgsel/language-packs multiselect en d-i pkgsel/update-policy select none d-i pkgsel/updatedb boolean true # Boot-loader d-i grub-installer/skip boolean false d-i lilo-installer/skip boolean false d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true d-i finish-install/keep-consoles boolean false d-i finish-install/reboot_in_progress note # Eject cdrom d-i cdrom-detect/eject boolean true # Do not halt/poweroff after install d-i debian-installer/exit/halt boolean false d-i debian-installer/exit/poweroff boolean false # maas client packages d-i pkgsel/include string cloud-init openssh-server python-software-properties vim avahi-daemon server^ # maas preseed cloud-init cloud-init/datasources multiselect MAAS cloud-init cloud-init/maas-metadata-url string http://maas-ip/MAAS/metadata/ cloud-init cloud-init/maas-metadata-credentials string oauth_token_key=OAUTH_TOKEN&oauth_token_secret=OAUTH_TOKEN_SECRET&oauth_consumer_key=OAUTH_CONSUMER_TOKEN cloud-init cloud-init/local-cloud-config string {apt_preserve_sources_list: true, manage_etc_hosts: localhost}\n # Post scripts. # Executes late command and disables PXE. d-i preseed/late_command string true && \ in-target sh -c 'f=$1; shift; echo $0 > $f && chmod 0440 $f $*' 'ubuntu ALL=(ALL) NOPASSWD: ALL' /etc/sudoers.d/maas && \ in-target wget --no-proxy "http://maas-ip/MAAS/metadata/latest/by-id/node-NODE-ID/" --post-data "op=netboot_off" -O /dev/null && \ true