| Server IP : 3.96.16.70 / Your IP : 216.73.216.15 Web Server : Apache System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/dracut/modules.d/95resume/ |
Upload File : |
#!/usr/bin/bash
# called by dracut
# shellcheck disable=SC2317
check() {
swap_on_netdevice() {
local _dev
for _dev in "${swap_devs[@]}"; do
block_is_netdevice "$(get_maj_min "$_dev")" && return 0
done
return 1
}
# If hostonly check if we want to include the resume module
if [[ $hostonly ]] || [[ $mount_needs ]]; then
# Resuming won't work if swap is on a netdevice
swap_on_netdevice && return 255
if grep -rq 'resume=' /proc/cmdline /etc/cmdline /etc/cmdline.d /etc/kernel/cmdline /usr/lib/kernel/cmdline 2> /dev/null; then
# hibernation support requested on kernel command line
return 0
else
# always include resume module when not on netdevice
return 0
# resume= not set on kernel command line
if [[ -f /sys/power/resume ]]; then
if [[ "$(< /sys/power/resume)" == "0:0" ]]; then
# hibernation supported by the kernel, but not enabled
return 255
else
# hibernation supported by the kernel and enabled
return 0
fi
else
# resume file doesn't exist, hibernation not supported by kernel
return 255
fi
fi
else
return 0
fi
}
# called by dracut
cmdline() {
local _resume
for dev in "${!host_fs_types[@]}"; do
[[ ${host_fs_types[$dev]} =~ ^(swap|swsuspend|swsupend)$ ]] || continue
_resume=$(shorten_persistent_dev "$(get_persistent_dev "$dev")")
[[ -n ${_resume} ]] && printf " resume=%s" "${_resume}"
done
}
# called by dracut
install() {
local _bin
local _resumeconf
if [[ $hostonly_cmdline == "yes" ]]; then
_resumeconf=$(cmdline)
[[ $_resumeconf ]] && printf "%s\n" "$_resumeconf" >> "${initdir}/etc/cmdline.d/95resume.conf"
fi
# if systemd is included and has the hibernate-resume tool, use it and nothing else
if dracut_module_included "systemd" && [[ -x $dracutsysrootdir$systemdutildir/systemd-hibernate-resume ]]; then
inst_multiple -o \
"$systemdutildir"/system-generators/systemd-hibernate-resume-generator \
"$systemdsystemunitdir"/systemd-hibernate-resume.service \
"$systemdsystemunitdir"/systemd-hibernate-resume@.service \
"$systemdutildir"/systemd-hibernate-resume
return 0
fi
# Optional uswsusp support
for _bin in /usr/sbin/resume /usr/lib/suspend/resume /usr/lib64/suspend/resume /usr/lib/uswsusp/resume /usr/lib64/uswsusp/resume; do
[[ -x $dracutsysrootdir${_bin} ]] && {
inst "${_bin}" /usr/sbin/resume
[[ $hostonly ]] && [[ -f $dracutsysrootdir/etc/suspend.conf ]] && inst -H /etc/suspend.conf
break
}
done
if ! dracut_module_included "systemd"; then
inst_hook cmdline 10 "$moddir/parse-resume.sh"
else
inst_script "$moddir/parse-resume.sh" /lib/dracut/parse-resume.sh
fi
inst_script "$moddir/resume.sh" /lib/dracut/resume.sh
}