diff --git a/Config.in.legacy b/Config.in.legacy
index 5f7274e84b..0114236841 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,14 @@ endif
 
 comment "Legacy options removed in 2022.11"
 
+config BR2_TARGET_GUMMIBOOT
+	bool "gummiboot removed"
+	select BR2_LEGACY
+	help
+	  gummiboot has been deprecated since 2015, with no further
+	  updates. It became integrated into the systemd project as
+	  systemd-boot.
+
 config BR2_PACKAGE_GPSD_OLDSTYLE
 	bool "gpsd oldstyle removed"
 	select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 14b91fca8d..b9005e6ef7 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -835,7 +835,6 @@ N:	Ernesto L. Williams Jr <realcontrols@gmail.com>
 F:	package/szip/
 
 N:	Esben Haabendal <esben@haabendal.dk>
-F:	boot/gummiboot/
 F:	package/python-kiwisolver/
 
 N:	Etienne Carriere <etienne.carriere@linaro.org>
@@ -2884,7 +2883,6 @@ F:	boot/beaglev-ddrinit/
 F:	boot/beaglev-secondboot/
 F:	boot/boot-wrapper-aarch64/
 F:	boot/grub2/
-F:	boot/gummiboot/
 F:	configs/beaglev_defconfig
 F:	configs/stm32mp157c_dk2_defconfig
 F:	package/android-tools/
diff --git a/boot/Config.in b/boot/Config.in
index 40472ae07d..f53c8cd7d7 100644
--- a/boot/Config.in
+++ b/boot/Config.in
@@ -12,7 +12,6 @@ source "boot/binaries-marvell/Config.in"
 source "boot/boot-wrapper-aarch64/Config.in"
 source "boot/edk2/Config.in"
 source "boot/grub2/Config.in"
-source "boot/gummiboot/Config.in"
 source "boot/lpc32xxcdl/Config.in"
 source "boot/mv-ddr-marvell/Config.in"
 source "boot/mxs-bootlets/Config.in"
