Skip to content

Instantly share code, notes, and snippets.

@bryceml
Last active February 25, 2019 22:01
Show Gist options
  • Save bryceml/8482e25acf8f189d13b7bc617d090ca1 to your computer and use it in GitHub Desktop.
Save bryceml/8482e25acf8f189d13b7bc617d090ca1 to your computer and use it in GitHub Desktop.
Lubuntu Preseed for Linux Club Project
# Mostly based on the Ubuntu installation guide
# https://help.ubuntu.com/12.04/installation-guide/
d-i debconf/priority string critical
# Preseeding only locale sets language, country and locale.
d-i debian-installer/language string en
d-i debian-installer/country string US
d-i debian-installer/locale string en_US.UTF-8
# Keyboard selection.
# Disable automatic (interactive) keymap detection.
d-i console-setup/ask_detect boolean false
#d-i keyboard-configuration/layoutcode string us
#d-i keyboard-configuration/variantcode string
#d-i console-keymaps-at/keymap select us
d-i keyboard-configuration/xkb-keymap select us
d-i keyboard-configuration/layoutcode select us
d-i hw-detect/load_firmware boolean true
# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
#set $myhostname = $getVar('hostname',$getVar('name','cobbler')).replace("_","-")
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string lubuntu
# If non-free firmware is needed for the network or other hardware, you can
# configure the installer to always try to load it, without prompting. Or
# change to false to disable asking.
# d-i hw-detect/load_firmware boolean true
# NTP/Time Setup
d-i time/zone string US/Mountain
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string ntp.ubuntu.com
# Setup the installation source/ mirror settings
d-i mirror/country string manual
#d-i mirror/http/hostname string $http_server
d-i mirror/http/hostname string segfault.duckdns.org
#d-i mirror/http/directory string $SOMETHINGdirectory
d-i mirror/http/directory string /ubuntu
d-i mirror/http/proxy string
#set $os_v = $getVar('os_version','')
#if $os_v and $os_v.lower()[0] > 'p'
# Required at least for 12.10+
#d-i live-installer/net-image string http://$http_server/cobbler/links/$distro_name/install/filesystem.squashfs
#end if
# Suite to install.
d-i mirror/suite string xenial
d-i mirror/udeb/suite string xenial
# Components to use for loading installer components (optional).
d-i mirror/udeb/components multiselect main, restricted
# Disk Partitioning
# Use LVM, and wipe out anything that already exists
#d-i partman/choose_partition select finish
#d-i partman/confirm boolean true
#d-i partman/confirm_nooverwrite boolean true
#d-i partman-auto/method string lvm
#d-i partman-lvm/device_remove_lvm boolean true
#d-i partman-lvm/confirm boolean true
#d-i partman-lvm/confirm_nooverwrite boolean true
#d-i partman-md/device_remove_md boolean true
#d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/choose_recipe select atomic
d-i partman/default_filesystem string ext4
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 true
# You can choose one of the three predefined partitioning recipes:
# - atomic: all files in one partition
# - home: separate /home partition
# - multi: separate /home, /usr, /var, and /tmp partitions
#d-i partman-auto/choose_recipe select atomic
#d-i partman-auto/expert_recipe string \
# boot-root :: \
# 800 50 800 ext4 \
# $primary{ } $bootable{ } \
# method{ format } format{ } \
# use_filesystem{ } filesystem{ ext4 } \
# mountpoint{ /boot } \
# . \
# 112640 10000 1000000000 ext4 \
# $lvmok{ } \
# method{ format } format{ } \
# use_filesystem{ } filesystem{ ext4 } \
# mountpoint{ / } \
# . \
# 8192 512 8192 linux-swap \
# $lvmok{ } method{ swap } format{ } \
# .
# If you just want to change the default filesystem from ext3 to something
# else, you can do that without providing a full recipe.
#d-i partman/default_filesystem string ext4
# root account and password
d-i passwd/root-login boolean false
#d-i passwd/root-password-crypted password $default_password_crypted
# skip creation of a normal user account.
d-i passwd/make-user boolean true
d-i passwd/user-fullname string user
d-i passwd/username string user
#Password is password
d-i passwd/user-password-crypted password $6$erlT1lftPN$PCsjvJ4aUZ6zORmXZVXyL/l2/sGOuUGVsCtUb5h5czP9BaBGOu5eOsc.lDKrJyHu/I7Ok24xgwbGb6Tnk5VCj/
d-i user-setup/encrypt-home boolean false
# You can choose to install restricted and universe software, or to install
# software from the backports repository.
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
#d-i apt-setup/backports boolean true
# Uncomment this if you don't want to use a network mirror.
# d-i apt-setup/use_mirror boolean false
# Select which update services to use; define the mirrors to be used.
# Values shown below are the normal defaults.
# d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string security.ubuntu.com
d-i apt-setup/security_path string /ubuntu
# Enable deb-src lines
# d-i apt-setup/local0/source boolean true
# URL to the public key of the local repository; you must provide a key or
# apt will complain about the unauthenticated repository and so the
# sources.list line will be left commented out
# d-i apt-setup/local0/key string http://local.server/key
# By default the installer requires that repositories be authenticated
# using a known gpg key. This setting can be used to disable that
# authentication. Warning: Insecure, not recommended.
# d-i debian-installer/allow_unauthenticated boolean true
# wget is REQUIRED otherwise quite a few things won't work
# later in the build (like late-command scripts)
d-i tasksel/first multiselect none
d-i pkgsel/update-policy select none
d-i pkgsel/include string vim lubuntu-desktop firefox apache2 php python python3 firefox pinta nodejs vim-gtk3 emacs ruby eclipse thunderbird abiword gnumeric
d-i pkgsel/language-packs multiselect en
d-i pkgsel/upgrade select full-upgrade
d-i pkgsel/install-language-support boolean false
# Use the following option to add additional boot parameters for the
# installed system (if supported by the bootloader installer).
# Note: options passed to the installer will be added automatically.
#d-i debian-installer/add-kernel-opts string $kernel_options_post
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i grub-installer/bootdev string /dev/sda
# Avoid that last message about the install being complete.
d-i finish-install/reboot_in_progress note
d-i cdrom-detect/eject boolean true
d-i debian-installer/exit/poweroff boolean true
## Figure out if we're kickstarting a system or a profile
#if $getVar('system_name','') != ''
#set $what = "system"
#else
#set $what = "profile"
#end if
# This first command is run as early as possible, just after preseeding is read.
# d-i preseed/early_command string [command]
#d-i preseed/early_command string wget -O- \
# http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_early_default | \
# /bin/sh -s
# This command is run immediately before the partitioner starts. It may be
# useful to apply dynamic partitioner preseeding that depends on the state
# of the disks (which may not be visible when preseed/early_command runs).
# d-i partman/early_command \
# string debconf-set partman-auto/disk "\$(list-devices disk | head -n1)"
# This command is run just before the install finishes, but when there is
# still a usable /target directory. You can chroot to /target and use it
# directly, or use the apt-install and in-target commands to easily install
# packages and run commands in the target system.
# d-i preseed/late_command string [command]
# d-i preseed/late_command string wget -O- \
# http://$http_server/cblr/svc/op/script/$what/$name/?script=test | \
# chroot /target /bin/sh -s
d-i preseed/early_command string umount /media || true
d-i preseed/late_command string cp /cdrom/setup.sh /target/root/setup.sh; mkdir -p /target/home/user/.config/dconf; cp /cdrom/user /target/home/user/.config/dconf/user; cp /cdrom/atom-i386.deb /target/root/atom-i386.deb; mkdir -p /target/home/user/.config/pcmanfm/lubuntu; cp /cdrom/desktop-items-0.conf /target/home/user/.config/pcmanfm/lubuntu/desktop-items-0.conf; mkdir /target/home/user/Pictures; cp /cdrom/cropped-linux_club_logo-011.jpg /target/home/user/Pictures/background.jpg; cp /cdrom/lightdm.conf /target/etc/lightdm/lightdm.conf; chroot /target chmod +x /root/setup.sh; chroot /target bash /root/setup.sh; chroot /target rm /root/setup.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment