# d-i preseed file, version 0.1. Copyright 2004 by Joey Hess. # # Use with care! This will make d-i install Debian without warnings or # confirmation. # # THIS SOFTWARE IS PROVIDED BY AUTHORS AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. In other words, if you destroy your computer with this, it's # your own tough luck. #### Modifying syslinux.cfg. # Edit the syslinux.cfg (or similar) file, and add parameters to the end # of the append line(s) for the kernel. # # You'll at least want to add a parameter telling the installer where to # get its preseed file from. # If you're installing from USB media, use this, and put the preseed file # in the toplevel directory of the USB stick. # preseed/file=/hd-media/preseed # If you're netbooting, use this instead: # preseed/url=http://host/path/to/preseed # If you're remastering a CD, you could use this: # preseed/file=/cdrom/preseed # Be sure to copy this file to the location you specify. # # While you're at it, you may want to throw a debconf/priority=critical in # there, to avoid most questions even if the preseeding below misses some. # And you might set the timeout to 1 in syslinux.cfg to avoid needing to hit # enter to boot the installer. # # Language, country, and keyboard selection cannot be preseeded from a file, # because the questions are asked before the preseed file can be loaded. # Instead, to avoid these questions, pass some more parameters to the kernel: # # languagechooser/language-name=English # countrychooser/country-name-shortlist="United States" # console-keymaps-at/keymap=us # # Be warned that all bootloaders have a size limit on the size of the # kernel command line, which can be exceeded by passing a lot of preseed # values on it. For syslinux, this limit is 256 characters. If you exceed # this, you can try deleting some other bits of the command line. I remove # "vga=normal", and "devfs=mount,dall" and the installer will still boot # ok. We'll probably remove these from the shipped file eventually. #### Shell commands. # 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 # preseed file like this one. Only use preseed 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 wget http://url/to/my.udeb -O /tmp/my.udeb ; udpkg -i /tmp/my.udeb # This command is run just before the install finishes, but when there is # still a usable /target directory. #d-i preseed/late_command string for deb in /hd-media/*.deb; do cp $deb /target/tmp; chroot /target dpkg -i /tmp/$(basename $deb); done # This command is run after base-config is done, just before the login: # prompt. This is a good way to install a set of packages you want, or to # tweak the configuration of the system. #base-config base-config/command string apt-get install zsh; chsh -s /bin/zsh #### Network configuration. # Of course, this won't work if you're loading your preseed file from the # network! But it's great if you're booting from CD or USB stick. You can # also pass network config parameters in on the kernel params if you are # loading preseed files from the network. # Force netcfg to use a specific interface. d-i netcfg/choose_interface select eth0 # If you prefer to configure the network manually, here's how: #d-i netcfg/disable_dhcp boolean true #d-i netcfg/get_nameservers string 192.168.1.1 #d-i netcfg/get_ipaddress string 192.168.1.42 #d-i netcfg/get_netmask string 255.255.255.0 #d-i netcfg/get_gateway string 192.168.1.1 #d-i netcfg/confirm_static boolean true # Note that any hostname and domain names assigned from dhcp take # precidence 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 # The wacky dhcp hostname that some ISPs use as a password of sorts. #d-i netcfg/dhcp_hostname string radish #### Mirror settings. d-i mirror/country string enter information manually d-i mirror/http/hostname string http.us.debian.org d-i mirror/http/directory string /debian d-i mirror/suite string testing #d-i mirror/http/proxy string http://192.168.1.1:3128/ ### Partitioning. # If the system has free space you can choose to only partition that space. #d-i partman-auto/init_automatically_partition select Use the largest continuous free space # 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 devfs knows of: d-i partman-auto/disk string /dev/discs/disc0/disc # You can choose from any of the predefined partitioning recipes: d-i partman-auto/choose_recipe select All files in one partition (recommended for new users) #d-i partman-auto/choose_recipe select Desktop machine #d-i partman-auto/choose_recipe select Multi-user workstation # Or provide a recipe of your own... # The recipe format is documented in the file devel/partman-auto-recipe.txt. # If you have a way to get a recipe file into the d-i environment, you can # just point at it. #d-i partman-auto/expert_recipe_file string /hd-media/recipe # If not, you can put an entire recipe in one line. This example creates # a small /boot partition, suitable swap, and uses the rest of the space # for the root partition: #d-i partman-auto/expert_recipe string boot-root :: 20 50 100 ext3 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext3 } mountpoint{ /boot } . 500 10000 1000000000 ext3 method{ format } format{ } use_filesystem{ } filesystem{ ext3 } mountpoint{ / } . 64 512 300% linux-swap method{ swap } format{ } . # For reference, here is that same recipe in a more readable form: # boot-root :: # 40 50 100 ext3 # $primary{ } $bootable{ } # method{ format } format{ } # use_filesystem{ } filesystem{ ext3 } # mountpoint{ /boot } # . # 500 10000 1000000000 ext3 # method{ format } format{ } # use_filesystem{ } filesystem{ ext3 } # mountpoint{ / } # . # 64 512 300% linux-swap # method{ swap } format{ } # . # This makes partman automatically partition without confirmation. d-i partman/choose_partition select Finish partitioning and write changes to disk d-i partman/confirm boolean true #### 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 if finds some other OS # too, which is less safe as it might not be able to boot that other OS. d-i grub-installer/with_other_os boolean true # Alternatively, if you want to install to a location other than the mbr, # uncomment and edit these lines: #d-i grub-installer/bootdev string (hd0,0) #d-i grub-installer/only-debian boolean false #d-i grub-installer/with_other_os boolean false ##### Finishing up the first stage install. # Avoid that last message about the install being complete. d-i prebaseconfig/reboot_in_progress note ##### Preseeding base-config. # XXX: Note that most of this will not work right until base-config 2.45 is # available. # Avoid the intorductory message. base-config base-config/intro note # Avoid the final message. base-config base-config/login note # If you installed a display manager, but don't want to start it immediately # after base-config finishes. #base-config base-config/start-display-manager boolean false ###### Time zone setup. # Controls whether or not the hardware clock is set to GMT. tzconfig tzconfig/gmt boolean true # If you told the installer that you're in the United States, then you # can set the time zone using this variable. # (Choices are: Eastern, Central, Mountain, Pacific, Alaska, Hawaii, # Aleutian, Arizona East-Indiana, Indiana-Starke, Michigan, Samoa, other) tzconfig tzconfig/choose_country_zone/US select Eastern # If you told it you're in Canada. # (Choices are: Newfoundland, Atlantic, Eastern, Central, # East-Saskatchewan, Saskatchewan, Mountain, Pacific, Yukon, other) tzconfig tzconfig/choose_country_zone/CA select Eastern # If you told it you're in Brazil. (Choices are: East, West, Acre, # DeNoronha, other) tzconfig tzconfig/choose_country_zone/BR select East # Many countries have only one time zone. If you told the installer you're # in one of those countries, you can choose its standard time zone via this # question. tzconfig tzconfig/choose_country_zone_single boolean true # This question is asked as a fallback for countries other than those # listed above, which have more than one time zone. You can preseed one of # the time zones, or "other". #tzconfig tzconfig/choose_country_zone_multiple select ###### Account setup. # To preseed the root password, you have to put it in the clear in this # file. That is not a very good idea, use caution! # (XXX: In fact, this won't work, because passwd clears the settings # before asking for a root password. This may not be fixed before the sarge # release, if it's fixed at all.) #passwd passwd/root-password password r00tme #passwd passwd/root-password-again password r00tme # If you want to skip creation of a normal user account. #passwd passwd/make-user boolean false # Alternatively, you can preseed the user's name. #passwd passwd/user-fullname string Joey Hess #passwd passwd/username string joey # And their password, but use caution! #passwd passwd/user-password password insecure #passwd passwd/user-password-again password insecure ###### Apt setup. # This question controls what source the second stage installation uses # for packages. Choices are cdrom, http, ftp, filesystem, edit sources list # by hand apt-setup apt-setup/uri_type select http # If you choose ftp or http, you'll be asked for a country and a mirror. apt-setup apt-setup/country select enter information manually apt-setup apt-setup/hostname string http.us.debian.org apt-setup apt-setup/directory string /debian # Stop after choosing one mirror. apt-setup apt-setup/another boolean false # You can choose to install non-free and contrib software. #apt-setup apt-setup/non-free boolean true #apt-setup apt-setup/contrib boolean true # Do enable security updates. apt-setup apt-setup/security-updates boolean true ###### Package selection. # You can choose to install any combination of tasks that are available. # Available tasks as of this writing include: Desktop environment, # Web server, Print server, DNS server, File server, Mail server, # SQL database, manual package selection. The last of those will run # aptitude. You can also choose to install no tasks, and force the # installation of a set of packages in some other way. # XXX: this will not work until tasksel 2.12 is available tasksel tasksel/first multiselect Desktop environment #tasksel tasksel/first multiselect Web server, Mail server, DNS server ###### Mailer configuration. # During a normal install, exim asks only two questions. Here's how to # avoid even those. More complicated preseeding is possible. exim4-config exim4/dc_eximconfig_configtype select no configuration at this time # It's a good idea to set this to whatever user account you choose to # create. Leaving the value blank results in postmaster mail going to # /var/mail/mail. exim4-config exim4/dc_postmaster string ###### X Configuration. # TODO # Standard questions asked during a high priority install are: #Select the desired X server driver. #Attempt mouse device autodetection? #Attempt monitor autodetectio?. #Is your monitor a LCD device? #Choose a method for selecting your monitor characteristics. #Enter your monitor's horizontal sync range. #Enter your monitor's vertical refresh range. ###### Everything else. # Depending on what software you choose to install, or if things go wrong # during the installation process, it's possible that other questions may # be asked. You can preseed those too, of course. To get a list of every # possible question that could be asked during an install, do an # installation, and then run these commands: # debconf-get-selections --installer > file # debconf-get-selections >> file