diff --git a/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch b/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch
deleted file mode 100644
index b35cd499bc..0000000000
--- a/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 40ab4167b5a45c772304a879c71b47d54de3b0e3 Mon Sep 17 00:00:00 2001
-From: Esben Haabendal <esben@haabendal.dk>
-Date: Wed, 20 Mar 2019 14:19:40 +0100
-Subject: [PATCH] Allow building with newer glibc versions
-
-Newer glibc versions does not include sys/sysmacros.h from sys/types.h
-anymore.  Including it unconditionally should be safe.
-
-See https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html for why
-this was done.
-
-Signed-off-by: Esben Haabendal <esben@haabendal.dk>
----
- src/setup/setup.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/setup/setup.c b/src/setup/setup.c
-index 6a4275a2ae36..53429375a146 100644
---- a/src/setup/setup.c
-+++ b/src/setup/setup.c
-@@ -37,6 +37,7 @@
- #include <ftw.h>
- #include <stdbool.h>
- #include <blkid.h>
-+#include <sys/sysmacros.h>
- 
- #include "efivars.h"
- 
--- 
-2.21.0
-
diff --git a/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch b/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch
deleted file mode 100644
index 7104a581e2..0000000000
--- a/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From fc05ced797b87286b8ec7303fe32bf200a072972 Mon Sep 17 00:00:00 2001
-From: Esben Haabendal <esben@haabendal.dk>
-Date: Mon, 18 Mar 2019 11:14:31 +0100
-Subject: [PATCH] Fix linking for non-host compatible targets
-
-Without this, gummiboot build system will use host 'ld' when linking
-target binary, which is obviously not a good idea.
-
-Signed-off-by: Esben Haabendal <esben@haabendal.dk>
----
- Makefile.am  | 4 ++--
- configure.ac | 4 ++++
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 6568a355ed74..9051dd44edd9 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -142,7 +142,7 @@ $(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir)
- 	$(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
- 
- $(gummiboot_solib): $(gummiboot_objects)
--	$(AM_V_CCLD)$(LD) $(efi_ldflags) $(gummiboot_objects) \
-+	$(AM_V_CCLD)$(EFI_LD) $(efi_ldflags) $(gummiboot_objects) \
- 		-o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
- 	nm -D -u $@ | grep ' U ' && exit 1 || :
- .DELETE_ON_ERROR: $(gummboot_solib)
-@@ -177,7 +177,7 @@ $(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir)
- 	$(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
- 
- $(stub_solib): $(stub_objects)
--	$(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \
-+	$(AM_V_CCLD)$(EFI_LD) $(efi_ldflags) $(stub_objects) \
- 		-o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
- 	nm -D -u $@ | grep ' U ' && exit 1 || :
- .DELETE_ON_ERROR: $(gummboot_solib)
-diff --git a/configure.ac b/configure.ac
-index 27bbe1d73396..b948696c220b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -40,6 +40,10 @@ dnl Don't try to use things like -std=c99 for efi compilation
- EFI_CC=$CC
- AC_SUBST([EFI_CC])
- 
-+dnl Allow specifying linker compatible with the compiler
-+EFI_LD=$LD
-+AC_SUBST([EFI_LD])
-+
- AC_PROG_CC_C99
- AM_PROG_CC_C_O
- AC_PROG_GCC_TRADITIONAL
--- 
-2.21.0
-
diff --git a/boot/gummiboot/Config.in b/boot/gummiboot/Config.in
deleted file mode 100644
index 1b5c4279f7..0000000000
--- a/boot/gummiboot/Config.in
+++ /dev/null
@@ -1,24 +0,0 @@
-config BR2_TARGET_GUMMIBOOT
-	bool "gummiboot"
-	depends on BR2_i386 || BR2_x86_64
-	depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
-	select BR2_PACKAGE_GNU_EFI
-	select BR2_PACKAGE_UTIL_LINUX
-	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
-	help
-	  gummiboot is a simple UEFI boot manager which executes
-	  configured EFI images. The default entry is selected by a
-	  configured pattern (glob) or an on-screen menu.
-
-	  gummiboot operates on the EFI System Partition (ESP)
-	  only. Configuration file fragments, kernels, initrds, other
-	  EFI images need to reside on the ESP. Linux kernels need to
-	  be built with CONFIG_EFI_STUB to be able to be directly
-	  executed as an EFI image.
-
-	  See the Grub2 help text for details on preparing an EFI
-	  capable disk image using Gummiboot: the instructions are
-	  exactly the same, except that the Gummiboot configuration
-	  files will be located in /loader/ inside the EFI partition.
-
-	  http://freedesktop.org/wiki/Software/gummiboot/
diff --git a/boot/gummiboot/buildroot.conf b/boot/gummiboot/buildroot.conf
deleted file mode 100644
index 8a6f02e56a..0000000000
--- a/boot/gummiboot/buildroot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-title	Buildroot
-version	1
-linux	/bzImage
-options	console=ttyS0 root=/dev/sda2
diff --git a/boot/gummiboot/gummiboot.mk b/boot/gummiboot/gummiboot.mk
deleted file mode 100644
index eb1f3da78c..0000000000
--- a/boot/gummiboot/gummiboot.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-################################################################################
-#
-# gummiboot
-#
-################################################################################
-
-GUMMIBOOT_SITE = https://gitlab.freedesktop.org/archived-projects/gummiboot.git
-GUMMIBOOT_SITE_METHOD = git
-GUMMIBOOT_VERSION = 2bcd919c681c952eb867ef1bdb458f1bc49c2d55
-GUMMIBOOT_LICENSE = LGPL-2.1+
-GUMMIBOOT_LICENSE_FILES = LICENSE
-
-# The git archive does not have the autoconf/automake stuff generated.
-GUMMIBOOT_AUTORECONF = YES
-GUMMIBOOT_DEPENDENCIES = gnu-efi host-pkgconf util-linux
-GUMMIBOOT_INSTALL_TARGET = NO
-GUMMIBOOT_INSTALL_IMAGES = YES
-
-ifeq ($(BR2_i386),y)
-GUMMIBOOT_IMGARCH = ia32
-else ifeq ($(BR2_x86_64),y)
-GUMMIBOOT_IMGARCH = x64
-endif
-
-GUMMIBOOT_CONF_OPTS = \
-	--host=$(BR2_ARCH) \
-	--with-efi-libdir=$(STAGING_DIR)/usr/lib \
-	--with-efi-ldsdir=$(STAGING_DIR)/usr/lib \
-	--with-efi-includedir=$(STAGING_DIR)/usr/include \
-	--disable-manpages
-
-define GUMMIBOOT_INSTALL_IMAGES_CMDS
-	$(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \
-		$(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi
-	$(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \
-		$(BINARIES_DIR)/efi-part/loader/loader.conf
-	$(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \
-		$(BINARIES_DIR)/efi-part/loader/entries/buildroot.conf
-endef
-
-$(eval $(autotools-package))
diff --git a/boot/gummiboot/loader.conf b/boot/gummiboot/loader.conf
deleted file mode 100644
index 93b77b8f93..0000000000
--- a/boot/gummiboot/loader.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-timeout 3
-default buildroot
