# To use this, change values marked with ### below and run HTTP server locally: # python2 -m SimpleHTTPServer # (note: you need to run it in this dir "deploy", it'll share current dir) # Then load installer in some way (e.g. by throwing mini.iso to your iKVM) and # add these kernel arguments: # auto url=http://172.18.67.44:8000/preseed.cfg # Now press enter 5 times (no way to preseed anything before network conf), # select p1p1, enter, enter... # Then you'll see invitation to SSH. You can login using provided ssh_key: # ssh -i ssh_key installer@THATHOST # (if Git failed you, do 'chmod go-rw ssh_key' before to fix permissions) # Language, keymap, clock d-i debian-installer/locale string en_US.UTF-8 d-i clock-setup/utc boolean true d-i time/zone string Europe/Prague d-i console-setup/ask_detect boolean false d-i console-tools/archs select at d-i console-keymaps-at/keymap select us # Network config d-i netcfg/choose_interface select p1p1 d-i netcfg/disable_dhcp boolean true d-i netcfg/get_nameservers string 172.18.80.136 ### CHANGE THIS IP d-i netcfg/get_ipaddress string 172.18.167.143 d-i netcfg/get_netmask string 255.255.255.224 d-i netcfg/get_gateway string 172.18.167.129 d-i netcfg/confirm_static boolean true d-i preseed/run string net_reconfigure.sh ### CHANGE THIS HOSTNAME d-i netcfg/get_hostname string cz5540 d-i netcfg/get_domain string nodomain # Local mirror d-i mirror/country string manual d-i mirror/http/hostname string caches.bud.mirantis.net d-i mirror/http/directory string /ubuntu d-i mirror/http/proxy string d-i apt-setup/security_host string caches.bud.mirantis.net # Partitions (TODO) d-i partman-basicfilesystems/no_swap boolean false # sda can be some weird thing, so we find first not-so-big device d-i partman/early_command string debconf-set partman-auto/disk $( \ ls -d /dev/sd? /sys/block/sd? | logger ;\ for b in /sys/block/sd?; do \ size=$(cat $b/size) ;\ echo $b $size | logger ;\ if [ $size -gt 0 -a $size -lt 1000000000 ]; then \ echo /dev/${b##/sys/block/} | logger ;\ echo /dev/${b##/sys/block/} ;\ break ;\ fi ;\ done \ ) d-i partman-auto/method string regular d-i partman-auto/choose_recipe select myrecipe d-i partman-auto/expert_recipe string myrecipe : \ 512 1 512 ext2 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . \ 10240 10000 2000000000 xfs $primary{ } method{ format } format{ } use_filesystem{ } filesystem{ xfs } mountpoint{ / } . d-i partman-partitioning/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 false # Accounts d-i passwd/root-login boolean false d-i passwd/user-fullname string Dumb Ubuntu User d-i passwd/username string ubuntu d-i passwd/user-password password ubuntuMira1 d-i passwd/user-password-again password ubuntuMira1 d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false # ZFS PPA d-i apt-setup/local0/comment string ZFSonLinux PPA d-i apt-setup/local0/repository string http://ppa.launchpad.net/zfs-native/stable/ubuntu vivid main d-i apt-setup/local0/source boolean true d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x1196BA81F6B0FC61 # Packages tasksel tasksel/first multiselect standard d-i pkgsel/include string openssh-server ubuntu-zfs libvirt-bin qemu-kvm vim git zsh mosh tmux d-i pkgsel/update-policy select No automatic updates # GRUB d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true # Postinstall d-i preseed/late_command string \ in-target apt-get remove -y nano; \ in-target chsh -s /bin/zsh ubuntu; \ echo 'PS1="%B%F{green}%n@%m%k %B%F{blue}%1~ %# %b%f%k"' > /target/home/ubuntu/.zshrc; \ in-target chown ubuntu:ubuntu /home/ubuntu/.zshrc; \