aboutsummaryrefslogtreecommitdiff
path: root/straper/db/public/boot/grub.d/35_fwupd
diff options
context:
space:
mode:
Diffstat (limited to 'straper/db/public/boot/grub.d/35_fwupd')
-rwxr-xr-xstraper/db/public/boot/grub.d/35_fwupd24
1 files changed, 24 insertions, 0 deletions
diff --git a/straper/db/public/boot/grub.d/35_fwupd b/straper/db/public/boot/grub.d/35_fwupd
new file mode 100755
index 0000000..ea46bcf
--- /dev/null
+++ b/straper/db/public/boot/grub.d/35_fwupd
@@ -0,0 +1,24 @@
+#! /bin/sh
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -e
+
+[ -d ${pkgdatadir:?} ]
+# shellcheck source=/dev/null
+. "$pkgdatadir/grub-mkconfig_lib"
+
+if [ -f /var/lib/fwupd/uefi_capsule.conf ] &&
+ ls /sys/firmware/efi/efivars/fwupd-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 1>/dev/null 2>&1; then
+ . /var/lib/fwupd/uefi_capsule.conf
+ if [ "${EFI_PATH}" != "" ] && [ "${ESP}" != "" ]; then
+ echo "Adding Linux Firmware Updater entry" >&2
+cat << EOF
+menuentry 'Linux Firmware Updater' \$menuentry_id_option 'fwupd' {
+EOF
+ ${grub_probe:?} --version > /dev/null
+ prepare_grub_to_access_device "$(${grub_probe} --target=device ${ESP})" | sed -e "s/^/\t/"
+cat << EOF
+ chainloader ${EFI_PATH}
+}
+EOF
+ fi
+fi