From 024205238e566d7ddd647b7ab2fb6505e8ec770d Mon Sep 17 00:00:00 2001 From: Igor Opaniuk Date: Tue, 21 May 2024 15:52:45 +0200 Subject: 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 Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- .../initrdscripts/initramfs-framework/init | 23 ++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'meta/recipes-core/initrdscripts/initramfs-framework') diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/init b/meta/recipes-core/initrdscripts/initramfs-framework/init index 567694aff7..e3d8caa0e1 100755 --- a/meta/recipes-core/initrdscripts/initramfs-framework/init +++ b/meta/recipes-core/initrdscripts/initramfs-framework/init @@ -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 - - if [ -n "$bootparam_init_fatal_sh" ]; then - sh - else - while [ "true" ]; do - sleep 3600 - done - fi + echo $1 >/dev/console + echo >/dev/console + + 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 -- cgit v1.2.3-54-g00ecf