From f6ed18cd183ef3f618f265f14bd476b385aa5ef1 Mon Sep 17 00:00:00 2001 From: Dimitris Karakasilis <dimitris@karakasilis.me> Date: Mon, 27 May 2024 09:29:52 +0300 Subject: [PATCH] Try a simpler version of "udevadm trigger" in case the other options are not supported Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me> --- pkg/lib/lock.go | 6 ++++-- pkg/lib/unlock.go | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/lib/lock.go b/pkg/lib/lock.go index 6bcf578..25e7179 100644 --- a/pkg/lib/lock.go +++ b/pkg/lib/lock.go @@ -58,8 +58,10 @@ func Luksify(label, version string, tpm bool) (string, error) { return "", fmt.Errorf("version must be luks1 or luks2") } - // Make sure ghw will see all partitions correctly - out, err := SH("udevadm trigger --settle -v --type=all") + // Make sure ghw will see all partitions correctly. + // Some versions of udevadm don't support --settle (e.g. alpine) + // and older versions don't have --type=all. Try the simpler version then. + out, err := SH("udevadm trigger --settle -v --type=all || udevadm trigger -v") if err != nil { return "", fmt.Errorf("udevadm trigger failed: %w, out: %s", err, out) } diff --git a/pkg/lib/unlock.go b/pkg/lib/unlock.go index 00fae6c..47609a8 100644 --- a/pkg/lib/unlock.go +++ b/pkg/lib/unlock.go @@ -38,8 +38,10 @@ func UnlockAllWithLogger(tpm bool, logger zerolog.Logger) error { return nil } + // Some versions of udevadm don't support --settle (e.g. alpine) + // and older versions don't have --type=all. Try the simpler version then. logger.Info().Msgf("triggering udev to populate disk info") - _, err = utils.SH("udevadm trigger -v --type=all") + _, err = utils.SH("udevadm trigger --settle -v --type=all || udevadm trigger -v") if err != nil { return err }