I am using a preseed file to perform unattended installations over the network. The preseed file is shown below. d-i debian-installer/locale string en_US d-i console-setup/ask_detect boolean false d-i console-setup/layoutcode string en_US d-i console-setup/variantcode string qwerty 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 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/protocol string http d-i mirror/http/hostname string ftp.hostrino.com d-i mirror/http/directory string /pub/ubuntu/archive d-i mirror/http/proxy string # Suite to install. #d-i mirror/suite string testing # Suite to use for loading installer components (optional). #d-i mirror/udeb/suite string testing d-i mirror/suite string hardy ### Partitioning # If the system has free space you can choose to only partition that space. # Note: this must be preseeded with a localized (translated) value. d-i partman-auto/init_automatically_partition \ select Guided - use entire disk # Alternatively, you can specify a disk to partition. The device name # can be given in either devfs or traditional non-devfs format. # For example, to use the first disk: #d-i partman-auto/disk string /dev/discs/disc0/disc #d-i partman-auto/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 regular # 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-auto/purge_lvm_from_device boolean true # And the same goes for the confirmation to write the lvm partitions. d-i partman-lvm/confirm boolean true # You can choose from any of the predefined partitioning recipes. # Note: this must be preseeded with a localized (translated) value. #d-i partman-auto/choose_recipe \ #select All files in one partition (recommended for new users) #select Separate /home, /usr, /var, and /tmp partitions # This makes partman automatically partition without confirmation. 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 ### Clock and time zone setup # Controls whether or not the hardware clock is set to UTC. d-i clock-setup/utc boolean false # 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 Asia/Macau ### Apt setup # You can choose to install non-free and contrib software. d-i apt-setup/multiverse boolean true d-i apt-setup/universe boolean true # Create root account. d-i passwd/root-login boolean true d-i passwd/root-password password papsn6k+i d-i passwd/root-password-again password papsn6k+i # To create a normal user account. d-i passwd/make-user boolean false #d-i passwd/user-fullname string student #d-i passwd/username string student # Normal user's password, either in clear text #d-i passwd/user-password password student #d-i passwd/user-password-again password student # or encrypted using an MD5 hash. #d-i passwd/user-password-crypted password $1$Ioe/757Y$tSs3qO/vpPOBuVTYN2ARo0 # 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 ### Package selection #tasksel tasksel/first multiselect standard, lamp-server #tasksel tasksel/first multiselect standard, gnome-desktop tasksel tasksel/first multiselect standard # Individual additional packages to install d-i pkgsel/include string console-data,console-tools,openssh-server,wget d-i console-data/keymap/policy select Select keymap from arch list d-i console-data/keymap/family select qwerty d-i console-data/keymap/qwerty/layout select US american ### Finishing up the first stage install # Avoid that last message about the install being complete. d-i finish-install/reboot_in_progress note # Run a command at the end d-i preseed/late_command string wget http://172.18.17.1/preseed/post-install.sh -O /target/tmp/post-install.sh && in-target sh /tmp/post-install.sh