From d77e5be17e9fece3a812dc8d571161fe9e46995b Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 31 May 2024 16:11:25 +0200 Subject: [PATCH] dracut: Insert dm_verity kernel module for veritysetup For some reason it stopped being inserted. --- dracut/10verity-generator/module-setup.sh | 5 +++++ dracut/10verity-generator/verity-generator | 3 +++ 2 files changed, 8 insertions(+) diff --git a/dracut/10verity-generator/module-setup.sh b/dracut/10verity-generator/module-setup.sh index adcc3aa..dfa8abe 100755 --- a/dracut/10verity-generator/module-setup.sh +++ b/dracut/10verity-generator/module-setup.sh @@ -18,3 +18,8 @@ install() { inst_simple "$moddir/no-job-timeout.conf" \ "$systemdsystemunitdir/dev-mapper-usr.device.d/no-job-timeout.conf" } + +installkernel() { + # required by cryptsetup, it seems like it stopped being implicitly inserted + instmods -c dm_verity +} diff --git a/dracut/10verity-generator/verity-generator b/dracut/10verity-generator/verity-generator index f350326..338dd60 100755 --- a/dracut/10verity-generator/verity-generator +++ b/dracut/10verity-generator/verity-generator @@ -74,6 +74,9 @@ if [[ -n "${usr}" && -n "${usrhash}" ]]; then [Service] Type=oneshot RemainAfterExit=yes + # Explicitly load dm_verity module - for some reason it stopped being + # loaded earlier in the boot, and cryptsetup needs it. + ExecStart=/bin/modprobe dm_verity # Try to query the filesystem size dynamically but otherwise fall back to the expected value from the image GPT layout ExecStart=/bin/sh -c '/sbin/veritysetup --panic-on-corruption --hash-offset="\$(e2size ${usr} || echo 1065345024)" open "${usr}" usr "${usr}" "${usrhash}"' # If there's a hash mismatch during table initialization,