File 0169-Enabled-Warning-for-failed-kernel-modules-per-defaul.patch of Package dracut.376
From dbcb0516d9c3270138849f444f40237d1b14797e Mon Sep 17 00:00:00 2001
From: Julian Wolf <juwolf@suse.de>
Date: Fri, 24 Oct 2014 17:07:07 +0200
Subject: Enable warning for failed kernel moduiles
Enabled Warning for failed kernel modules per default
and added summary of those to the end of dracut output
References: bnc#886839
Signed-off-by: Julian Wolf <juwolf@suse.de>
---
dracut-functions.sh | 11 +++++------
dracut.sh | 9 +++++++++
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 7d81f65..6a58957 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1642,14 +1642,10 @@ instmods() {
[[ $no_kernel = yes ]] && return
# called [sub]functions inherit _fderr
local _fderr=9
- local _check=no
+ local _check=yes
local _silent=no
- if [[ $1 = '-c' ]]; then
- _check=yes
- shift
- fi
-
if [[ $1 = '-s' ]]; then
+ _check=no
_silent=yes
shift
fi
@@ -1669,6 +1665,7 @@ instmods() {
# Check for aliased modules
_modalias=$(modinfo -k $kernel -F filename $_mod 2> /dev/null)
_modalias=${_modalias%.ko}
+ [[ -z "$_modalias" ]] && return 1
if [ "${_modalias##*/}" != "$_mod" ] ; then
_mod=${_modalias##*/}
fi
@@ -1726,6 +1723,7 @@ instmods() {
if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then
dfatal "Failed to install module $_mod"
fi
+ echo $_mod >> /tmp/dracut_failed_drivers
}
done
fi
@@ -1734,6 +1732,7 @@ instmods() {
if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then
dfatal "Failed to install module $1"
fi
+ echo $1 >> /tmp/dracut_failed_drivers
}
shift
done
diff --git a/dracut.sh b/dracut.sh
index eab56f5..056011c 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -402,6 +402,8 @@ verbosity_mod_l=0
unset kernel
unset outfile
+> /tmp/dracut_failed_drivers
+
rearrange_params "$@"
eval set -- "$TEMP"
@@ -1590,6 +1592,13 @@ if ! ( umask 077; cd "$initdir"; find . -print0 | cpio --null $cpio_owner_root -
fi
dinfo "*** Creating image file done ***"
+if [[ -s /tmp/dracut_failed_drivers ]]; then
+ dwarn "Some kernel modules could not be included: "
+ while read line; do
+ dwarn "$line"
+ done < /tmp/dracut_failed_drivers
+fi
+
if (( maxloglvl >= 5 )); then
if [[ $allowlocal ]]; then
"$dracutbasedir/lsinitrd.sh" "$outfile"| ddebug
--
1.8.4.5