aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKairui Song <kasong@redhat.com>2021-08-09 18:23:43 +0800
committerJóhann B. Guðmundsson <johannbg@gmail.com>2021-08-09 17:08:52 +0000
commit5ab18dee996f0eeb2b0bfe354570e1b1af46d025 (patch)
tree39085240874c177a404072c8cf866e67d50db98e
parent07977ee5c5294a5d30c1f33f292a0b31303750fb (diff)
downloaddracut-5ab18dee996f0eeb2b0bfe354570e1b1af46d025.tar.gz
fix(squash): apply FIPS and libpthread workaround
There are some workarounds in dracut.sh for FIPS/libpthread covering some hidden lib dependency issues. These workarounds didn't take effect for the squash loader since the squash loader is installed independently. So apply these workarounds again. Also skip the lib detection code, since these extra installed libs are small, and squash loader contents are dropped after switch root, won't be an issue to be always installed. And this makes the code cleaner. Signed-off-by: Kairui Song <kasong@redhat.com>
-rw-r--r--modules.d/99squash/module-setup.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh
index e14c4fe2..c42eb679 100644
--- a/modules.d/99squash/module-setup.sh
+++ b/modules.d/99squash/module-setup.sh
@@ -52,6 +52,12 @@ installpost() {
done
else
DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root grep umount
+
+ # libpthread workaround: pthread_cancel wants to dlopen libgcc_s.so
+ inst_libdir_file -o "libgcc_s.so*"
+
+ # FIPS workaround for Fedora/RHEL: libcrypto needs libssl when FIPS is enabled
+ [[ $DRACUT_FIPS_MODE ]] && inst_libdir_file -o "libssl.so*"
fi
hostonly="" instmods "loop" "squashfs" "overlay"