mirror of
https://git.proxmox.com/git/systemd
synced 2025-12-28 17:51:35 +00:00
39 lines
1001 B
Bash
Executable File
39 lines
1001 B
Bash
Executable File
#!/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
|