Example Preseed File
From Kyle's Wiki
Example File
### Package Selection ### # Only install the standard system and language packs. tasksel tasksel/first multiselect d-i preseed/early_command string . /usr/share/debconf/confmodule; db_get debconf/priority; case $RET in low|medium) db_fset tasksel/first seen false ;; esac d-i pkgsel/language-pack-patterns string # No language support packages. d-i pkgsel/install-language-support boolean false # No automated updates of packages. d-i pkgsel/update-policy \ select No automatic updates #pkgsel pkgsel/update-policy \ # select No automatic updates # Ensure that the openssh server is included! d-i pkgsel/include string openssh-server ### Localization ### # Locale sets language and country. d-i debian-installer/locale string en_US.UTF-8 # Keyboard selection. d-i console-keymaps-at/keymap select us ### Network configuration ### # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. d-i netcfg/choose_interface select auto # Any hostname and domain names assigned from dhcp take precedence over # values set here. However, setting the values still prevents the questions # from being shown, even if values come from dhcp. d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-domain # Disable that annoying WEP key dialog. d-i netcfg/wireless_wep string ### Mirror settings ### # If you select ftp, the mirror/country string does not need to be set. d-i mirror/country string enter information manually d-i mirror/http/hostname string fr.archive.ubuntu.com d-i mirror/http/directory string /ubuntu/ d-i mirror/http/proxy string ### Partitioning ### # Alternatively, you can specify a disk to partition. The device name must # be given in traditional non-devfs format. # Note: A disk must be specified, unless the system has only one disk. # For example, to use the first SCSI/SATA hard disk: d-i partman-auto/select_disk string /dev/sda # In addition, you'll need to specify the method to use. # The presently available methods are: "regular", "lvm" and "crypto" d-i partman-auto/method string lvm # If one of the disks that are going to be automatically partitioned # contains an old LVM configuration, the user will normally receive a # warning. This can be preseeded away... d-i partman-lvm/device_remove_lvm boolean true # The same applies to pre-existing software RAID array: d-i partman-md/device_remove_md boolean true # And the same goes for the confirmation to write the lvm partitions. d-i partman-lvm/confirm boolean true # For LVM partitioning, you can select how much of the volume group to use # for logical volumes. d-i partman-auto-lvm/guided_size string max # You can choose one of the three predefined partitioning recipes: # - atomic: all files in one partition # - home: separate /home partition # - multi: separate /home, /usr, /var, and /tmp partitions d-i partman-auto/choose_recipe select multi # If you just want to change the default filesystem from ext3 to something # else, you can do that without providing a full recipe. #d-i partman/default_filesystem string ext4 # This makes partman automatically partition without confirmation, provided # that you told it what to do using one of the methods above. d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true partman-partitioning partman-partitioning/unknown_label boolean true partman-partitioning partman-partitioning/confirm_new_label boolean true partman-partitioning partman-partitioning/confirm_write_new_label boolean true ### Clock and time zone setup ### # Controls whether or not the hardware clock is set to UTC. d-i clock-setup/utc boolean true # You may set this to any valid setting for $TZ; see the contents of # /usr/share/zoneinfo/ for valid values. d-i time/zone string UTC ### Account setup # Skip creation of a root account (normal user account will be able to # use sudo). #d-i passwd/root-login boolean false # Root password, either in clear text d-i passwd/root-password password (kskde-) d-i passwd/root-password-again password (kskde-) # or encrypted using an MD5 hash. #d-i passwd/root-password-crypted password 63cec673aad545ed6f13fc939ca6788b # Enable shadow passwords. user-setup-udeb passwd/shadow boolean true # Allow root login. user-setup-udeb passwd/root-login boolean true # User parameters. d-i passwd/make-user boolean false user-setup-udeb passwd/make-user boolean false user-setup-udeb passwd/user-fullname string user user-setup-udeb passwd/username string user user-setup-udeb passwd/user-password string (kskde-) user-setup-udeb passwd/user-password-again string (kskde-) user-setup-udeb user-setup/encrypt-home boolean false user-setup-udeb user-setup/password-weak boolean false ### Boot loader installation ### # This is fairly safe to set, it makes grub install automatically to the MBR # if no other operating system is detected on the machine. d-i grub-installer/only_debian boolean true # This one makes grub-installer install to the MBR if it also finds some other # OS, which is less safe as it might not be able to boot that other OS. d-i grub-installer/with_other_os boolean true ### Finishing up the first stage install ### # Avoid that last message about the install being complete. d-i finish-install/reboot_in_progress note ### Running custom commands during the installation ### # d-i preseeding is inherently not secure. Nothing in the installer checks # for attempts at buffer overflows or other exploits of the values of a # preconfiguration file like this one. Only use preconfiguration files from # trusted locations! To drive that home, and because it's generally useful, # here's a way to run any shell command you'd like inside the installer, # automatically. # This first command is run as early as possible, just after # preseeding is read. #d-i preseed/early_command string anna-install some-udeb # This command is run just before the install finishes, but when there is # still a usable /target directory. You can chroot to /target and use it # directly, or use the apt-install and in-target commands to easily install # packages and run commands in the target system. #d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
Additional PXE Glue
Put this additional lines in your Pxe default file
LABEL ubuntu KERNEL ubuntu/linux APPEND tasks=standard debian-installer/locale=en_US kbd-chooser/method=us console-setup/layoutcode=us netcfg/choose_interface=auto netcfg/get_hostname= pkgsel/install-language-support=false vga=normal initrd=ubuntu/initrd.gz auto preseed/url=http://thispreseedfile.cfg