Skip to content

Instantly share code, notes, and snippets.

@csarn
Created January 17, 2017 19:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save csarn/a7b23e27aea0bbeb6e03e915740fe094 to your computer and use it in GitHub Desktop.
Save csarn/a7b23e27aea0bbeb6e03e915740fe094 to your computer and use it in GitHub Desktop.
Debian jessie auto-install file. Put it into your initrd.gz of your tftp server, or use via http.
# Locale / Keymap
d-i debian-installer/locale string en_US.UTF-8
d-i debian-installer/keymap select de-latin1
d-i console-keymaps-at/keymap select de
d-i keyboard-configuration/xkb-keymap select nodeadkeys
d-i languagechooser/language-name-fb select German
d-i countrychooser/country-name select Germany
d-i console-setup/layoutcode string de_DE
# Netzwerk-Konfiguration
d-i netcfg/dhcp_timeout string 30
d-i netcfg/choose_interface select eth0
d-i netcfg/hostname string j1
d-i hw-detect/load_firmware boolean true
# Installationsquelle
d-i mirror/country string manual
# use local apt-cacher-ng instance
d-i mirror/http/hostname string x200s:3142
d-i mirror/http/directory string /ftp.de.debian.org/debian
# without apt-cacher-ng this would be:
#d-i mirror/http/hostname string ftp.de.debian.org
#d-i mirror/http/directory string /debian
d-i mirror/codename string jessie
d-i mirror/suite string jessie
d-i mirror/udeb/suite string jessie
d-i mirror/http/proxy string
d-i mirror/noarch error
# Installer / Apt-Setup
d-i debian-installer/allow_unauthenticated string true
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
# Uhr und Zeitzone
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string 0.pool.ntp.org
d-i time/zone string Europe/Berlin
# Partitionierung / Grub
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-lvm/confirm boolean true
d-i partman/alignment select cylinder
d-i partman/confirm boolean true
d-i partman-basicfilesystems/no_swap boolean false
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm_nooverwrite boolean true
d-i grub-installer/only_debian boolean true
d-i grub-installer/bootdev string /dev/sda
d-i partman-auto/choose_recipe select condpart
# Boot/Root-Partition, Zahlen in MB
d-i partman-auto/expert_recipe string \
condpart :: \
500 500 500 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
2000 3000 8000000 btrfs \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ btrfs } \
mountpoint{ / } \
.
# Root User anlegen
d-i passwd/root-login boolean true
### create a password with `printf "r00tme" | mkpasswd -s -m sha-512`
d-i passwd/root-password-crypted password $6$COG5zG5hbNHb$AL/eevQDbVuvyzb7oHKHW654rTgzJHqh6Hg1ktxv4bG8Pjnnb0ILXUa3u1RbN45wSnBUb/jXjYGgRF9u64yTR/
# User anlegen
d-i passwd/user-fullname string Christoph Sarnowski
d-i passwd/username string csar
# User-Passwort
d-i passwd/user-password-crypted password $6$COG5zG5hbNHb$AL/eevQDbVuvyzb7oHKHW654rTgzJHqh6Hg1ktxv4bG8Pjnnb0ILXUa3u1RbN45wSnBUb/jXjYGgRF9u64yTR/
# Software Selections
tasksel tasksel/first multiselect ssh-server standard kde-desktop
tasksel tasksel/desktop multiselect kde
d-i pkgsel/include string \
ssh vim ethtool sysstat ntp ntpdate git etckeeper build-essential zsh emacs tmux sudo
# Mail-Konfiguration
exim4-config exim4/no_config boolean true
exim4-config exim4/exim3_upgrade boolean true
# SSH-Server
ssh ssh/new_config boolean true
ssh ssh/use_old_init_script boolean true
ssh ssh/protocol2_only boolean true
ssh ssh/run_sshd boolean true
ssh ssh/SUID_client boolean true
ssh ssh/disable_cr_auth boolean false
# Pop-Contest
popularity-contest popularity-contest/participate boolean false
### Apt setup
# You can choose to install non-free and contrib software.
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string security.debian.org
# post install script
# https doesnt work here! use http or ftp
# using local webserver serving the post-install script
d-i preseed/late_command string \
cd /target; \
wget http://x200s/post-install.sh; \
chmod +x ./post-install.sh; \
chroot ./ ./post-install.sh; \
rm -f ./post-install.sh; \
cp /var/log/syslog /target/root/install-syslog;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment