From 97e5f001eb112e2ab696c08a3dd801aa9902154c Mon Sep 17 00:00:00 2001 From: Tobias Powalowski Date: Thu, 2 Feb 2023 14:03:03 +0100 Subject: [PATCH] autodetect LVM2,cryptsetup and mdadm devices --- etc/archboot/defaults | 2 +- usr/lib/archboot/installer/common.sh | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/etc/archboot/defaults b/etc/archboot/defaults index 75c1434f9..7b34aed61 100644 --- a/etc/archboot/defaults +++ b/etc/archboot/defaults @@ -2,7 +2,7 @@ # Created by Tobias Powalowski # SPDX-License-Identifier: GPL-2.0-only # packages to install (eg. firmware, kernel packages) -_PACKAGES="base linux lvm2 mdadm cryptsetup bash-completion" +_PACKAGES="base linux bash-completion" # grub setup _GRUB_CONFIG="/usr/share/archboot/grub/archboot-main-grub.cfg" _GRUB_BACKGROUND="/usr/share/archboot/grub/archboot-background.png" diff --git a/usr/lib/archboot/installer/common.sh b/usr/lib/archboot/installer/common.sh index 5e7ae4233..e2a7895b5 100644 --- a/usr/lib/archboot/installer/common.sh +++ b/usr/lib/archboot/installer/common.sh @@ -101,13 +101,25 @@ _auto_packages() { if lsblk -rnpo FSTYPE | grep -q vfat; then ! echo "${_PACKAGES}" | grep -qw dosfstools && _PACKAGES="${_PACKAGES} dosfstools" fi - if lsmod | grep -qw wl; then - ! echo "${_PACKAGES}" | grep -qw broadcom-wl && _PACKAGES="${_PACKAGES} broadcom-wl" + # Add packages for complex blockdevices + if lsblk -rnpo FSTYPE | grep -qw 'linux_raid_member'; then + ! echo "${_PACKAGES}" | grep -qw mdadm && _PACKAGES="${_PACKAGES} mdadm" + fi + if lsblk -rnpo FSTYPE | grep -qw 'LVM2_member'; then + ! echo "${_PACKAGES}" | grep -qw lvm2 && _PACKAGES="${_PACKAGES} lvm2" + fi + if lsblk -rnpo FSTYPE | grep -qw 'crypto_LUKS'; then + ! echo "${_PACKAGES}" | grep -qw cryptsetup && _PACKAGES="${_PACKAGES} cryptsetup" fi #shellcheck disable=SC2010 + # Add iwd, if wlan is detected if ls /sys/class/net | grep -q wlan; then ! echo "${_PACKAGES}" | grep -qw iwd && _PACKAGES="${_PACKAGES} iwd" fi + # Add broadcom-wl, if module is detected + if lsmod | grep -qw wl; then + ! echo "${_PACKAGES}" | grep -qw broadcom-wl && _PACKAGES="${_PACKAGES} broadcom-wl" + fi grep -q '^FONT=ter' /etc/vconsole.conf && _PACKAGES="${_PACKAGES} terminus-font" # only add firmware if already used _linux_firmware