summaryrefslogtreecommitdiffstats
path: root/debian/extra/kernel-install.d/85-initrd.install
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 13:00:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 13:00:48 +0000
commitf542925b701989ba6eed7b08b5226d4021b9b85f (patch)
tree57e14731f21a6d663326d30b7b88736e9d51c420 /debian/extra/kernel-install.d/85-initrd.install
parentAdding upstream version 247.3. (diff)
downloadsystemd-debian/247.3-7+deb11u4.tar.xz
systemd-debian/247.3-7+deb11u4.zip
Adding debian version 247.3-7+deb11u4.debian/247.3-7+deb11u4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/extra/kernel-install.d/85-initrd.install')
-rwxr-xr-xdebian/extra/kernel-install.d/85-initrd.install38
1 files changed, 38 insertions, 0 deletions
diff --git a/debian/extra/kernel-install.d/85-initrd.install b/debian/extra/kernel-install.d/85-initrd.install
new file mode 100755
index 0000000..4f8b101
--- /dev/null
+++ b/debian/extra/kernel-install.d/85-initrd.install
@@ -0,0 +1,38 @@
+#!/bin/sh
+set -eu
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+COMMAND="$1"
+KERNEL_VERSION="$2"
+BOOT_DIR_ABS="$3"
+
+INITRD_SRC="/boot/initrd.img-$KERNEL_VERSION"
+INITRD_DEST="$BOOT_DIR_ABS/initrd"
+
+if [ "$COMMAND" = remove ]; then
+ exec rm -f "$INITRD_DEST"
+fi
+
+if [ "$COMMAND" != add ]; then
+ echo "Invalid command $COMMAND" >&2
+ exit 1
+fi
+
+if [ "$#" -ge 5 ]; then
+ # An explicit initrd path was passed, 90-loaderentry.install knows how to handle this;
+ # copying here would just duplicate the file, since the basename is very likely different
+ exit 0
+fi
+
+if [ -e "$INITRD_SRC" ]; then
+ [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && echo "Installing '$INITRD_SRC' as '$INITRD_DEST'"
+ install -m 0644 -o root -g root "$INITRD_SRC" "$INITRD_DEST" || {
+ echo "Could not copy '$INITRD_SRC' to '$INITRD_DEST'." >&2
+ exit 1
+ }
+else
+ echo "$INITRD_SRC does not exist, not installing an initrd"
+fi
+
+exit 0