Try a simpler version of "udevadm trigger"

in case the other options are not supported

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
This commit is contained in:
Dimitris Karakasilis 2024-05-27 09:29:52 +03:00
parent df7ccef01b
commit 3655d3d81e
No known key found for this signature in database
GPG Key ID: 286DCAFD2C97DDE3
2 changed files with 7 additions and 3 deletions

View File

@ -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)
}

View File

@ -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
}