46 lines
958 B
Bash
46 lines
958 B
Bash
#!/bin/sh
|
|
#
|
|
# Kernel hook for gummiboot.
|
|
#
|
|
# Arguments passed to this script: $1 pkgname, $2 version.
|
|
#
|
|
PKGNAME="$1"
|
|
VERSION="$2"
|
|
|
|
. "$ROOTDIR/etc/default/gummiboot"
|
|
|
|
if [ "$GUMMIBOOT_DISABLE" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
boot="$ROOTDIR/boot"
|
|
entries="$boot/loader/entries"
|
|
name="void-$VERSION"
|
|
entry="$entries/$name.conf"
|
|
options="$boot/loader/void-options.conf"
|
|
loader="$boot/loader/loader.conf"
|
|
|
|
[ -d "$boot" ] || exit 0
|
|
|
|
mkdir -p "$entries"
|
|
|
|
cat <<-EOF > "$entry"
|
|
title Void Linux
|
|
version $VERSION
|
|
linux /vmlinuz-$VERSION
|
|
initrd /initramfs-$VERSION.img
|
|
EOF
|
|
|
|
if [ -r "$options" ]; then
|
|
# Add user provided options from /boot/loader/void-options.conf:
|
|
printf 'options %s\n' "$(cat "$options" | sed '/^#/d;/^$/d')" >> "$entry"
|
|
fi
|
|
|
|
if grep -q ^default "$loader" 2>/dev/null; then
|
|
# Replace existing default entry with this entry:
|
|
sed -i "s/default.*/default $name/" "$loader"
|
|
else
|
|
# Add this entry as the default:
|
|
printf 'default %s\n' $name >>"$loader"
|
|
fi
|