summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPellegrino Prevete2024-03-06 20:06:48 +0100
committerPellegrino Prevete2024-03-06 20:06:48 +0100
commitc74de86656455dd7b8ea642c0f76020b1cb01f77 (patch)
treec0ffbae60c0e0c206810ca498dde6958e1654611
downloadaur-c74de86656455dd7b8ea642c0f76020b1cb01f77.tar.gz
whats the difference between a nes rom file and an swf? one depends on fceux and the other on gnash
-rw-r--r--0001-00_header-add-GRUB_COLOR_-variables.patch41
-rw-r--r--0002-10_linux-detect-archlinux-initramfs.patch62
-rw-r--r--0003-support-dropins-for-default-configuration.patch28
-rw-r--r--PKGBUILD317
-rw-r--r--grub.default63
-rw-r--r--grub.install38
-rw-r--r--keys/pgp/95D2E9AB8740D8046387FD151A09227B1F435A33.asc65
-rw-r--r--keys/pgp/BE5C23209ACDDACEB20DB0A28C8189F1988C2166.asc65
-rw-r--r--keys/pgp/E53D497F3FA42AD8C9B4D1E835A93B74E82E4209.asc84
-rw-r--r--sbat.csv3
10 files changed, 766 insertions, 0 deletions
diff --git a/0001-00_header-add-GRUB_COLOR_-variables.patch b/0001-00_header-add-GRUB_COLOR_-variables.patch
new file mode 100644
index 000000000000..867e8feeb7b9
--- /dev/null
+++ b/0001-00_header-add-GRUB_COLOR_-variables.patch
@@ -0,0 +1,41 @@
+From 21e5bcf22ab1a9f08c63e2a0212219d7482f77c1 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 10 Mar 2021 18:42:25 +0100
+Subject: [PATCH] 00_header: add GRUB_COLOR_* variables
+---
+ util/grub-mkconfig.in | 2 ++
+ util/grub.d/00_header.in | 8 ++++++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index f8cbb8d7a..1189d95f9 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -246,6 +246,8 @@ export GRUB_DEFAULT \
+ GRUB_BACKGROUND \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index 93a90233e..c5955df00 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -125,6 +125,14 @@ cat <<EOF
+
+ EOF
+
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++ cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
diff --git a/0002-10_linux-detect-archlinux-initramfs.patch b/0002-10_linux-detect-archlinux-initramfs.patch
new file mode 100644
index 000000000000..5abb5e63dc88
--- /dev/null
+++ b/0002-10_linux-detect-archlinux-initramfs.patch
@@ -0,0 +1,62 @@
+From dbc289f59a2b204af19ef7212f3b6b07d3060452 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Mon, 26 Apr 2021 11:10:01 +0200
+Subject: [PATCH 1/1] 10_linux: detect archlinux initramfs
+---
+ util/grub.d/10_linux.in | 29 ++++++++++++++++++++++++++++-
+ 1 file changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index e8b01c0d0..9b60af944 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -91,6 +91,10 @@ linux_entry ()
+ fi
+ if [ x$type != xsimple ] ; then
+ case $type in
++ booster)
++ title="$(gettext_printf "%s, with Linux %s (booster initramfs)" "${os}" "${version}")" ;;
++ fallback)
++ title="$(gettext_printf "%s, with Linux %s (fallback initramfs)" "${os}" "${version}")" ;;
+ recovery)
+ title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;;
+ *)
+@@ -198,7 +202,7 @@ while [ "x$list" != "x" ] ; do
+ basename=`basename $linux`
+ dirname=`dirname $linux`
+ rel_dirname=`make_system_path_relative_to_its_root $dirname`
+- version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
++ version=`echo $basename | sed -e "s,vmlinuz-,,g"`
+ alt_version=`echo $version | sed -e "s,\.old$,,g"`
+ linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+
+@@ -285,6 +289,29 @@ while [ "x$list" != "x" ] ; do
+
+ linux_entry "${OS}" "${version}" advanced \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++
++ if test -e "${dirname}/initramfs-${version}-fallback.img" ; then
++ initrd="${initrd_early} initramfs-${version}-fallback.img"
++
++ if test -n "${initrd}" ; then
++ gettext_printf "Found fallback initrd image(s) in %s:%s\n" "${dirname}" "${initrd_extra} ${initrd}" >&2
++ fi
++
++ linux_entry "${OS}" "${version}" fallback \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ fi
++
++ if test -e "${dirname}/booster-${version}.img" ; then
++ initrd="${initrd_early} booster-${version}.img"
++
++ if test -n "${initrd}" ; then
++ gettext_printf "Found booster initrd image(s) in %s:%s\n" "${dirname}" "${initrd_extra} ${initrd}" >&2
++ fi
++
++ linux_entry "${OS}" "${version}" booster \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ fi
++
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ linux_entry "${OS}" "${version}" recovery \
+ "single ${GRUB_CMDLINE_LINUX}"
diff --git a/0003-support-dropins-for-default-configuration.patch b/0003-support-dropins-for-default-configuration.patch
new file mode 100644
index 000000000000..4840487a1f1d
--- /dev/null
+++ b/0003-support-dropins-for-default-configuration.patch
@@ -0,0 +1,28 @@
+From ac560966d09295663fa9516d8d137e0c0fd04c06 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Mon, 12 Jun 2023 07:42:01 +0200
+Subject: [PATCH 1/1] support dropins for default configuration
+
+---
+ util/grub-mkconfig.in | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 1a945085c..4338dceef 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -160,6 +160,11 @@ fi
+ if test -f ${sysconfdir}/default/grub ; then
+ . ${sysconfdir}/default/grub
+ fi
++for dropin in ${sysconfdir}/default/grub.d/*.cfg ; do
++ if test -f "${dropin}" ; then
++ . "${dropin}"
++ fi
++done
+
+ if [ "x${GRUB_DISABLE_UUID}" = "xtrue" ]; then
+ if [ -z "${GRUB_DISABLE_LINUX_UUID}" ]; then
+--
+2.41.0
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b8c9dd6feda5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,317 @@
+# SPDX-License-Identifier: AGPL-3.0
+#
+# Maintainer : Pellegrino Prevete <pellegrinoprevete@gmail.com>
+# Maintainer : Truocolo <truocolo@aol.com>
+# Contributor : Christian Hesse <mail@eworm.de>
+# Contributor : Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+
+## "1" to enable IA32-EFI build in Arch x86_64, "0" to disable
+_IA32_EFI_IN_ARCH_X64="1"
+
+## "1" to enable EMU build, "0" to disable
+_GRUB_EMU_BUILD="1"
+
+[[ "${CARCH}" == 'x86_64' ]] && _EFI_ARCH='x86_64'
+[[ "${CARCH}" == 'i686' ]] && _EFI_ARCH='i386'
+
+[[ "${CARCH}" == 'x86_64' ]] && _EMU_ARCH='x86_64'
+[[ "${CARCH}" == 'i686' ]] && _EMU_ARCH='i386'
+
+_pkg="grub"
+pkgbase="${_pkg}-emu"
+pkgname=(
+ "${pkgbase}"
+)
+pkgdesc='GNU GRand Unified Bootloader (2)'
+epoch=2
+_tag='03e6ea18f6f834f177cad017279bedbb0a3de594' # git rev-parse grub-${_pkgver}
+_pkgver=2.12
+_unifont_ver='15.1.05'
+pkgver=${_pkgver/-/}
+pkgrel=1
+url="https://www.gnu.org/software/${_pkg}"
+arch=(
+ 'x86_64'
+)
+license=(
+ 'GPL-3.0-or-later'
+)
+backup=(
+ "etc/default/${_pkg}"
+ "etc/${_pkg}.d/40_custom"
+)
+install="${_pkg}.install"
+options=(
+ '!makeflags'
+)
+makedepends=(
+ 'git'
+ 'rsync'
+ 'xz'
+ 'freetype2'
+ 'ttf-dejavu'
+ 'python'
+ 'autogen'
+ 'texinfo'
+ 'help2man'
+ 'gettext'
+ 'device-mapper'
+ 'fuse3'
+)
+depends=(
+ 'sh'
+ 'xz'
+ 'gettext'
+ 'device-mapper'
+ 'grub-common'
+)
+optdepends=(
+ 'freetype2: For grub-mkfont usage'
+ 'fuse3: For grub-mount usage'
+ 'dosfstools: For grub-mkrescue FAT FS and EFI support'
+ 'lzop: For grub-mkrescue LZO support'
+ 'efibootmgr: For grub-install EFI support'
+ 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue'
+ 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems'
+ 'mtools: For grub-mkrescue FAT FS support'
+)
+if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then
+ makedepends+=(
+ 'libusb'
+ 'sdl'
+ )
+ optdepends+=(
+ 'libusb: For grub-emu USB support'
+ 'sdl: For grub-emu SDL support'
+ )
+fi
+validpgpkeys=(
+ # Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
+ 'E53D497F3FA42AD8C9B4D1E835A93B74E82E4209'
+ # Daniel Kiper <dkiper@net-space.pl>
+ 'BE5C23209ACDDACEB20DB0A28C8189F1988C2166'
+ # Paul Hardy <unifoundry@unifoundry.com>
+ '95D2E9AB8740D8046387FD151A09227B1F435A33'
+ )
+_gnu_git="https://git.savannah.gnu.org/git"
+_gnu_ftp="https://ftp.gnu.org/gnu"
+source=(
+ "git+${_gnu_git}/grub.git#tag=${_tag}?signed"
+ "git+${_gnu_git}/gnulib.git"
+ "${_gnu_ftp}/unifont/unifont-${_unifont_ver}/unifont-${_unifont_ver}.bdf.gz"{,.sig}
+ '0001-00_header-add-GRUB_COLOR_-variables.patch'
+ '0002-10_linux-detect-archlinux-initramfs.patch'
+ '0003-support-dropins-for-default-configuration.patch'
+ 'grub.default'
+ 'sbat.csv'
+)
+sha256sums=(
+ 'SKIP'
+ 'SKIP'
+ '8ea5b5a14d71e3353d1fea373f5d88d198ad1e285cedd8294655926ee11fd91d'
+ 'SKIP'
+ '5dee6628c48eef79812bb9e86ee772068d85e7fcebbd2b2b8d1e19d24eda9dab'
+ '8488aec30a93e8fe66c23ef8c23aefda39c38389530e9e73ba3fbcc8315d244d'
+ 'b5d9fcd62ffb3c3950fdeb7089ec2dc2294ac52e9861980ad90a437dedbd3d47'
+ '7df3f5cb5df7d2dfb17f4c9b5c5dedc9519ddce6f8d2c6cd43d1be17cecb65cb'
+ 'f34c2b0aa2ed4ab9c7e7bcab5197470c30fedc6c2148f337839dd24bceae35fd'
+)
+_backports=(
+)
+_reverts=(
+)
+_configure_options=(
+ PACKAGE_VERSION="${epoch}:${pkgver}-${pkgrel}"
+ FREETYPE="pkg-config freetype2"
+ BUILD_FREETYPE="pkg-config freetype2"
+ --enable-nls
+ --enable-device-mapper
+ --enable-cache-stats
+ --enable-grub-mkfont
+ --enable-grub-mount
+ --prefix="/usr"
+ --bindir="/usr/bin"
+ --sbindir="/usr/bin"
+ --mandir="/usr/share/man"
+ --infodir="/usr/share/info"
+ --datarootdir="/usr/share"
+ --sysconfdir="/etc"
+ --program-prefix=""
+ --with-bootdir="/boot"
+ --with-grubdir="grub"
+ --disable-silent-rules
+ --disable-werror
+)
+prepare() {
+ cd \
+ "${srcdir}/grub/"
+ echo \
+ "Apply backports..."
+ local \
+ _c
+ for _c in "${_backports[@]}"; do
+ git \
+ log \
+ --oneline \
+ -1 \
+ "${_c}"
+ git \
+ cherry-pick \
+ -n \
+ "${_c}"
+ done
+ echo "Apply reverts..."
+ local _c
+ for _c in "${_reverts[@]}"; do
+ git log --oneline -1 "${_c}"
+ git revert -n "${_c}"
+ done
+ echo \
+ "Patch to enable GRUB_COLOR_* variables in grub-mkconfig..."
+ # Based on
+ # http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html
+ patch \
+ -Np1 \
+ -i \
+ "${srcdir}/0001-00_header-add-GRUB_COLOR_-variables.patch"
+ echo \
+ "Patch to detect of Arch Linux initramfs images by grub-mkconfig..."
+ patch \
+ -Np1 \
+ -i \
+ "${srcdir}/0002-10_linux-detect-archlinux-initramfs.patch"
+ echo \
+ "Patch to support dropins for default configuration..."
+ patch \
+ -Np1 \
+ -i \
+ "${srcdir}/0003-support-dropins-for-default-configuration.patch"
+ echo \
+ "Fix DejaVuSans.ttf location so that grub-mkfont" \
+ "can create *.pf2 files for starfield theme..."
+ sed \
+ 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' \
+ -i \
+ "configure.ac"
+ echo \
+ "Fix mkinitcpio 'rw' FS#36275..."
+ sed \
+ 's| ro | rw |g' \
+ -i \
+ "util/grub.d/10_linux.in"
+ echo \
+ "Fix OS naming FS#33393..."
+ sed \
+ 's|GNU/Linux|Linux|' \
+ -i \
+ "util/grub.d/10_linux.in"
+ echo \
+ "Pull in latest language files..."
+ ./linguas.sh
+ echo \
+ "Avoid problem with unifont during compile of grub..."
+ # http://savannah.gnu.org/bugs/?40330
+ # and
+ # https://bugs.archlinux.org/task/37847
+ gzip \
+ -cd \
+ "${srcdir}/unifont-${_unifont_ver}.bdf.gz" > \
+ "unifont.bdf"
+
+ echo \
+ "Run bootstrap..."
+ ./bootstrap \
+ --gnulib-srcdir="${srcdir}/gnulib/" \
+ --no-git
+ echo \
+ "Make translations reproducible..."
+ sed \
+ -i \
+ '1i /^PO-Revision-Date:/ d' \
+ po/*.sed
+}
+
+_build_grub-emu() {
+ local \
+ _emu_options=()
+ _emu_options=(
+ --with-platform="emu"
+ --target="${_EMU_ARCH}"
+ --enable-grub-emu-usb=no
+ --enable-grub-emu-sdl=no
+ --disable-grub-emu-pci
+ )
+ echo \
+ "Copy the source for building the emu part..."
+ cp \
+ -r \
+ "${srcdir}/grub/" \
+ "${srcdir}/grub-emu/"
+ cd \
+ "${srcdir}/grub-emu/"
+ echo \
+ "Unset all compiler FLAGS for emu build..."
+ unset \
+ CFLAGS \
+ CPPFLAGS \
+ CXXFLAGS \
+ LDFLAGS \
+ MAKEFLAGS
+ echo \
+ "Run ./configure for emu build..."
+ ./configure \
+ "${_emu_options[@]}" \
+ "${_configure_options[@]}"
+ echo \
+ "Run make for emu build..."
+ make
+}
+
+build() {
+ cd \
+ "${srcdir}/grub/"
+ if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then
+ echo \
+ "Build grub emu stuff..."
+ _build_grub-emu
+ fi
+}
+
+_package_grub-emu() {
+ cd \
+ "${srcdir}/grub-emu/"
+ echo \
+ "Run make install for emu build..."
+ make \
+ DESTDIR="${pkgdir}/" \
+ bashcompletiondir="/usr/share/bash-completion/completions" \
+ install
+ echo \
+ "Remove gdb debugging related files for emu build..."
+ rm \
+ -f \
+ "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.module || \
+ true
+ rm \
+ -f \
+ "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.image || \
+ true
+ rm \
+ -f \
+ "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/{kernel.exec,gdb_grub,gmodule.pl} || \
+ true
+}
+
+package() {
+ cd \
+ "${srcdir}/grub/"
+ if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then
+ echo \
+ "Package grub emu stuff..."
+ _package_grub-emu
+ fi
+}
+
+# vim:set sw=2 sts=-1 et:
diff --git a/grub.default b/grub.default
new file mode 100644
index 000000000000..5af66e3ca829
--- /dev/null
+++ b/grub.default
@@ -0,0 +1,63 @@
+# GRUB boot loader configuration
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=5
+GRUB_DISTRIBUTOR="Arch"
+GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
+GRUB_CMDLINE_LINUX=""
+
+# Preload both GPT and MBR modules so that they are not missed
+GRUB_PRELOAD_MODULES="part_gpt part_msdos"
+
+# Uncomment to enable booting from LUKS encrypted devices
+#GRUB_ENABLE_CRYPTODISK=y
+
+# Set to 'countdown' or 'hidden' to change timeout behavior,
+# press ESC key to display menu.
+GRUB_TIMEOUT_STYLE=menu
+
+# Uncomment to use basic console
+GRUB_TERMINAL_INPUT=console
+
+# Uncomment to disable graphical terminal
+#GRUB_TERMINAL_OUTPUT=console
+
+# The resolution used on graphical terminal
+# note that you can use only modes which your graphic card supports via VBE
+# you can see them in real GRUB with the command `videoinfo'
+GRUB_GFXMODE=auto
+
+# Uncomment to allow the kernel use the same resolution used by grub
+GRUB_GFXPAYLOAD_LINUX=keep
+
+# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
+# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
+#GRUB_DISABLE_LINUX_UUID=true
+
+# Uncomment to disable generation of recovery mode menu entries
+GRUB_DISABLE_RECOVERY=true
+
+# Uncomment and set to the desired menu colors. Used by normal and wallpaper
+# modes only. Entries specified as foreground/background.
+#GRUB_COLOR_NORMAL="light-blue/black"
+#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
+
+# Uncomment one of them for the gfx desired, a image background or a gfxtheme
+#GRUB_BACKGROUND="/path/to/wallpaper"
+#GRUB_THEME="/path/to/gfxtheme"
+
+# Uncomment to get a beep at GRUB start
+#GRUB_INIT_TUNE="480 440 1"
+
+# Uncomment to make GRUB remember the last selection. This requires
+# setting 'GRUB_DEFAULT=saved' above.
+#GRUB_SAVEDEFAULT=true
+
+# Uncomment to disable submenus in boot menu
+#GRUB_DISABLE_SUBMENU=y
+
+# Probing for other operating systems is disabled for security reasons. Read
+# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
+# functionality install os-prober and uncomment to detect and include other
+# operating systems.
+#GRUB_DISABLE_OS_PROBER=false
diff --git a/grub.install b/grub.install
new file mode 100644
index 000000000000..79693428ee8b
--- /dev/null
+++ b/grub.install
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+post_upgrade() {
+ # We used to package /boot/grub/grub.cfg, but there is no reason to.
+ # Remove the file from package, but move real file back in place.
+ if [ ! -f /boot/grub/grub.cfg -a -f /boot/grub/grub.cfg.pacsave ]; then
+ mv /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg
+ fi
+
+ # Give a hint to update installation and configuration one after another.
+ cat <<EOM
+:: To use the new features provided in this GRUB update, it is recommended
+ to install it to the MBR or UEFI. Due to potential configuration
+ incompatibilities, it is advised to run both, installation and generation
+ of configuration:
+ # grub-install ...
+ # grub-mkconfig -o /boot/grub/grub.cfg
+EOM
+
+ # return if old package version greater 2:2.06-0...
+ (( $(vercmp $2 '2:2.06-0') > 0 )) && return
+
+ if [[ -e /sys/firmware/efi/efivars ]]; then
+ cat <<EOM
+:: Grub does no longer support side-loading modules when secure boot is
+ enabled. Thus booting will fail, unless you have an efi executable
+ 'grubx64.efi' with bundled modules.
+EOM
+ fi
+}
+
+post_install() {
+ cat <<EOM
+:: Install your bootloader and generate configuration with:
+ # grub-install ...
+ # grub-mkconfig -o /boot/grub/grub.cfg
+EOM
+}
diff --git a/keys/pgp/95D2E9AB8740D8046387FD151A09227B1F435A33.asc b/keys/pgp/95D2E9AB8740D8046387FD151A09227B1F435A33.asc
new file mode 100644
index 000000000000..58e9e8752bec
--- /dev/null
+++ b/keys/pgp/95D2E9AB8740D8046387FD151A09227B1F435A33.asc
@@ -0,0 +1,65 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=+opC
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/keys/pgp/BE5C23209ACDDACEB20DB0A28C8189F1988C2166.asc b/keys/pgp/BE5C23209ACDDACEB20DB0A28C8189F1988C2166.asc
new file mode 100644
index 000000000000..3d79f175a6e2
--- /dev/null
+++ b/keys/pgp/BE5C23209ACDDACEB20DB0A28C8189F1988C2166.asc
@@ -0,0 +1,65 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=IoNF
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/keys/pgp/E53D497F3FA42AD8C9B4D1E835A93B74E82E4209.asc b/keys/pgp/E53D497F3FA42AD8C9B4D1E835A93B74E82E4209.asc
new file mode 100644
index 000000000000..b001ebd9e073
--- /dev/null
+++ b/keys/pgp/E53D497F3FA42AD8C9B4D1E835A93B74E82E4209.asc
@@ -0,0 +1,84 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=pZdQ
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/sbat.csv b/sbat.csv
new file mode 100644
index 000000000000..66ce2882b0c0
--- /dev/null
+++ b/sbat.csv
@@ -0,0 +1,3 @@
+sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
+grub,3,Free Software Foundation,grub,%PKGVER%,https//www.gnu.org/software/grub/
+grub.arch,1,Arch Linux,grub,%PKGVER%,https://archlinux.org/packages/core/x86_64/grub/