66 lines
1.4 KiB
Plaintext
66 lines
1.4 KiB
Plaintext
|
#!/bin/sh -e
|
||
|
#
|
||
|
# Runs update-initramfs(8) to create/update an initramfs for specified
|
||
|
# version (if the pkg that is triggering it) or for the currently
|
||
|
# installed kernel otherwise.
|
||
|
#
|
||
|
# Arguments: $ACTION = [run/targets]
|
||
|
# $TARGET = [post-install/post-remove]
|
||
|
# $PKGNAME
|
||
|
# $VERSION
|
||
|
# $UPDATE = [yes/no]
|
||
|
#
|
||
|
ACTION="$1"
|
||
|
TARGET="$2"
|
||
|
PKGNAME="$3"
|
||
|
VERSION="$4"
|
||
|
UPDATE="$5"
|
||
|
|
||
|
update_initramfs=usr/sbin/update-initramfs
|
||
|
|
||
|
case "$ACTION" in
|
||
|
targets)
|
||
|
echo "post-install post-remove"
|
||
|
;;
|
||
|
run)
|
||
|
# Exit if the command cannot be executed.
|
||
|
[ ! -x ${update_initramfs} ] && exit 0
|
||
|
|
||
|
# Cannot continue if /proc and /sys not mounted!
|
||
|
if [ ! -e ./proc/filesystems -a ! -e ./sys/kernel/vmcoreinfo ]; then
|
||
|
echo "initramfs-tools trigger:"
|
||
|
echo "WARNING: /proc and /sys (relative to cwd) are not mounted"
|
||
|
echo "WARNING: cannot continue, exiting..."
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
# Always use relative paths to create the initramfs!
|
||
|
initramfs_args="-b ./boot"
|
||
|
|
||
|
if [ "$PKGNAME" = "kernel" -o "$PKGNAME" = "kernel-snapshot" ]; then
|
||
|
if [ "$TARGET" = "post-remove" ]; then
|
||
|
exit 0
|
||
|
fi
|
||
|
if [ ! -f var/lib/initramfs-tools/${VERSION} ]; then
|
||
|
# Create new initramfs
|
||
|
initramfs_args="$initramfs_args -c -t -k ${VERSION}"
|
||
|
else
|
||
|
# Update existing initramfs
|
||
|
initramfs_args="$initramfs_args -B -u -t -k ${VERSION}"
|
||
|
fi
|
||
|
else
|
||
|
# Update initramfs for all kernels
|
||
|
initramfs_args="$initramfs_args -B -u -t -k all"
|
||
|
fi
|
||
|
|
||
|
${update_initramfs} ${initramfs_args}
|
||
|
exit $?
|
||
|
|
||
|
;;
|
||
|
*)
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit 0
|