Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Jul 2021 11:57:57 GMT
From:      Kevin Lo <kevlo@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 310466c582bf - main - sysutils/grub2-pcbsd: fix build with gcc10
Message-ID:  <202107061157.166BvvNi064861@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kevlo (src committer):

URL: https://cgit.FreeBSD.org/ports/commit/?id=310466c582bf8c7b816ecdf1d26234189aaa3c11

commit 310466c582bf8c7b816ecdf1d26234189aaa3c11
Author:     Kevin Lo <kevlo@FreeBSD.org>
AuthorDate: 2021-07-06 11:57:08 +0000
Commit:     Kevin Lo <kevlo@FreeBSD.org>
CommitDate: 2021-07-06 11:57:08 +0000

    sysutils/grub2-pcbsd: fix build with gcc10
    
    Revive grub2-pcbsd and grub2-efi ports.
    Thanks to lwhsu for valuable input.
    Approved by:    lwhsu
---
 MOVED                                              |   2 -
 sysutils/Makefile                                  |   2 +
 sysutils/grub2-efi/Makefile                        |  55 ++
 sysutils/grub2-efi/distinfo                        |   3 +
 .../grub2-efi/files/patch-grub-core_disk_geli.c    |  12 +
 .../patch-grub-core_lib_libgcrypt_src_types.h      |  11 +
 .../files/patch-grub-core_loader_i386_bsd.c        | 185 ++++++
 .../grub2-efi/files/patch-grub-core_partmap_gpt.c  |  20 +
 .../files/patch-include_grub_gpt__partition.h      |  17 +
 .../grub2-efi/files/patch-include_grub_i386_bsd.h  |  10 +
 .../patch-include_grub_i386_freebsd__bootinfo.h    |  36 ++
 sysutils/grub2-efi/files/patch-po_LINGUAS          |   5 +
 sysutils/grub2-efi/pkg-descr                       |   8 +
 sysutils/grub2-efi/pkg-plist                       | 521 ++++++++++++++++
 sysutils/grub2-pcbsd/Makefile                      |  91 +++
 sysutils/grub2-pcbsd/distinfo                      |   3 +
 sysutils/grub2-pcbsd/files/00_header.in            | 361 +++++++++++
 sysutils/grub2-pcbsd/files/10_kfreebsd.in          | 247 ++++++++
 sysutils/grub2-pcbsd/files/10_ktrueos.in           | 389 ++++++++++++
 sysutils/grub2-pcbsd/files/30_os-prober.in         | 140 +++++
 sysutils/grub2-pcbsd/files/50_otherbe.in           | 396 ++++++++++++
 sysutils/grub2-pcbsd/files/patch-configure.ac      |  20 +
 .../grub2-pcbsd/files/patch-grub-core_disk_geli.c  |  12 +
 .../patch-grub-core_lib_libgcrypt_src_types.h      |  11 +
 .../files/patch-grub-core_loader_i386_bsd.c        |  18 +
 .../files/patch-grub-core_osdep_freebsd_getroot.c  | 108 ++++
 .../files/patch-grub-core_osdep_unix_getroot.c     |  15 +
 .../files/patch-grub-core_osdep_unix_platform.c    | 100 +++
 .../files/patch-grub-core_partmap_gpt.c            |  20 +
 .../files/patch-include_grub_efiemu_runtime.h      |  11 +
 .../files/patch-include_grub_emu_getroot.h         |  11 +
 .../files/patch-include_grub_gpt__partition.h      |  17 +
 sysutils/grub2-pcbsd/files/patch-po_LINGUAS        |   5 +
 .../grub2-pcbsd/files/patch-util_grub-install.c    |  19 +
 .../grub2-pcbsd/files/patch-util_grub-mkconfig.in  |  14 +
 .../files/patch-util_grub-mkconfig__lib.in         |  21 +
 sysutils/grub2-pcbsd/files/patch-util_grub-probe.c |  19 +
 sysutils/grub2-pcbsd/pkg-descr                     |  11 +
 sysutils/grub2-pcbsd/pkg-message                   |  40 ++
 sysutils/grub2-pcbsd/pkg-plist                     | 681 +++++++++++++++++++++
 40 files changed, 3665 insertions(+), 2 deletions(-)

diff --git a/MOVED b/MOVED
index ae51b0932fb9..ea9ffff7949e 100644
--- a/MOVED
+++ b/MOVED
@@ -12656,8 +12656,6 @@ net/linuxigd||2019-05-09|Has expired: Abandonware; use net/miniupnpd instead
 net/openafs||2019-05-09|Has expired: Broken for more than 6 months
 security/quantis||2019-05-09|Has expired: Broken for more than 6 months
 sysutils/boxbackup||2019-05-09|Has expired: Broken for more than 6 months
-sysutils/grub2-efi||2019-05-09|Has expired: Broken for more than 6 months
-sysutils/grub2-pcbsd||2019-05-09|Has expired: Broken for more than 6 months
 sysutils/mdcp||2019-05-09|Has expired: Broken for more than 6 months
 sysutils/sbsigntool||2019-05-09|Has expired: Broken for more than 6 months
 www/py-cherrypy-old||2019-05-09|Has expired: Lates version is in tree and no dependent ports
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 9e85976162b9..9151f2c32bb8 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -472,6 +472,8 @@
     SUBDIR += graveman
     SUBDIR += graylog
     SUBDIR += grub2-bhyve
+    SUBDIR += grub2-efi
+    SUBDIR += grub2-pcbsd
     SUBDIR += gsh
     SUBDIR += gsmartcontrol
     SUBDIR += gstopd
