initfs: update: Don't exec sh or sulogin on error just exit 1
When update was written it was exec'd from the shutdown script
and hence took over pid 1. Since exiting in that environment was
a panic situation, the script instead started a rescue shell with
its output presumably on the console.
The calling convention was updated to be a simple invocation in
commit dbacf104885c ("obmc-initfs: run update as a sub-script")
but the error handling was not updated. That error handling is
now becoming a hindrance to use from additional environments so
change it.
Signed-off-by: Milton Miller <miltonm@us.ibm.com>
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh
index aa8fd89..f8e551c 100755
--- a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh
@@ -2,9 +2,6 @@
echo update: "$@"
-export PS1=update-sh#\
-# exec /bin/sh
-
cd /
if ! test -r /proc/mounts || ! test -f /proc/mounts
then
@@ -21,12 +18,12 @@
mkdir -p /dev
mount -t devtmpfs dev dev
fi
-while grep mtd /proc/mounts
-do
+
+if grep mtd /proc/mounts
+then
echo 1>&2 "Error: A mtd device is mounted."
- sulogin
- # exec /bin/sh
-done
+ exit 1
+fi
findmtd() {
m=$(grep -xl "$1" /sys/class/mtd/*/name)
@@ -130,7 +127,7 @@
if test -z "$m"
then
echo 1>&2 "Unable to find mtd partiton for ${f##*/}."
- exec /bin/sh
+ exit 1
fi
done
@@ -173,11 +170,3 @@
fi
exit
-
-# NOT REACHED without edit
-# NOT REACHED without edit
-
-echo "Flash completed. Inspect, cleanup and reboot -f to continue."
-
-export PS1=update-sh#\
-exec /bin/sh