Add disabling HW watchdog during boot for fast-reboot and warm-reboot (#4927)
* Add disabling HW watchdog during boot for fast-reboot and warm-reboot case * typo
This commit is contained in:
parent
517592afb8
commit
ff6cb6c402
@ -211,6 +211,11 @@ sudo LANG=C cp $IMAGE_CONFIGS/warmboot-finalizer/finalize-warmboot.sh $FILESYSTE
|
||||
sudo LANG=C cp $IMAGE_CONFIGS/warmboot-finalizer/warmboot-finalizer.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
|
||||
echo "warmboot-finalizer.service" | sudo tee -a $GENERATED_SERVICE_FILE
|
||||
|
||||
# Copy watchdog-control files
|
||||
sudo LANG=C cp $IMAGE_CONFIGS/watchdog-control/watchdog-control.sh $FILESYSTEM_ROOT/usr/local/bin/watchdog-control.sh
|
||||
sudo LANG=C cp $IMAGE_CONFIGS/watchdog-control/watchdog-control.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
|
||||
echo "watchdog-control.service" | sudo tee -a $GENERATED_SERVICE_FILE
|
||||
|
||||
# Copy rsyslog configuration files and templates
|
||||
sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog-config.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
|
||||
sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog-config.sh $FILESYSTEM_ROOT/usr/bin/
|
||||
|
10
files/image_config/watchdog-control/watchdog-control.service
Normal file
10
files/image_config/watchdog-control/watchdog-control.service
Normal file
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=watchdog control service
|
||||
After=swss.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/watchdog-control.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
44
files/image_config/watchdog-control/watchdog-control.sh
Executable file
44
files/image_config/watchdog-control/watchdog-control.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#! /bin/bash
|
||||
|
||||
VERBOSE=no
|
||||
WATCHDOG_UTIL="/usr/bin/watchdogutil"
|
||||
|
||||
function debug()
|
||||
{
|
||||
/usr/bin/logger "$0 : $1"
|
||||
if [[ x"${VERBOSE}" == x"yes" ]]; then
|
||||
echo "$(date) $0: $1"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
function getBootType()
|
||||
{
|
||||
# same code snippet in files/scripts/syncd.sh
|
||||
case "$(cat /proc/cmdline)" in
|
||||
*SONIC_BOOT_TYPE=warm*)
|
||||
TYPE='warm'
|
||||
;;
|
||||
*SONIC_BOOT_TYPE=fastfast*)
|
||||
TYPE='fastfast'
|
||||
;;
|
||||
*SONIC_BOOT_TYPE=fast*|*fast-reboot*)
|
||||
TYPE='fast'
|
||||
;;
|
||||
*)
|
||||
TYPE='cold'
|
||||
esac
|
||||
echo "${TYPE}"
|
||||
}
|
||||
|
||||
function disable_watchdog()
|
||||
{
|
||||
# Obtain boot type from kernel arguments
|
||||
BOOT_TYPE=`getBootType`
|
||||
if [[ -x ${WATCHDOG_UTIL} ]]; then
|
||||
debug "Disabling Watchdog during bootup after $BOOT_TYPE"
|
||||
${WATCHDOG_UTIL} disarm
|
||||
fi
|
||||
}
|
||||
|
||||
disable_watchdog
|
@ -1 +1 @@
|
||||
Subproject commit ef0b1faf658c3da814ecfb9c5547f497e0969932
|
||||
Subproject commit 098f8e97c9359bdaf6396a904423613f2cc3f59c
|
Loading…
Reference in New Issue
Block a user