diff --git a/sysutils/grub2-efi/Makefile b/sysutils/grub2-efi/Makefile
new file mode 100644
index 000000000000..29b6bcd71ef4
--- /dev/null
+++ b/sysutils/grub2-efi/Makefile
@@ -0,0 +1,55 @@
+# Created by: kmoore@FreeBSD.org
+
+PORTNAME=	grub2-efi
+PORTVERSION=	2.02
+PORTREVISION=	20
+CATEGORIES=	sysutils
+MASTER_SITES=	LOCAL/kevlo
+DISTNAME=	grub-${PORTVERSION}_7
+
+MAINTAINER=	kevlo@FreeBSD.org
+COMMENT=	Multiboot EFI boot loader
+
+LICENSE=	GPLv3
+
+RUN_DEPENDS=	${LOCALBASE}/bin/mformat:emulators/mtools \
+		${LOCALBASE}/bin/grub-mkrescue:sysutils/grub2-pcbsd
+BUILD_DEPENDS=	${LOCALBASE}/bin/flex:textproc/flex \
+		${LOCALBASE}/bin/bash:shells/bash \
+		help2man:misc/help2man
+
+ONLY_FOR_ARCHS=	amd64
+USES=		autoreconf:build bison cpe gettext gmake python tar:xz
+
+WRKSRC=		${WRKDIR}/grub-${PORTVERSION}
+SSP_UNSAFE=	yes
+USE_GCC=	yes
+GNU_CONFIGURE=	yes
+MAKE_JOBS_UNSAFE=	yes
+
+CPE_PRODUCT=	grub
+CPE_VENDOR=	gnu
+
+CONFIGURE_ARGS=	--with-platform=efi --disable-werror --localedir=${PREFIX}/share/locale
+CONFIGURE_ENV=	CPP="${CC} -E" \
+		LEX=${LOCALBASE}/bin/flex
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+	@${LN} -s ${LOCALBASE}/share/fonts/dejavu/DejaVuSans.ttf ${WRKSRC}
+	@${TOUCH} -t 200001010000 ${WRKSRC}/Makefile.util.def
+
+pre-configure:
+	@${REINPLACE_CMD} -e 's|python|${PYTHON_CMD}|g' ${WRKSRC}/autogen.sh
+	cd ${WRKSRC} && ./autogen.sh
+
+post-configure:
+	@${LN} -sfh /usr/include/machine /usr/include/sys /usr/include/x86 ${WRKSRC}/grub-core
+
+do-install:
+	@cd ${WRKSRC}/grub-core && ${GMAKE} install DESTDIR=${STAGEDIR}
+
+RUN_DEPENDS:=	${RUN_DEPENDS:Ngcc*}
+
+.include <bsd.port.post.mk>
diff --git a/sysutils/grub2-efi/distinfo b/sysutils/grub2-efi/distinfo
new file mode 100644
index 000000000000..8c609472f8d1
--- /dev/null
+++ b/sysutils/grub2-efi/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1625569310
+SHA256 (grub-2.02_7.tar.xz) = 044588d9754142f2982478cb4e7289ab1521fd4412b2a0804ce647c3ff73feff
+SIZE (grub-2.02_7.tar.xz) = 5019120
diff --git a/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c b/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c
new file mode 100644
index 000000000000..f8d1f9bed333
--- /dev/null
+++ b/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c
@@ -0,0 +1,12 @@
+--- grub-core/disk/geli.c.orig	2015-01-30 16:34:55 UTC
++++ grub-core/disk/geli.c
+@@ -445,6 +445,9 @@ recover_key (grub_disk_t source, grub_cr
+   if (!grub_password_get (passphrase, MAX_PASSPHRASE))
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied");
+ 
++  /* Set the GELI passphrase to GRUB env, for passing to FreeBSD kernel */
++  grub_env_set ("gelipassphrase", passphrase);
++
+   /* Calculate the PBKDF2 of the user supplied passphrase.  */
+   if (grub_le_to_cpu32 (header.niter) != 0)
+     {
diff --git a/sysutils/grub2-efi/files/patch-grub-core_lib_libgcrypt_src_types.h b/sysutils/grub2-efi/files/patch-grub-core_lib_libgcrypt_src_types.h
new file mode 100644
index 000000000000..9b353e42f498
--- /dev/null
+++ b/sysutils/grub2-efi/files/patch-grub-core_lib_libgcrypt_src_types.h
@@ -0,0 +1,11 @@
+--- grub-core/lib/libgcrypt/src/types.h.orig	2014-03-03 16:00:26 UTC
++++ grub-core/lib/libgcrypt/src/types.h
+@@ -113,6 +113,8 @@
+ #endif
+ #endif
+ 
++typedef uint64_t u64;
++
+ typedef union {
+     int a;
+     short b;
diff --git a/sysutils/grub2-efi/files/patch-grub-core_loader_i386_bsd.c b/sysutils/grub2-efi/files/patch-grub-core_loader_i386_bsd.c
new file mode 100644
index 000000000000..a69efa6d22b2
--- /dev/null
+++ b/sysutils/grub2-efi/files/patch-grub-core_loader_i386_bsd.c
@@ -0,0 +1,185 @@
+--- grub-core/loader/i386/bsd.c.orig	2015-01-30 16:34:55 UTC
++++ grub-core/loader/i386/bsd.c
+@@ -42,12 +42,14 @@
+ GRUB_MOD_LICENSE ("GPLv3+");
+ 
+ #include <grub/video.h>
++#include <grub/acpi.h>
+ #ifdef GRUB_MACHINE_PCBIOS
+ #include <grub/machine/biosnum.h>
+ #endif
+ #ifdef GRUB_MACHINE_EFI
+ #include <grub/efi/efi.h>
+ #define NETBSD_DEFAULT_VIDEO_MODE "800x600"
++#define FREEBSD_DEFAULT_VIDEO_MODE "auto"
+ #else
+ #define NETBSD_DEFAULT_VIDEO_MODE "text"
+ #include <grub/i386/pc/vbe.h>
+@@ -585,6 +587,72 @@ freebsd_get_zfs (void)
+   grub_free (uuid);
+ }
+ 
++#ifdef GRUB_MACHINE_EFI
++
++static grub_err_t
++grub_freebsd_setup_video (void)
++{
++  struct grub_video_mode_info mode_info;
++  void *framebuffer;
++  const char *modevar;
++  struct grub_freebsd_btinfo_framebuf efifb;
++  grub_err_t err;
++  grub_video_driver_id_t driv_id;
++
++  modevar = grub_env_get ("gfxpayload");
++
++  /* Now all graphical modes are acceptable.
++     May change in future if we have modes without framebuffer.  */
++  if (modevar && *modevar != 0)
++    {
++      char *tmp;
++      tmp = grub_xasprintf ("%s;" FREEBSD_DEFAULT_VIDEO_MODE, modevar);
++      if (! tmp)
++	return grub_errno;
++      err = grub_video_set_mode (tmp, 0, 0);
++      grub_free (tmp);
++    }
++  else
++    err = grub_video_set_mode (FREEBSD_DEFAULT_VIDEO_MODE, 0, 0);
++
++  if (err)
++    return err;
++
++  driv_id = grub_video_get_driver_id ();
++  if (driv_id == GRUB_VIDEO_DRIVER_NONE)
++    return GRUB_ERR_NONE;
++
++  err = grub_video_get_info_and_fini (&mode_info, &framebuffer);
++
++  if (err)
++    return err;
++
++  efifb.fb_width = mode_info.width;
++  efifb.fb_height = mode_info.height;
++  efifb.fb_stride = mode_info.pitch / mode_info.bytes_per_pixel;
++
++  efifb.fb_addr = (grub_addr_t) framebuffer;
++  efifb.fb_size = ALIGN_UP (mode_info.pitch * efifb.fb_height, 65536);
++
++  if ( mode_info.blue_field_pos == 16 ) {
++    efifb.fb_mask_red = 0x000000ff;
++    efifb.fb_mask_green = 0x0000ff00;
++    efifb.fb_mask_blue = 0x00ff0000;
++  }
++
++  if ( mode_info.blue_field_pos == 0 ) {
++    efifb.fb_mask_red = 0x00ff0000;
++    efifb.fb_mask_green = 0x0000ff00;
++    efifb.fb_mask_blue = 0x000000ff;
++  }
++
++  efifb.fb_mask_reserved = 0xff000000;
++
++  err = grub_bsd_add_meta ( FREEBSD_MODINFO_METADATA | FREEBSD_BTINFO_FRAMEBUF, &efifb, sizeof (efifb));
++  return err;
++}
++#endif
++
+ static grub_err_t
+ grub_freebsd_boot (void)
+ {
+@@ -603,6 +671,55 @@ grub_freebsd_boot (void)
+ 
+   bi.boot_device = freebsd_biosdev;
+ 
++#ifdef GRUB_MACHINE_EFI
++  /* When booting in EFI mode, we need to export some additional kernel ACPI hints */
++  struct grub_acpi_rsdp_v10 *v1;
++  struct grub_acpi_rsdp_v20 *v2;
++  v1 = grub_acpi_get_rsdpv1 ();
++  v2 = grub_acpi_get_rsdpv2 ();
++  if (v2 && v2->length > 40)
++    v2 = 0;
++
++  int revision;
++  char acpiBuf[24];
++
++  if (v1)
++  {
++     revision = v1->revision;
++     if ( revision == 0 )
++        revision = 1;
++     grub_snprintf (acpiBuf, sizeof (acpiBuf), "%d", revision);
++     grub_env_set("kFreeBSD.hint.acpi.0.revision", acpiBuf);
++
++     grub_snprintf (acpiBuf, sizeof (acpiBuf), "%s", v1->oemid);
++     grub_env_set("kFreeBSD.hint.acpi.0.oem", acpiBuf);
++
++     grub_snprintf (acpiBuf, sizeof (acpiBuf), "0x%016x", v1->rsdt_addr);
++     grub_env_set("kFreeBSD.hint.acpi.0.rsdt", acpiBuf);
++
++     grub_snprintf (acpiBuf, sizeof (acpiBuf), "0x%016llx", (unsigned long long)v1);
++     grub_env_set("kFreeBSD.hint.acpi.0.rsdp", acpiBuf);
++  }
++
++  if (v2)
++  {
++     revision = v2->rsdpv1.revision;
++     if ( revision == 0 )
++        revision = 1;
++
++     grub_snprintf (acpiBuf, sizeof (acpiBuf), "%d", revision);
++     grub_env_set("kFreeBSD.hint.acpi.0.revision", acpiBuf);
++
++     grub_snprintf (acpiBuf, sizeof (acpiBuf), "0x%016llx", (unsigned long long)v2->xsdt_addr);
++     grub_env_set("kFreeBSD.hint.acpi.0.xsdt", acpiBuf);
++
++     grub_snprintf (acpiBuf, sizeof (acpiBuf), "%d", v2->length);
++     grub_env_set("kFreeBSD.hint.acpi.0.xsdt_length", acpiBuf);
++  }
++
++
++#endif
++
+   p_size = 0;
+   FOR_SORTED_ENV (var)
+     if ((grub_memcmp (var->name, "kFreeBSD.", sizeof("kFreeBSD.") - 1) == 0) && (var->name[sizeof("kFreeBSD.") - 1]))
+@@ -688,6 +805,10 @@ grub_freebsd_boot (void)
+ 		*(grub_uint32_t *) p_tag = bootflags;
+ 	      break;
+ 
++	    case FREEBSD_MODINFO_METADATA | FREEBSD_BTINFO_FRAMEBUF:
++	      grub_memcpy (p_tag, tag->data, tag->len);
++	      break;
++
+ 	    case FREEBSD_MODINFO_METADATA | FREEBSD_MODINFOMD_ENVP:
+ 	      if (is_64bit)
+ 		*(grub_uint64_t *) p_tag = bi.environment;
+@@ -717,7 +838,10 @@ grub_freebsd_boot (void)
+ 
+   bi.kern_end = kern_end;
+ 
++#ifndef GRUB_MACHINE_EFI
++  /* Don't set text mode on EFI boot */
+   grub_video_set_mode ("text", 0, 0);
++#endif
+ 
+   if (is_64bit)
+     {
+@@ -1561,6 +1685,16 @@ grub_cmd_freebsd (grub_extcmd_context_t 
+ 				   FREEBSD_MODINFOMD_KERNEND, &data, len);
+ 	  if (err)
+ 	    return err;
++
++#ifdef GRUB_MACHINE_EFI
++	  err = grub_freebsd_setup_video ();
++	  if (err)
++	  {
++	    grub_print_error ();
++	    grub_puts_ (N_("Booting in EFI blind mode"));
++	    grub_errno = GRUB_ERR_NONE;
++	  }
++#endif
+ 	}
+       grub_bsd_get_device (&freebsd_biosdev, &unit, &slice, &part);
+       freebsd_zfsguid = 0;
diff --git a/sysutils/grub2-efi/files/patch-grub-core_partmap_gpt.c b/sysutils/grub2-efi/files/patch-grub-core_partmap_gpt.c
new file mode 100644
index 000000000000..5ed32e5fd0ae
--- /dev/null
+++ b/sysutils/grub2-efi/files/patch-grub-core_partmap_gpt.c
@@ -0,0 +1,20 @@
+--- grub-core/partmap/gpt.c.orig	2014-10-20 16:16:07 UTC
++++ grub-core/partmap/gpt.c
+@@ -37,6 +37,7 @@ static const grub_gpt_part_type_t grub_g
+ 
+ #ifdef GRUB_UTIL
+ static const grub_gpt_part_type_t grub_gpt_partition_type_bios_boot = GRUB_GPT_PARTITION_TYPE_BIOS_BOOT;
++static const grub_gpt_part_type_t grub_gpt_partition_type_freebsd_boot = GRUB_GPT_PARTITION_TYPE_FREEBSD_BOOT;
+ #endif
+ 
+ /* 512 << 7 = 65536 byte sectors.  */
+@@ -155,7 +156,8 @@ find_usable_region (grub_disk_t disk __a
+   disk->partition = p2;
+ 
+   /* If there's an embed region, it is in a dedicated partition.  */
+-  if (! grub_memcmp (&gptdata.type, &grub_gpt_partition_type_bios_boot, 16))
++  if (! grub_memcmp (&gptdata.type, &grub_gpt_partition_type_bios_boot, 16) ||
++      ! grub_memcmp (&gptdata.type, &grub_gpt_partition_type_freebsd_boot, 16))
+     {
+       ctx->start = p->start;
+       ctx->len = p->len;
diff --git a/sysutils/grub2-efi/files/patch-include_grub_gpt__partition.h b/sysutils/grub2-efi/files/patch-include_grub_gpt__partition.h
new file mode 100644
index 000000000000..d8da78eea7b3
--- /dev/null
+++ b/sysutils/grub2-efi/files/patch-include_grub_gpt__partition.h
@@ -0,0 +1,17 @@
+--- include/grub/gpt_partition.h.orig	2014-03-03 16:00:26 UTC
++++ include/grub/gpt_partition.h
+@@ -43,6 +43,14 @@ typedef struct grub_gpt_part_type grub_g
+     { 0x74, 0x4e, 0x65, 0x65, 0x64, 0x45, 0x46, 0x49 } \
+   }
+ 
++#define GRUB_GPT_PARTITION_TYPE_FREEBSD_BOOT \
++  { grub_cpu_to_le32_compile_time (0x83bd6b9d), \
++      grub_cpu_to_le16_compile_time (0x7f41), \
++      grub_cpu_to_le16_compile_time (0x11dc),	       \
++    { 0xbe, 0x0b, 0x00, 0x15, 0x60, 0xb8, 0x4f, 0x0f } \
++  }
++
++
+ #define GRUB_GPT_PARTITION_TYPE_LDM \
+   { grub_cpu_to_le32_compile_time (0x5808C8AAU),\
+       grub_cpu_to_le16_compile_time (0x7E8F), \
diff --git a/sysutils/grub2-efi/files/patch-include_grub_i386_bsd.h b/sysutils/grub2-efi/files/patch-include_grub_i386_bsd.h
new file mode 100644
index 000000000000..3de8d0bb203e
--- /dev/null
+++ b/sysutils/grub2-efi/files/patch-include_grub_i386_bsd.h
@@ -0,0 +1,10 @@
+--- include/grub/i386/bsd.h.orig	2014-12-30 21:10:24 UTC
++++ include/grub/i386/bsd.h
+@@ -26,6 +26,7 @@
+ #include <grub/i386/netbsd_reboot.h>
+ #include <grub/i386/openbsd_reboot.h>
+ #include <grub/i386/freebsd_linker.h>
++#include <grub/i386/freebsd_bootinfo.h>
+ #include <grub/i386/netbsd_bootinfo.h>
+ #include <grub/i386/openbsd_bootarg.h>
+ 
diff --git a/sysutils/grub2-efi/files/patch-include_grub_i386_freebsd__bootinfo.h b/sysutils/grub2-efi/files/patch-include_grub_i386_freebsd__bootinfo.h
new file mode 100644
index 000000000000..359342e38066
--- /dev/null
+++ b/sysutils/grub2-efi/files/patch-include_grub_i386_freebsd__bootinfo.h
@@ -0,0 +1,36 @@
+--- include/grub/i386/freebsd_bootinfo.h.orig	2015-06-07 21:44:01 UTC
++++ include/grub/i386/freebsd_bootinfo.h
+@@ -0,0 +1,33 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2008,2009  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <grub/types.h>
++
++#define FREEBSD_BTINFO_FRAMEBUF  0x1005
++
++struct grub_freebsd_btinfo_framebuf {
++  grub_uint64_t        fb_addr;
++  grub_uint64_t        fb_size;
++  grub_int32_t         fb_height;
++  grub_int32_t         fb_width;
++  grub_int32_t         fb_stride;
++  grub_uint32_t        fb_mask_red;
++  grub_uint32_t        fb_mask_green;
++  grub_uint32_t        fb_mask_blue;
++  grub_uint32_t        fb_mask_reserved;
++};
diff --git a/sysutils/grub2-efi/files/patch-po_LINGUAS b/sysutils/grub2-efi/files/patch-po_LINGUAS
new file mode 100644
index 000000000000..2dbcb6e4d4cc
--- /dev/null
+++ b/sysutils/grub2-efi/files/patch-po_LINGUAS
@@ -0,0 +1,5 @@
+--- po/LINGUAS.orig	2015-01-30 16:30:32 UTC
++++ po/LINGUAS
+@@ -1 +1 @@
+-ast ca da de de@hebrew de_CH en@arabic en@cyrillic en@greek en@hebrew en@piglatin en@quot eo es fi fr gl hu id it ja lt nb nl pa pl pt_BR ru sl sv tr uk vi zh_CN zh_TW
++ast ca da de eo es fi fr gl hu id it ja lt nb nl pa pl pt_BR ru sl sv tr uk vi zh_CN zh_TW
diff --git a/sysutils/grub2-efi/pkg-descr b/sysutils/grub2-efi/pkg-descr
new file mode 100644
index 000000000000..9960c6e8f4bd
--- /dev/null
+++ b/sysutils/grub2-efi/pkg-descr
@@ -0,0 +1,8 @@
+GNU GRUB is a multiboot boot loader.  It was derived from GRUB, the GRand
+Unified Bootloader, which was originally designed and implemented by Erich
+Stefan Boleyn.
+
+This port builds the GRUB x86_64-efi boot modules, allowing grub-install
+or grub-mkrescue to install with EFI support.
+
+WWW: http://www.gnu.org/software/grub/
diff --git a/sysutils/grub2-efi/pkg-plist b/sysutils/grub2-efi/pkg-plist
new file mode 100644
index 000000000000..c512c40925dc
--- /dev/null
+++ b/sysutils/grub2-efi/pkg-plist
@@ -0,0 +1,521 @@
+lib/grub/x86_64-efi/acpi.mod
+lib/grub/x86_64-efi/acpi.module
+lib/grub/x86_64-efi/adler32.mod
+lib/grub/x86_64-efi/adler32.module
+lib/grub/x86_64-efi/affs.mod
+lib/grub/x86_64-efi/affs.module
+lib/grub/x86_64-efi/afs.mod
+lib/grub/x86_64-efi/afs.module
+lib/grub/x86_64-efi/ahci.mod
+lib/grub/x86_64-efi/ahci.module
+lib/grub/x86_64-efi/all_video.mod
+lib/grub/x86_64-efi/all_video.module
+lib/grub/x86_64-efi/aout.mod
+lib/grub/x86_64-efi/aout.module
+lib/grub/x86_64-efi/appleldr.mod
+lib/grub/x86_64-efi/appleldr.module
+lib/grub/x86_64-efi/archelp.mod
+lib/grub/x86_64-efi/archelp.module
+lib/grub/x86_64-efi/at_keyboard.mod
+lib/grub/x86_64-efi/at_keyboard.module
+lib/grub/x86_64-efi/ata.mod
+lib/grub/x86_64-efi/ata.module
+lib/grub/x86_64-efi/backtrace.mod
+lib/grub/x86_64-efi/backtrace.module
+lib/grub/x86_64-efi/bfs.mod
+lib/grub/x86_64-efi/bfs.module
+lib/grub/x86_64-efi/bitmap.mod
+lib/grub/x86_64-efi/bitmap.module
+lib/grub/x86_64-efi/bitmap_scale.mod
+lib/grub/x86_64-efi/bitmap_scale.module
+lib/grub/x86_64-efi/blocklist.mod
+lib/grub/x86_64-efi/blocklist.module
+lib/grub/x86_64-efi/boot.mod
+lib/grub/x86_64-efi/boot.module
+lib/grub/x86_64-efi/bsd.mod
+lib/grub/x86_64-efi/bsd.module
+lib/grub/x86_64-efi/bswap_test.mod
+lib/grub/x86_64-efi/bswap_test.module
+lib/grub/x86_64-efi/btrfs.mod
+lib/grub/x86_64-efi/btrfs.module
+lib/grub/x86_64-efi/bufio.mod
+lib/grub/x86_64-efi/bufio.module
+lib/grub/x86_64-efi/cat.mod
+lib/grub/x86_64-efi/cat.module
+lib/grub/x86_64-efi/cbfs.mod
+lib/grub/x86_64-efi/cbfs.module
+lib/grub/x86_64-efi/cbls.mod
+lib/grub/x86_64-efi/cbls.module
+lib/grub/x86_64-efi/cbmemc.mod
+lib/grub/x86_64-efi/cbmemc.module
+lib/grub/x86_64-efi/cbtable.mod
+lib/grub/x86_64-efi/cbtable.module
+lib/grub/x86_64-efi/cbtime.mod
+lib/grub/x86_64-efi/cbtime.module
+lib/grub/x86_64-efi/chain.mod
+lib/grub/x86_64-efi/chain.module
+lib/grub/x86_64-efi/cmdline_cat_test.mod
+lib/grub/x86_64-efi/cmdline_cat_test.module
+lib/grub/x86_64-efi/cmp.mod
+lib/grub/x86_64-efi/cmp.module
+lib/grub/x86_64-efi/cmp_test.mod
+lib/grub/x86_64-efi/cmp_test.module
+lib/grub/x86_64-efi/command.lst
+lib/grub/x86_64-efi/configfile.mod
+lib/grub/x86_64-efi/configfile.module
+lib/grub/x86_64-efi/cpio.mod
+lib/grub/x86_64-efi/cpio.module
+lib/grub/x86_64-efi/cpio_be.mod
+lib/grub/x86_64-efi/cpio_be.module
+lib/grub/x86_64-efi/cpuid.mod
+lib/grub/x86_64-efi/cpuid.module
+lib/grub/x86_64-efi/crc64.mod
+lib/grub/x86_64-efi/crc64.module
+lib/grub/x86_64-efi/crypto.lst
+lib/grub/x86_64-efi/crypto.mod
+lib/grub/x86_64-efi/crypto.module
+lib/grub/x86_64-efi/cryptodisk.mod
+lib/grub/x86_64-efi/cryptodisk.module
+lib/grub/x86_64-efi/cs5536.mod
+lib/grub/x86_64-efi/cs5536.module
+lib/grub/x86_64-efi/ctz_test.mod
+lib/grub/x86_64-efi/ctz_test.module
+lib/grub/x86_64-efi/date.mod
+lib/grub/x86_64-efi/date.module
+lib/grub/x86_64-efi/datehook.mod
+lib/grub/x86_64-efi/datehook.module
+lib/grub/x86_64-efi/datetime.mod
+lib/grub/x86_64-efi/datetime.module
+lib/grub/x86_64-efi/disk.mod
+lib/grub/x86_64-efi/disk.module
+lib/grub/x86_64-efi/diskfilter.mod
+lib/grub/x86_64-efi/diskfilter.module
+lib/grub/x86_64-efi/div.mod
+lib/grub/x86_64-efi/div.module
+lib/grub/x86_64-efi/div_test.mod
+lib/grub/x86_64-efi/div_test.module
+lib/grub/x86_64-efi/dm_nv.mod
+lib/grub/x86_64-efi/dm_nv.module
+lib/grub/x86_64-efi/echo.mod
+lib/grub/x86_64-efi/echo.module
+lib/grub/x86_64-efi/efi_gop.mod
+lib/grub/x86_64-efi/efi_gop.module
+lib/grub/x86_64-efi/efi_uga.mod
+lib/grub/x86_64-efi/efi_uga.module
+lib/grub/x86_64-efi/efifwsetup.mod
+lib/grub/x86_64-efi/efifwsetup.module
+lib/grub/x86_64-efi/efinet.mod
+lib/grub/x86_64-efi/efinet.module
+lib/grub/x86_64-efi/ehci.mod
+lib/grub/x86_64-efi/ehci.module
+lib/grub/x86_64-efi/elf.mod
+lib/grub/x86_64-efi/elf.module
+lib/grub/x86_64-efi/eval.mod
+lib/grub/x86_64-efi/eval.module
+lib/grub/x86_64-efi/exfat.mod
+lib/grub/x86_64-efi/exfat.module
+lib/grub/x86_64-efi/exfctest.mod
+lib/grub/x86_64-efi/exfctest.module
+lib/grub/x86_64-efi/ext2.mod
+lib/grub/x86_64-efi/ext2.module
+lib/grub/x86_64-efi/extcmd.mod
+lib/grub/x86_64-efi/extcmd.module
+lib/grub/x86_64-efi/fat.mod
+lib/grub/x86_64-efi/fat.module
+lib/grub/x86_64-efi/file.mod
+lib/grub/x86_64-efi/file.module
+lib/grub/x86_64-efi/fixvideo.mod
+lib/grub/x86_64-efi/fixvideo.module
+lib/grub/x86_64-efi/font.mod
+lib/grub/x86_64-efi/font.module
+lib/grub/x86_64-efi/fs.lst
+lib/grub/x86_64-efi/fshelp.mod
+lib/grub/x86_64-efi/fshelp.module
+lib/grub/x86_64-efi/functional_test.mod
+lib/grub/x86_64-efi/functional_test.module
+lib/grub/x86_64-efi/gcry_arcfour.mod
+lib/grub/x86_64-efi/gcry_arcfour.module
+lib/grub/x86_64-efi/gcry_blowfish.mod
+lib/grub/x86_64-efi/gcry_blowfish.module
+lib/grub/x86_64-efi/gcry_camellia.mod
+lib/grub/x86_64-efi/gcry_camellia.module
+lib/grub/x86_64-efi/gcry_cast5.mod
+lib/grub/x86_64-efi/gcry_cast5.module
+lib/grub/x86_64-efi/gcry_crc.mod
+lib/grub/x86_64-efi/gcry_crc.module
+lib/grub/x86_64-efi/gcry_des.mod
+lib/grub/x86_64-efi/gcry_des.module
+lib/grub/x86_64-efi/gcry_dsa.mod
+lib/grub/x86_64-efi/gcry_dsa.module
+lib/grub/x86_64-efi/gcry_idea.mod
+lib/grub/x86_64-efi/gcry_idea.module
+lib/grub/x86_64-efi/gcry_md4.mod
+lib/grub/x86_64-efi/gcry_md4.module
+lib/grub/x86_64-efi/gcry_md5.mod
+lib/grub/x86_64-efi/gcry_md5.module
+lib/grub/x86_64-efi/gcry_rfc2268.mod
+lib/grub/x86_64-efi/gcry_rfc2268.module
+lib/grub/x86_64-efi/gcry_rijndael.mod
+lib/grub/x86_64-efi/gcry_rijndael.module
+lib/grub/x86_64-efi/gcry_rmd160.mod
+lib/grub/x86_64-efi/gcry_rmd160.module
+lib/grub/x86_64-efi/gcry_rsa.mod
+lib/grub/x86_64-efi/gcry_rsa.module
+lib/grub/x86_64-efi/gcry_seed.mod
+lib/grub/x86_64-efi/gcry_seed.module
+lib/grub/x86_64-efi/gcry_serpent.mod
+lib/grub/x86_64-efi/gcry_serpent.module
+lib/grub/x86_64-efi/gcry_sha1.mod
+lib/grub/x86_64-efi/gcry_sha1.module
+lib/grub/x86_64-efi/gcry_sha256.mod
+lib/grub/x86_64-efi/gcry_sha256.module
+lib/grub/x86_64-efi/gcry_sha512.mod
+lib/grub/x86_64-efi/gcry_sha512.module
+lib/grub/x86_64-efi/gcry_tiger.mod
+lib/grub/x86_64-efi/gcry_tiger.module
+lib/grub/x86_64-efi/gcry_twofish.mod
+lib/grub/x86_64-efi/gcry_twofish.module
+lib/grub/x86_64-efi/gcry_whirlpool.mod
+lib/grub/x86_64-efi/gcry_whirlpool.module
+lib/grub/x86_64-efi/gdb_grub
+lib/grub/x86_64-efi/geli.mod
+lib/grub/x86_64-efi/geli.module
+lib/grub/x86_64-efi/gettext.mod
+lib/grub/x86_64-efi/gettext.module
+lib/grub/x86_64-efi/gfxmenu.mod
+lib/grub/x86_64-efi/gfxmenu.module
+lib/grub/x86_64-efi/gfxterm.mod
+lib/grub/x86_64-efi/gfxterm.module
+lib/grub/x86_64-efi/gfxterm_background.mod
+lib/grub/x86_64-efi/gfxterm_background.module
+lib/grub/x86_64-efi/gfxterm_menu.mod
+lib/grub/x86_64-efi/gfxterm_menu.module
+lib/grub/x86_64-efi/gmodule.pl
+lib/grub/x86_64-efi/gptsync.mod
+lib/grub/x86_64-efi/gptsync.module
+lib/grub/x86_64-efi/gzio.mod
+lib/grub/x86_64-efi/gzio.module
+lib/grub/x86_64-efi/halt.mod
+lib/grub/x86_64-efi/halt.module
+lib/grub/x86_64-efi/hashsum.mod
+lib/grub/x86_64-efi/hashsum.module
+lib/grub/x86_64-efi/hdparm.mod
+lib/grub/x86_64-efi/hdparm.module
+lib/grub/x86_64-efi/hello.mod
+lib/grub/x86_64-efi/hello.module
+lib/grub/x86_64-efi/help.mod
+lib/grub/x86_64-efi/help.module
+lib/grub/x86_64-efi/hexdump.mod
+lib/grub/x86_64-efi/hexdump.module
+lib/grub/x86_64-efi/hfs.mod
+lib/grub/x86_64-efi/hfs.module
+lib/grub/x86_64-efi/hfsplus.mod
+lib/grub/x86_64-efi/hfsplus.module
+lib/grub/x86_64-efi/hfspluscomp.mod
+lib/grub/x86_64-efi/hfspluscomp.module
+lib/grub/x86_64-efi/http.mod
+lib/grub/x86_64-efi/http.module
+lib/grub/x86_64-efi/iorw.mod
+lib/grub/x86_64-efi/iorw.module
+lib/grub/x86_64-efi/iso9660.mod
+lib/grub/x86_64-efi/iso9660.module
+lib/grub/x86_64-efi/jfs.mod
+lib/grub/x86_64-efi/jfs.module
+lib/grub/x86_64-efi/jpeg.mod
+lib/grub/x86_64-efi/jpeg.module
+lib/grub/x86_64-efi/kernel.exec
+lib/grub/x86_64-efi/kernel.img
+lib/grub/x86_64-efi/keylayouts.mod
+lib/grub/x86_64-efi/keylayouts.module
+lib/grub/x86_64-efi/keystatus.mod
+lib/grub/x86_64-efi/keystatus.module
+lib/grub/x86_64-efi/ldm.mod
+lib/grub/x86_64-efi/ldm.module
+lib/grub/x86_64-efi/legacy_password_test.mod
+lib/grub/x86_64-efi/legacy_password_test.module
+lib/grub/x86_64-efi/legacycfg.mod
+lib/grub/x86_64-efi/legacycfg.module
+lib/grub/x86_64-efi/linux.mod
+lib/grub/x86_64-efi/linux.module
+lib/grub/x86_64-efi/linux16.mod
+lib/grub/x86_64-efi/linux16.module
+lib/grub/x86_64-efi/loadbios.mod
+lib/grub/x86_64-efi/loadbios.module
+lib/grub/x86_64-efi/loadenv.mod
+lib/grub/x86_64-efi/loadenv.module
+lib/grub/x86_64-efi/loopback.mod
+lib/grub/x86_64-efi/loopback.module
+lib/grub/x86_64-efi/ls.mod
+lib/grub/x86_64-efi/ls.module
+lib/grub/x86_64-efi/lsacpi.mod
+lib/grub/x86_64-efi/lsacpi.module
+lib/grub/x86_64-efi/lsefi.mod
+lib/grub/x86_64-efi/lsefi.module
+lib/grub/x86_64-efi/lsefimmap.mod
+lib/grub/x86_64-efi/lsefimmap.module
+lib/grub/x86_64-efi/lsefisystab.mod
+lib/grub/x86_64-efi/lsefisystab.module
+lib/grub/x86_64-efi/lsmmap.mod
+lib/grub/x86_64-efi/lsmmap.module
+lib/grub/x86_64-efi/lspci.mod
+lib/grub/x86_64-efi/lspci.module
+lib/grub/x86_64-efi/lssal.mod
+lib/grub/x86_64-efi/lssal.module
+lib/grub/x86_64-efi/luks.mod
+lib/grub/x86_64-efi/luks.module
+lib/grub/x86_64-efi/lvm.mod
+lib/grub/x86_64-efi/lvm.module
+lib/grub/x86_64-efi/lzopio.mod
+lib/grub/x86_64-efi/lzopio.module
+lib/grub/x86_64-efi/macbless.mod
+lib/grub/x86_64-efi/macbless.module
+lib/grub/x86_64-efi/macho.mod
+lib/grub/x86_64-efi/macho.module
+lib/grub/x86_64-efi/mdraid09.mod
+lib/grub/x86_64-efi/mdraid09.module
+lib/grub/x86_64-efi/mdraid09_be.mod
+lib/grub/x86_64-efi/mdraid09_be.module
+lib/grub/x86_64-efi/mdraid1x.mod
+lib/grub/x86_64-efi/mdraid1x.module
+lib/grub/x86_64-efi/memdisk.mod
+lib/grub/x86_64-efi/memdisk.module
+lib/grub/x86_64-efi/memrw.mod
+lib/grub/x86_64-efi/memrw.module
+lib/grub/x86_64-efi/minicmd.mod
+lib/grub/x86_64-efi/minicmd.module
+lib/grub/x86_64-efi/minix.mod
+lib/grub/x86_64-efi/minix.module
+lib/grub/x86_64-efi/minix2.mod
+lib/grub/x86_64-efi/minix2.module
+lib/grub/x86_64-efi/minix2_be.mod
+lib/grub/x86_64-efi/minix2_be.module
+lib/grub/x86_64-efi/minix3.mod
+lib/grub/x86_64-efi/minix3.module
+lib/grub/x86_64-efi/minix3_be.mod
+lib/grub/x86_64-efi/minix3_be.module
+lib/grub/x86_64-efi/minix_be.mod
+lib/grub/x86_64-efi/minix_be.module
+lib/grub/x86_64-efi/mmap.mod
+lib/grub/x86_64-efi/mmap.module
+lib/grub/x86_64-efi/moddep.lst
+lib/grub/x86_64-efi/modinfo.sh
+lib/grub/x86_64-efi/morse.mod
+lib/grub/x86_64-efi/morse.module
+lib/grub/x86_64-efi/mpi.mod
+lib/grub/x86_64-efi/mpi.module
+lib/grub/x86_64-efi/msdospart.mod
+lib/grub/x86_64-efi/msdospart.module
+lib/grub/x86_64-efi/mul_test.mod
+lib/grub/x86_64-efi/mul_test.module
+lib/grub/x86_64-efi/multiboot.mod
+lib/grub/x86_64-efi/multiboot.module
+lib/grub/x86_64-efi/multiboot2.mod
+lib/grub/x86_64-efi/multiboot2.module
+lib/grub/x86_64-efi/nativedisk.mod
+lib/grub/x86_64-efi/nativedisk.module
+lib/grub/x86_64-efi/net.mod
+lib/grub/x86_64-efi/net.module
+lib/grub/x86_64-efi/newc.mod
+lib/grub/x86_64-efi/newc.module
+lib/grub/x86_64-efi/nilfs2.mod
+lib/grub/x86_64-efi/nilfs2.module
+lib/grub/x86_64-efi/normal.mod
+lib/grub/x86_64-efi/normal.module
+lib/grub/x86_64-efi/ntfs.mod
+lib/grub/x86_64-efi/ntfs.module
+lib/grub/x86_64-efi/ntfscomp.mod
+lib/grub/x86_64-efi/ntfscomp.module
+lib/grub/x86_64-efi/odc.mod
+lib/grub/x86_64-efi/odc.module
+lib/grub/x86_64-efi/offsetio.mod
+lib/grub/x86_64-efi/offsetio.module
+lib/grub/x86_64-efi/ohci.mod
+lib/grub/x86_64-efi/ohci.module
+lib/grub/x86_64-efi/part_acorn.mod
+lib/grub/x86_64-efi/part_acorn.module
+lib/grub/x86_64-efi/part_amiga.mod
+lib/grub/x86_64-efi/part_amiga.module
+lib/grub/x86_64-efi/part_apple.mod
+lib/grub/x86_64-efi/part_apple.module
+lib/grub/x86_64-efi/part_bsd.mod
+lib/grub/x86_64-efi/part_bsd.module
+lib/grub/x86_64-efi/part_dfly.mod
+lib/grub/x86_64-efi/part_dfly.module
+lib/grub/x86_64-efi/part_dvh.mod
+lib/grub/x86_64-efi/part_dvh.module
+lib/grub/x86_64-efi/part_gpt.mod
+lib/grub/x86_64-efi/part_gpt.module
+lib/grub/x86_64-efi/part_msdos.mod
+lib/grub/x86_64-efi/part_msdos.module
+lib/grub/x86_64-efi/part_plan.mod
+lib/grub/x86_64-efi/part_plan.module
+lib/grub/x86_64-efi/part_sun.mod
+lib/grub/x86_64-efi/part_sun.module
+lib/grub/x86_64-efi/part_sunpc.mod
+lib/grub/x86_64-efi/part_sunpc.module
+lib/grub/x86_64-efi/partmap.lst
+lib/grub/x86_64-efi/parttool.lst
+lib/grub/x86_64-efi/parttool.mod
+lib/grub/x86_64-efi/parttool.module
+lib/grub/x86_64-efi/password.mod
+lib/grub/x86_64-efi/password.module
+lib/grub/x86_64-efi/password_pbkdf2.mod
+lib/grub/x86_64-efi/password_pbkdf2.module
+lib/grub/x86_64-efi/pata.mod
+lib/grub/x86_64-efi/pata.module
+lib/grub/x86_64-efi/pbkdf2.mod
+lib/grub/x86_64-efi/pbkdf2.module
+lib/grub/x86_64-efi/pbkdf2_test.mod
+lib/grub/x86_64-efi/pbkdf2_test.module
+lib/grub/x86_64-efi/pcidump.mod
+lib/grub/x86_64-efi/pcidump.module
+lib/grub/x86_64-efi/play.mod
+lib/grub/x86_64-efi/play.module
+lib/grub/x86_64-efi/png.mod
+lib/grub/x86_64-efi/png.module
+lib/grub/x86_64-efi/priority_queue.mod
+lib/grub/x86_64-efi/priority_queue.module
+lib/grub/x86_64-efi/probe.mod
+lib/grub/x86_64-efi/probe.module
+lib/grub/x86_64-efi/procfs.mod
+lib/grub/x86_64-efi/procfs.module
+lib/grub/x86_64-efi/progress.mod
+lib/grub/x86_64-efi/progress.module
+lib/grub/x86_64-efi/raid5rec.mod
+lib/grub/x86_64-efi/raid5rec.module
+lib/grub/x86_64-efi/raid6rec.mod
+lib/grub/x86_64-efi/raid6rec.module
+lib/grub/x86_64-efi/read.mod
+lib/grub/x86_64-efi/read.module
+lib/grub/x86_64-efi/reboot.mod
+lib/grub/x86_64-efi/reboot.module
+lib/grub/x86_64-efi/regexp.mod
+lib/grub/x86_64-efi/regexp.module
+lib/grub/x86_64-efi/reiserfs.mod
+lib/grub/x86_64-efi/reiserfs.module
+lib/grub/x86_64-efi/relocator.mod
+lib/grub/x86_64-efi/relocator.module
+lib/grub/x86_64-efi/romfs.mod
+lib/grub/x86_64-efi/romfs.module
+lib/grub/x86_64-efi/scsi.mod
+lib/grub/x86_64-efi/scsi.module
+lib/grub/x86_64-efi/search.mod
+lib/grub/x86_64-efi/search.module
+lib/grub/x86_64-efi/search_fs_file.mod
+lib/grub/x86_64-efi/search_fs_file.module
+lib/grub/x86_64-efi/search_fs_uuid.mod
+lib/grub/x86_64-efi/search_fs_uuid.module
+lib/grub/x86_64-efi/search_label.mod
+lib/grub/x86_64-efi/search_label.module
+lib/grub/x86_64-efi/serial.mod
+lib/grub/x86_64-efi/serial.module
+lib/grub/x86_64-efi/setjmp.mod
+lib/grub/x86_64-efi/setjmp.module
+lib/grub/x86_64-efi/setjmp_test.mod
+lib/grub/x86_64-efi/setjmp_test.module
+lib/grub/x86_64-efi/setpci.mod
+lib/grub/x86_64-efi/setpci.module
+lib/grub/x86_64-efi/sfs.mod
+lib/grub/x86_64-efi/sfs.module
+lib/grub/x86_64-efi/shift_test.mod
+lib/grub/x86_64-efi/shift_test.module
+lib/grub/x86_64-efi/signature_test.mod
+lib/grub/x86_64-efi/signature_test.module
+lib/grub/x86_64-efi/sleep.mod
+lib/grub/x86_64-efi/sleep.module
+lib/grub/x86_64-efi/sleep_test.mod
+lib/grub/x86_64-efi/sleep_test.module
+lib/grub/x86_64-efi/spkmodem.mod
+lib/grub/x86_64-efi/spkmodem.module
+lib/grub/x86_64-efi/squash4.mod
+lib/grub/x86_64-efi/squash4.module
+lib/grub/x86_64-efi/syslinuxcfg.mod
+lib/grub/x86_64-efi/syslinuxcfg.module
+lib/grub/x86_64-efi/tar.mod
+lib/grub/x86_64-efi/tar.module
+lib/grub/x86_64-efi/terminal.lst
+lib/grub/x86_64-efi/terminal.mod
+lib/grub/x86_64-efi/terminal.module
+lib/grub/x86_64-efi/terminfo.mod
+lib/grub/x86_64-efi/terminfo.module
+lib/grub/x86_64-efi/test.mod
+lib/grub/x86_64-efi/test.module
+lib/grub/x86_64-efi/test_blockarg.mod
+lib/grub/x86_64-efi/test_blockarg.module
+lib/grub/x86_64-efi/testload.mod
+lib/grub/x86_64-efi/testload.module
+lib/grub/x86_64-efi/testspeed.mod
+lib/grub/x86_64-efi/testspeed.module
+lib/grub/x86_64-efi/tftp.mod
+lib/grub/x86_64-efi/tftp.module
+lib/grub/x86_64-efi/tga.mod
+lib/grub/x86_64-efi/tga.module
+lib/grub/x86_64-efi/time.mod
+lib/grub/x86_64-efi/time.module
+lib/grub/x86_64-efi/tr.mod
+lib/grub/x86_64-efi/tr.module
+lib/grub/x86_64-efi/trig.mod
+lib/grub/x86_64-efi/trig.module
+lib/grub/x86_64-efi/true.mod
+lib/grub/x86_64-efi/true.module
+lib/grub/x86_64-efi/udf.mod
+lib/grub/x86_64-efi/udf.module
+lib/grub/x86_64-efi/ufs1.mod
+lib/grub/x86_64-efi/ufs1.module
+lib/grub/x86_64-efi/ufs1_be.mod
+lib/grub/x86_64-efi/ufs1_be.module
+lib/grub/x86_64-efi/ufs2.mod
+lib/grub/x86_64-efi/ufs2.module
+lib/grub/x86_64-efi/uhci.mod
*** 2988 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107061157.166BvvNi064861>