blob: 4f8b10148d09eca369636f9d1542647e20b34364 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
|