From 21b68833f431ca3569a5cbc41564bef2f2f32761 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 28 Jun 2020 22:45:16 +0200 Subject: another attempt to fix the partman recipe --- .../preseed/templates/partman_early-command.sh.j2 | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 roles/installer/debian/preseed/templates/partman_early-command.sh.j2 (limited to 'roles/installer/debian/preseed/templates/partman_early-command.sh.j2') diff --git a/roles/installer/debian/preseed/templates/partman_early-command.sh.j2 b/roles/installer/debian/preseed/templates/partman_early-command.sh.j2 new file mode 100644 index 00000000..08d3806d --- /dev/null +++ b/roles/installer/debian/preseed/templates/partman_early-command.sh.j2 @@ -0,0 +1,34 @@ +#!/bin/sh + +umount -l /media || true + + +{% if hostvars[install_hostname].install_cooked.disks.primary == "software-raid" %} +raid_disks="$(readlink -f {{ install_cooked.disks.raid.members | join(' ') }} | xargs)" +raid_config="{{ install_cooked.disks.raid.level }} {{ install_cooked.disks.raid.members | length }} 0" + +raid_members_boot="" +raid_members_lvm="" +for disk in $raid_disks; do + [ -n "$raid_members_boot" ] && raid_members_boot="$raid_members_boot#" + [ -n "$raid_members_lvm" ] && raid_members_lvm="$raid_members_lvm#" + if echo "$disk" | grep -Eq "/dev/(s|v)d[a-z]"; then + raid_members_boot="$raid_members_boot$disk"1 + raid_members_lvm="$raid_members_lvm$disk"1 + else + raid_members_boot="$raid_members_boot$disk"p1 + raid_members_lvm="$raid_members_lvm$disk"p1 + fi +done + +debconf-set partman-auto-raid/recipe "$raid_config ext4 /boot $raid_members_boot . $raid_config lvm - $raid_members_lvm ." +debconf-set partman-auto/disk "$raid_disks" +debconf-set grub-installer/bootdev "$raid_disks" +{% else %} +debconf-set partman-auto/disk "$(readlink -f {{ hostvars[install_hostname].install_cooked.disks.primary }})" +debconf-set grub-installer/bootdev "$(readlink -f {{ hostvars[install_hostname].install_cooked.disks.primary }})" +{% endif %} + +## https://unix.stackexchange.com/questions/510445/install-grub-bootloader-dynamically-to-multiple-disks +. /usr/share/debconf/confmodule +db_fset grub-installer/bootdev seen true -- cgit v1.2.3