diff --git a/README.md b/README.md index b746c1d..4c1a467 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,34 @@ Variables: * debianunattended_proxystring: http://hostname:port * debianunattended_mirror: ftp.de.debian.org * debianunattended_ntpserver: ntp.domain.tld +* debianunattended_partmanauto_method: regular +* debianunattended_partman-auto_method: raid +* debianunattended_partman_disk1: vda +* debianunattended_partman_disk2: vdb +* debianunattended_partman-auto_disk: /dev/{{ debianunattended_partman_disk1 }} /dev/{{ debianunattended_partman_disk2 }} +* debianunattended_partman-auto_expert_recipe | default('') +* debianunattended_partman-auto-raid_recipe | default('') + +``` +RAID1-Example on 2 disks: +debianunattended_partman_auto_method: raid +debianunattended_raid_disk1: vda +debianunattended_raid_disk2: vdb +debianunattended_partman_auto_disk: /dev/{{ debianunattended_raid_disk1 }} /dev/{{ debianunattended_raid_disk2 }} +debianunattended_partman_auto_expert_recipe: | + d-i partman-auto/expert_recipe string \ + multiraid :: \ + 8192 8192 8192 raid $primary{ } $bootable{ } method{ raid } . \ + 8192 8192 -1 raid method{ raid } . \ + 8192 8192 8192 raid method{ raid } . + +debianunattended_partman_auto_raid_recipe: | + d-i partman-auto-raid/recipe string \ + 1 2 0 ext3 /boot /dev/{{ debianunattended_raid_disk1 }}1#/dev/{{ debianunattended_raid_disk2 }}1 . \ + 1 2 0 ext3 / /dev/{{ debianunattended_raid_disk1 }}5#/dev/{{ debianunattended_raid_disk2 }}5 . \ + 1 2 0 swap - /dev/{{ debianunattended_raid_disk1 }}6#/dev/{{ debianunattended_raid_disk2 }}6 . + +``` #backup-ip-address for environment without dhcp * debianunattended_staticip_ipaddress: 192.168.1.42 * debianunattended_staticip_netmask: 255.255.255.0 @@ -23,4 +51,6 @@ Variables: * debianunattended_staticip_nameservers: 192.168.1.1 * debianunattended_mirror: ftp.de.debian.org -Many Thanks to https://www.librebyte.net/en/systems-deployment/unattended-debian-installation/ \ No newline at end of file +Many Thanks to +* https://www.librebyte.net/en/systems-deployment/unattended-debian-installation +* https://www.bishnet.net/tim/blog/2015/01/29/understanding-partman-autoexpert_recipe \ No newline at end of file diff --git a/templates/preseed.cfg.j2 b/templates/preseed.cfg.j2 index 8015f7e..7d6a2d3 100644 --- a/templates/preseed.cfg.j2 +++ b/templates/preseed.cfg.j2 @@ -171,7 +171,7 @@ d-i clock-setup/ntp-server string {{ debianunattended_ntpserver }} # - 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 +d-i partman-auto/method string {{ debianunattended_partman_auto_method | default('regular') }} # You can define the amount of space that will be used for the LVM volume # group. It can either be a size with its unit (eg. 20 GB), a percentage of @@ -192,8 +192,9 @@ d-i partman-lvm/confirm_nooverwrite boolean true # - atomic: all files in one partition # - home: separate /home partition # - multi: separate /home, /var, and /tmp partitions +{% if debianunattended_partman_auto_expert_recipe is not defined %} d-i partman-auto/choose_recipe select atomic - +{% endif %} # Or provide a recipe of your own... # If you have a way to get a recipe file into the d-i environment, you can # just point at it. @@ -261,8 +262,12 @@ d-i partman/confirm_nooverwrite boolean true # Specify the disks to be partitioned. They will all get the same layout, # so this will only work if the disks are the same size.preseed #d-i partman-auto/disk string /dev/sda /dev/sdb +{% if debianunattended_partman_auto_disk is defined %} +d-i partman-auto/disk string {{ debianunattended_partman_auto_disk }} +{% endif %} # Next you need to specify the physical partitions that will be used. +{{ debianunattended_partman_auto_expert_recipe | default('') }} #d-i partman-auto/expert_recipe string \ # multiraid :: \ # 1000 5000 4000 raid \ @@ -283,6 +288,7 @@ d-i partman/confirm_nooverwrite boolean true # \ # +{{ debianunattended_partman_auto_raid_recipe | default('') }} #d-i partman-auto-raid/recipe string \ # 1 2 0 ext3 / \ # /dev/sda1#/dev/sdb1 \ @@ -304,6 +310,8 @@ 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 +d-i partman/confirm_nochanges boolean true +d-i partman-md/confirm_nooverwrite boolean true ## Controlling how partitions are mounted # The default is to mount by UUID, but you can also choose "traditional" to @@ -400,7 +408,7 @@ d-i grub-installer/with_other_os boolean true # not be determined safely in general, so this needs to be specified: #d-i grub-installer/bootdev string /dev/sda # To install to the primary device (assuming it is not a USB stick): -d-i grub-installer/bootdev string default +d-i grub-installer/bootdev string {{ debianunattended_partman_auto_disk | default('default') }} # Alternatively, if you want to install to a location other than the UEFI # parition/boot record, uncomment and edit these lines: