dracut_install should return the real return value, so module install function can detect the install failure. Such as below in 99base: dracut_install switch_root || dfatal "Failed to install switch_root" Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> --- dracut-functions.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- dracut.orig/dracut-functions.sh +++ dracut/dracut-functions.sh @@ -563,9 +563,12 @@ if [[ $DRACUT_INSTALL ]]; then } dracut_install() { + local ret #dinfo "initdir=$initdir $DRACUT_INSTALL -l $@" $DRACUT_INSTALL ${initdir+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" - (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || : + ret=$? + (($ret != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || : + return $ret } inst_library() { -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html