Skip to content

Instantly share code, notes, and snippets.

@warmfusion
Created September 5, 2016 21:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save warmfusion/7c0f226be6d5ebd69e9bcf38275910fd to your computer and use it in GitHub Desktop.
Save warmfusion/7c0f226be6d5ebd69e9bcf38275910fd to your computer and use it in GitHub Desktop.
# Build initially using instalinux.com
# and adapted with customisations for a two volume server on
# XenServer to automatically provision a 100% LVM mounted to /var/lib/mysql
####################################################################
# PRESEED - Created Mon Sep 5 12:23:52 2016
####################################################################
# Wiki: http://wiki.debian.org/DebianInstaller/Preseed
# Great work! Thanks for preseed and the d-i installer
####################################################################
# Installation Sources
####################################################################
# Where are we pulling bits from?
# Note: To use your own local repository, this is what you want
# to edit.
#
# It should look like this:
#d-i mirror/http/hostname string (IP Address of your local server)
#d-i mirror/http/directory string (HTTP Path to your Repository - like /natty )
d-i mirror/http/hostname string ftp.uk.debian.org
d-i mirror/http/directory string /debian/
d-i mirror/suite string
# Post install APT setup
d-i apt-setup/uri_type select d-i
d-i apt-setup/hostname string ftp.uk.debian.org
d-i apt-setup/directory string /debian/
d-i apt-setup/another boolean false
d-i apt-setup/security-updates boolean false
d-i finish-install/reboot_in_progress note
d-i prebaseconfig/reboot_in_progress note
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
####################################################################
# Networking
####################################################################
# Network Configuration
d-i netcfg/get_hostname string manager
d-i netcfg/get_domain string localdomain
d-i netcfg/disable_dhcp boolean false
d-i mirror/http/proxy string
d-i netcfg/choose_interface select eth0
d-i netcfg/wireless_wep string
####################################################################
# Disk Partitioning/Boot loader
####################################################################
# 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
# Alternatively, if you want to install to a location other than the mbr,
# uncomment and edit these lines:
#d-i grub-installer/only_debian boolean false
#d-i grub-installer/with_other_os boolean false
#d-i grub-installer/bootdev string (hd0,0)
# To install grub to multiple disks:
#d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0)
# Alternatively, you can specify a disk to partition. The device name must
# be given in traditional non-devfs format.
# For example, to use the first SCSI/SATA hard disk:
# d-i partman-auto/disk string /dev/sda
# Note: If you want to use whatever disk is available, no matter
# what its device name, comment the line above out. This will only work if
# the system only has one disk.
# 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-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)
#d-i partman-auto/choose_recipe \
# select Separate /home partition
#d-i partman-auto/choose_recipe \
# select Separate /home, /usr, /var, and /tmp partitions
# 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 into the preconfiguration file in one
# (logical) line. This example creates a small /boot partition, suitable
# swap, and uses the rest of the space for the root partition
# and adds a second mount point on /var/lib/mysql using a second disk
d-i partman-auto/expert_recipe string \
mysql-box :: \
40 50 100 ext3 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext3 } \
mountpoint{ /boot } \
. \
500 10000 -1 ext3 \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext3 } \
mountpoint{ / } \
64 512 300% linux-swap \
method{ swap } format{ } \
. \
500 1000 -1 ext3 \
$defaultignore{ } \
$primary{ } \
method{ lvm } \
device{ /dev/xvbd } \
vg_name{ mysql_data } \
mountpoint{ /var/lib/mysql } \
.
d-i partman-auto/choose_recipe select mysql-box
# 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
####################################################################
# Localizations
####################################################################
# Install Time
d-i console-tools/archs string skip-config
d-i debian-installer/locale string en_US
d-i console-keymaps-at/keymap select us
d-i languagechooser/language-name-fb select English
d-i debian-installer/locale select en_US.UTF-8
# Timezone
d-i tzconfig/gmt boolean true
d-i tzconfig/choose_country_zone/US select Pacific
d-i tzconfig/choose_country_zone_single boolean true
d-i time/zone select US/Pacific
d-i clock-setup/utc boolean true
d-i kbd-chooser/method select American English
d-i mirror/country string manual
d-i clock-setup/ntp boolean false
# X11 config
xserver-xorg xserver-xorg/autodetect_monitor boolean true
xserver-xorg xserver-xorg/config/monitor/selection-method select medium
xserver-xorg xserver-xorg/config/monitor/mode-list select 1024x768 @ 60 Hz
xserver-xorg xserver-xorg/config/display/modes multiselect 1024x768, 800x600
####################################################################
# User Creation
####################################################################
# Root User (Password: bob)
d-i passwd/root-password-crypted passwd $1$FR.a0nRP$i8dGbWmQdeBo.vVzFMgW90
# Mortal User
d-i passwd/user-fullname string bob
d-i passwd/username string bob
d-i passwd/user-password-crypted passwd $1$/c22q903$JnQeOBw18MWWcyZh85vSZ0
####################################################################
# Software Selections
####################################################################
tasksel tasksel/first multiselect ssh-server standard puppet
####################################################################
# Additional preseed entries (from data/debconf)
####################################################################
exim4-config exim4/no_config boolean true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment