#!/bin/sh PREREQ="" prereqs() { echo "$PREREQ" } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac . /usr/share/initramfs-tools/scripts/functions # First check if a location is set and is a valid swap partition. # If so, the config file will be copied in and there is nothing to do. if [ -n "$RESUME" ] && [ "$RESUME" != auto ]; then if [ "$RESUME" = none ]; then exit 0 fi if resume_dev_node="$(resolve_device "$RESUME")" && \ blkid -p -n swap "$resume_dev_node" >/dev/null 2>&1; then exit 0 fi echo >&2 "W: initramfs-tools configuration sets RESUME=$RESUME" echo >&2 "W: but no matching swap device is available." fi # If we were not explicitly requested to select a device, or the -v # option is used, report that we are doing so report_auto() { test "${verbose?}" != y && test "$RESUME" = auto || echo "I: $*" } # Report in excruciating detail if the -v option is used report_verbose() { test "${verbose?}" != y || echo "I: $*" } report_verbose "Configuration sets RESUME=$RESUME" # Try to autodetect the RESUME partition, using biggest swap device that # is not ephemeral. We need to be able to read the listed swap partitions. resume_auto= if ! ischroot && [ -r /proc/swaps ]; then # shellcheck disable=SC2013 for resume_auto in $(grep ^/dev/ /proc/swaps | sort -rnk3 | cut -d " " -f 1); do report_verbose "Checking swap device $resume_auto" ephemeral=false dm_name="$(dmsetup info -c --noheadings -o name "$resume_auto" 2>/dev/null)" # dm-crypt is ephemeral if the key file is /dev/urandom if [ -n "$dm_name" ] && [ -e /etc/crypttab ]; then report_verbose "$resume_auto has device-mapper name $dm_name; checking crypttab" # shellcheck disable=SC2034 while read -r cryptdev srcdev keyfile junk; do report_verbose "Found cryptdev=$cryptdev keyfile=$keyfile" if [ "$cryptdev" = "$dm_name" ] && [ "$keyfile" = /dev/urandom ]; then report_verbose "Rejecting $resume_auto since it has no permanent key" ephemeral=true fi done < /etc/crypttab fi # zram is ephemeral case "$resume_auto" in /dev/zram*) report_verbose "Rejecting $resume_auto since it is zram" ephemeral=true ;; esac $ephemeral || break done if $ephemeral; then resume_auto= fi if [ -n "$resume_auto" ]; then if [ -n "$dm_name" ]; then resume_auto_canon="/dev/mapper/$dm_name" elif UUID=$(blkid -s UUID -o value "$resume_auto"); then resume_auto_canon="UUID=$UUID" else resume_auto_canon= fi report_auto "The initramfs will attempt to resume from $resume_auto" if [ -n "$resume_auto_canon" ]; then report_auto "($resume_auto_canon)" resume_auto="$resume_auto_canon" fi report_auto "Set the RESUME variable to override this." fi fi # Write selected resume device to intramfs conf.d if [ "$RESUME" = auto ] || [ -n "$resume_auto" ]; then # If we were explicitly requested to select a device, and we failed, # report that if [ -z "$resume_auto" ]; then echo >&2 "W: initramfs-tools failed to select a resume device" fi echo "RESUME=${resume_auto}" > "${DESTDIR}/conf/conf.d/zz-resume-auto" fi
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
amd64_microcode | File | 3.77 KB | 0755 |
|
brltty | File | 900 B | 0755 |
|
compcache | File | 3.55 KB | 0755 |
|
console_setup | File | 3.07 KB | 0755 |
|
dmsetup | File | 506 B | 0755 |
|
fixrtc | File | 436 B | 0755 |
|
framebuffer | File | 579 B | 0755 |
|
fsck | File | 1.91 KB | 0755 |
|
fuse | File | 230 B | 0755 |
|
intel_microcode | File | 4.83 KB | 0755 |
|
kbd | File | 301 B | 0755 |
|
klibc-utils | File | 646 B | 0755 |
|
kmod | File | 432 B | 0755 |
|
ntfs_3g | File | 304 B | 0755 |
|
plymouth | File | 5.74 KB | 0755 |
|
resume | File | 3.04 KB | 0755 |
|
thermal | File | 1.29 KB | 0755 |
|
udev | File | 1.66 KB | 0755 |
|
zz-busybox-initramfs | File | 2.18 KB | 0755 |
|
zz-dhclient | File | 478 B | 0755 |
|