#### Debian preconfiguration file ### Localization # Preseeding only locale sets language, country and locale. d-i debian-installer/locale string en_AU.utf8 # Keyboard selection. d-i keyboard-configuration/xkb-keymap select us ### Network configuration # Disable network configuration entirely. This is useful for cdrom # installations on non-networked devices where the network questions, # warning and long timeouts are a nuisance. #d-i netcfg/enable boolean false # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. #d-i netcfg/choose_interface select auto # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. #d-i netcfg/dhcp_failed note #d-i netcfg/dhcp_options select Configure network manually # Static network configuration. # # IPv4 example #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/get_nameservers string 192.168.1.1 #d-i netcfg/confirm_static boolean true # # Any hostname and domain names assigned from dhcp take precedence 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 # If you want to force a hostname, regardless of what either the DHCP # server returns or what the reverse DNS entry for the IP is, uncomment # and adjust the following line. #d-i netcfg/hostname string debian # 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 ### Mirror settings # If you select ftp, the mirror/country string does not need to be set. #d-i mirror/protocol string ftp d-i mirror/country string manual d-i mirror/http/hostname string deb.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy seen false # Suite to install. #d-i mirror/suite string testing # Suite to use for loading installer components (optional). #d-i mirror/udeb/suite string testing ### Account setup # Skip creation of a root account (normal user account will be able to # use sudo). d-i passwd/root-login boolean false # Alternatively, to skip creation of a normal user account. #d-i passwd/make-user boolean false # Root password, in clear text #d-i passwd/root-password password debian #d-i passwd/root-password-again password debian # To create a normal user account. #d-i passwd/user-fullname string Debian User #d-i passwd/username string debian d-i passwd/user-fullname string User d-i passwd/username string user # Normal user's password, in clear text #d-i passwd/user-password password password #d-i passwd/user-password-again password password # The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd/user-default-groups string audio cdrom video ### Clock and time zone setup # Controls whether or not the hardware clock is set to UTC. d-i clock-setup/utc boolean false # You may set this to any valid setting for $TZ; see the contents of # /usr/share/zoneinfo/ for valid values. #d-i time/zone string US/Eastern d-i time/zone string Australia/Perth # Controls whether to use NTP to set the clock during the install d-i clock-setup/ntp boolean true # NTP server to use. The default is almost always fine here. #d-i clock-setup/ntp-server string ntp.example.com ### Partitioning ## Partitioning example # If the system has free space you can choose to only partition that space. # This is only honoured if partman-auto/method (below) is not set. #d-i partman-auto/init_automatically_partition select biggest_free # Alternatively, you may specify a disk to partition. If the system has only # one disk the installer will default to using that, but otherwise the device # name must be given in traditional, non-devfs format (so e.g. /dev/sda # and not e.g. /dev/discs/disc0/disc). # For example, to use the first SCSI/SATA hard disk: #d-i partman-auto/disk string /dev/sda # In addition, you'll need to specify the method to use. # The presently available methods are: # - regular: use the usual partition types for your architecture # - lvm: use LVM to partition the disk # - crypto: use LVM within an encrypted partition #d-i partman-auto/method string regular # You can choose one of the three predefined partitioning recipes: # - atomic: all files in one partition # - home: separate /home partition # - multi: separate /home, /var, and /tmp partitions d-i partman-auto/choose_recipe select atomic # This makes partman automatically partition without confirmation, provided # that you told it what to do using one of the methods above. #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 # This makes partman automatically partition without confirmation. #d-i partman-md/confirm boolean true #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 ### Base system installation # Configure APT to not install recommended packages by default. Use of this # option can result in an incomplete system and should only be used by very # experienced users. #d-i base-installer/install-recommends 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 # 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, updates #d-i apt-setup/security_host string security.debian.org ### Package selection #tasksel tasksel/first multiselect standard, web-server, kde-desktop tasksel tasksel/first multiselect standard, ssh-server # Individual additional packages to install #d-i pkgsel/include string openssh-server build-essential d-i pkgsel/include string mc dnsutils ufw unzip libgpm2 # Whether to upgrade packages after debootstrap. # Allowed values: none, safe-upgrade, full-upgrade #d-i pkgsel/upgrade select none # Some versions of the installer can report back on what software you have # installed, and what software you use. The default is not to report back, # but sending reports helps the project determine what software is most # popular and include it on CDs. #popularity-contest popularity-contest/participate boolean false ### Boot loader installation # Grub is the default boot loader (for x86). If you want lilo installed # instead, uncomment this: #d-i grub-installer/skip boolean true # To also skip installing lilo, and install no bootloader, uncomment this # too: #d-i lilo-installer/skip boolean true # 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 # Avoid that last message about the install being complete. d-i finish-install/reboot_in_progress note #### Advanced options ### Running custom commands during the installation # 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 # preconfiguration file like this one. Only use preconfiguration 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 anna-install some-udeb # 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 apt-install zsh; in-target chsh -s /bin/zsh d-i preseed/late_command string \ dmidecode -t system | if grep -q "Product Name: Virtual Machine"; then apt-install hyperv-daemons; fi; \ dmidecode -t system | if grep -q "VMware"; then apt-install open-vm-tools; fi; \ # Bash aliases for user and root: echo \# >> /target/home/user/.bash_aliases; \ echo \# Custom aliases: >> /target/home/user/.bash_aliases; \ echo alias dir=\'ls -la\' >> /target/home/user/.bash_aliases; \ echo alias du=\'du -h\' >> /target/home/user/.bash_aliases; \ echo alias df=\'df -h\' >> /target/home/user/.bash_aliases; \ echo alias free=\'free -h\' >> /target/home/user/.bash_aliases; \ echo alias findstr=\'grep -r --include=\"*\"\' >> /target/home/user/.bash_aliases; \ echo alias treesize=\'du -h --max-depth=1\' >> /target/home/user/.bash_aliases; \ chown 1000:1000 /target/home/user/.bash_aliases; \ chmod o-r /target/home/user/.bash_aliases; \ echo \# >> /target/root/.bashrc; \ echo \# Custom aliases: >> /target/root/.bashrc; \ echo alias dir=\'ls -l\' >> /target/root/.bashrc; \ echo alias du=\'du -h\' >> /target/root/.bashrc; \ echo alias df=\'df -h\' >> /target/root/.bashrc; \ echo alias free=\'free -h\' >> /target/root/.bashrc; \ echo alias findstr=\'grep -r --include=\"*\"\' >> /target/root/.bashrc; \ echo alias treesize=\'du -h --max-depth=1\' >> /target/root/.bashrc; \ cd /target/home/user; \ wget http://deb.debian.org/debian/pool/main/p/pdmenu/pdmenu_1.3.4+b1_amd64.deb; \ # in-target apt install libgpm2; \ in-target dpkg --install /home/user/pdmenu_1.3.4+b1_amd64.deb; \ rm pdmenu_1.3.4+b1_amd64.deb; \ wget https://gitlab.com/majorbob/sys-menu/-/archive/master/sys-menu-master.tar.gz; \ gunzip sys-menu-master.tar.gz; \ tar x -f /target/home/user/sys-menu-master.tar; \ mv sys-menu-master/usr/bin/* /target/usr/bin/; \ mv sys-menu-master/usr/lib/sys-menu /target/usr/lib/; \ mv sys-menu-master/usr/share/doc/sys-menu /target/usr/share/doc; \ rm -rf sys-menu-master; \ rm sys-menu-master.tar; \ mkdir -p .config/mc; \ echo \[Midnight-Commander\] > .config/mc/ini; \ echo drop_menus\=true >> .config/mc/ini; \ echo pause_after_run\=2 >> .config/mc/ini; \ chown -R 1000:1000 .config; \ chmod -R u+rwx .config; \ chmod -R go-rwx .config