From: Kairui Song Date: Mon, 9 Aug 2021 10:23:43 +0000 (+0800) Subject: fix(squash): apply FIPS and libpthread workaround X-Git-Tag: 056~119 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5ab18dee996f0eeb2b0bfe354570e1b1af46d025;p=thirdparty%2Fdracut.git 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 --- diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh index e14c4fe20..c42eb679d 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"