initramfs-framework: support force reboot if fatal error occurs

Add support for force reboot in the case of fatal error. In some cases
it's better to force reboot (especially when hw watchdog is not
engaged) instead of waiting for 3600 seconds, for example in order to
trigger some recovery procedure during next boot procedure
(after unsuccessful OTA update etc).

ALso fix indendation issues in the fatal() function implementation.

(From OE-Core rev: 6990855e91f2d5891e95995f3f4a1c3b5891c619)

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Igor Opaniuk
2024-05-21 15:52:45 +02:00
committed by Richard Purdie
parent 40d1877faf
commit 024205238e

View File

@@ -54,17 +54,20 @@ debug() {
}
# Prints a message and start a endless loop
# Force reboot if init_fatal_reboot bootparam is set
fatal() {
echo $1 >/dev/console
echo >/dev/console
echo $1 >/dev/console
echo >/dev/console
if [ -n "$bootparam_init_fatal_sh" ]; then
sh
else
while [ "true" ]; do
sleep 3600
done
fi
if [ -n "$bootparam_init_fatal_reboot" ]; then
reboot -f
elif [ -n "$bootparam_init_fatal_sh" ]; then
sh
else
while [ "true" ]; do
sleep 3600
done
fi
}
# Variables shared amoung modules