42 lines
765 B
Bash
Executable File
42 lines
765 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# called by dracut
|
|
check() {
|
|
return 255
|
|
}
|
|
|
|
# called by dracut
|
|
depends() {
|
|
return 0
|
|
}
|
|
|
|
# called by dracut
|
|
install() {
|
|
return 0
|
|
}
|
|
|
|
installkernel() {
|
|
local -A _drivers
|
|
local _wdtdrv
|
|
|
|
for _wd in /sys/class/watchdog/*; do
|
|
! [ -e "$_wd" ] && continue
|
|
_wdtdrv=$(get_dev_module "$_wd")
|
|
if [[ $_wdtdrv ]]; then
|
|
instmods "$_wdtdrv"
|
|
for i in $_wdtdrv; do
|
|
_drivers[$i]=1
|
|
done
|
|
fi
|
|
done
|
|
|
|
# ensure that watchdog module is loaded as early as possible
|
|
if [[ ${!_drivers[*]} ]]; then
|
|
echo "rd.driver.pre=\"$(
|
|
IFS=,
|
|
echo "${!_drivers[*]}"
|
|
)\"" > "${initdir}"/etc/cmdline.d/00-watchdog.conf
|
|
fi
|
|
return 0
|
|
}
|