Commit 8108a171 authored by Ben Hutchings's avatar Ben Hutchings

Support requesting automatic selection of resume device with RESUME=auto

For now, this is effectively the same as setting RESUME to empty or
not setting it.
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent 433e1ca0
......@@ -16,7 +16,7 @@ prereqs)
esac
# First check if a location is set and is a valid swap partition
if [ -n "$RESUME" ] && \
if [ -n "$RESUME" ] && [ "$RESUME" != auto ] && \
{ [ "$RESUME" = none ] || blkid -p -n swap $RESUME >/dev/null 2>&1; }; then
# As mkinitramfs copies the config file nothing to do.
exit 0
......@@ -24,16 +24,19 @@ fi
# We need to be able to read the listed swap partitions
if ischroot || [ ! -r /proc/swaps ]; then
exit 0
resume_auto=
else
# Try to autodetect the RESUME partition, using biggest swap?
resume_auto=$(grep ^/dev/ /proc/swaps | sort -rnk3 | head -n 1 | cut -d " " -f 1)
if [ -n "$resume_auto" ]; then
UUID=$(blkid -s UUID -o value "$resume_auto" || true)
if [ -n "$UUID" ]; then
resume_auto="UUID=$UUID"
fi
fi
fi
# Try to autodetect the RESUME partition, using biggest swap?
# Write detected resume to intramfs conf.d
RESUME=$(grep ^/dev/ /proc/swaps | sort -rnk3 | head -n 1 | cut -d " " -f 1)
if [ -n "$RESUME" ]; then
UUID=$(blkid -s UUID -o value "$RESUME" || true)
if [ -n "$UUID" ]; then
RESUME="UUID=$UUID"
fi
echo "RESUME=${RESUME}" > ${DESTDIR}/conf/conf.d/zz-resume-auto
# Write selected resume device to intramfs conf.d
if [ "$RESUME" = auto ] || [ -n "$resume_auto" ]; then
echo "RESUME=${resume_auto}" > ${DESTDIR}/conf/conf.d/zz-resume-auto
fi
......@@ -78,7 +78,8 @@ Set to \fInfs\fP for an NFS root share.
.TP
\fB RESUME
Specifies the device used for suspend-to-disk (hibernation), which the
initramfs code should attempt to resume from. If this is not defined,
initramfs code should attempt to resume from. If this is not defined
or is set to \fIauto\fP,
.B mkinitramfs
will automatically select the largest available swap partition.
Set it to \fInone\fP to disable resume from disk.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment