[Midnightbsd-cvs] mports [23623] trunk/sysutils: add more grub ports

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Jul 22 12:23:56 EDT 2018


Revision: 23623
          http://svnweb.midnightbsd.org/mports/?rev=23623
Author:   laffer1
Date:     2018-07-22 12:23:54 -0400 (Sun, 22 Jul 2018)
Log Message:
-----------
add more grub ports

Modified Paths:
--------------
    trunk/sysutils/Makefile

Added Paths:
-----------
    trunk/sysutils/grub2-efi/
    trunk/sysutils/grub2-efi/Makefile
    trunk/sysutils/grub2-efi/distinfo
    trunk/sysutils/grub2-efi/files/
    trunk/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c
    trunk/sysutils/grub2-efi/files/patch-grub-core_lib_libgcrypt_src_types.h
    trunk/sysutils/grub2-efi/files/patch-grub-core_loader_i386_bsd.c
    trunk/sysutils/grub2-efi/files/patch-grub-core_partmap_gpt.c
    trunk/sysutils/grub2-efi/files/patch-include_grub_gpt__partition.h
    trunk/sysutils/grub2-efi/files/patch-include_grub_i386_bsd.h
    trunk/sysutils/grub2-efi/files/patch-include_grub_i386_freebsd__bootinfo.h
    trunk/sysutils/grub2-efi/files/patch-po_LINGUAS
    trunk/sysutils/grub2-efi/pkg-descr
    trunk/sysutils/grub2-efi/pkg-plist
    trunk/sysutils/grub2-pcbsd/
    trunk/sysutils/grub2-pcbsd/Makefile
    trunk/sysutils/grub2-pcbsd/distinfo
    trunk/sysutils/grub2-pcbsd/files/
    trunk/sysutils/grub2-pcbsd/files/00_header.in
    trunk/sysutils/grub2-pcbsd/files/10_kfreebsd.in
    trunk/sysutils/grub2-pcbsd/files/10_ktrueos.in
    trunk/sysutils/grub2-pcbsd/files/30_os-prober.in
    trunk/sysutils/grub2-pcbsd/files/50_otherbe.in
    trunk/sysutils/grub2-pcbsd/files/patch-configure.ac
    trunk/sysutils/grub2-pcbsd/files/patch-grub-core_disk_geli.c
    trunk/sysutils/grub2-pcbsd/files/patch-grub-core_lib_libgcrypt_src_types.h
    trunk/sysutils/grub2-pcbsd/files/patch-grub-core_loader_i386_bsd.c
    trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_freebsd_getroot.c
    trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_getroot.c
    trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_platform.c
    trunk/sysutils/grub2-pcbsd/files/patch-grub-core_partmap_gpt.c
    trunk/sysutils/grub2-pcbsd/files/patch-include_grub_emu_getroot.h
    trunk/sysutils/grub2-pcbsd/files/patch-include_grub_gpt__partition.h
    trunk/sysutils/grub2-pcbsd/files/patch-po_LINGUAS
    trunk/sysutils/grub2-pcbsd/files/patch-util_grub-install.c
    trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig.in
    trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig__lib.in
    trunk/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c
    trunk/sysutils/grub2-pcbsd/pkg-descr
    trunk/sysutils/grub2-pcbsd/pkg-message
    trunk/sysutils/grub2-pcbsd/pkg-plist

Modified: trunk/sysutils/Makefile
===================================================================
--- trunk/sysutils/Makefile	2018-07-22 16:21:13 UTC (rev 23622)
+++ trunk/sysutils/Makefile	2018-07-22 16:23:54 UTC (rev 23623)
@@ -56,6 +56,8 @@
 SUBDIR += gnome_subr
 SUBDIR += grub2
 SUBDIR += grub2-bhyve
+SUBDIR += grub2-efi
+SUBDIR += grub2-pcbsd
 SUBDIR += gstreamer-plugins-hal
 SUBDIR += hal
 SUBDIR += hal-info

Added: trunk/sysutils/grub2-efi/Makefile
===================================================================
--- trunk/sysutils/grub2-efi/Makefile	                        (rev 0)
+++ trunk/sysutils/grub2-efi/Makefile	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,56 @@
+# Created by: kmoore at FreeBSD.org
+# $FreeBSD: head/sysutils/grub2-efi/Makefile 457088 2017-12-23 17:18:36Z tijl $
+# $MidnightBSD$
+
+PORTNAME=	grub2-efi
+PORTVERSION=	2.02
+CATEGORIES=	sysutils
+MASTER_SITES=	http://www.pcbsd.org/~kris/software/ \
+		ftp://ftp.pcbsd.org/pub/software/
+DISTNAME=	grub-${PORTVERSION}_7
+
+MAINTAINER=	ports at MidnightBSD.org
+COMMENT=	Multiboot EFI boot loader
+
+LICENSE=	gpl3
+
+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
+
+WRKSRC=		${WRKDIR}/grub-${PORTVERSION}
+SSP_UNSAFE=	yes
+USE_GCC=	yes
+GNU_CONFIGURE=	yes
+USES=		autoreconf:build bison cpe gettext gmake python tar:xz
+ONLY_FOR_ARCHS=	amd64
+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=${FAKE_DESTDIR}
+
+RUN_DEPENDS:=	${RUN_DEPENDS:Ngcc*}
+
+.include <bsd.port.post.mk>


Property changes on: trunk/sysutils/grub2-efi/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/distinfo
===================================================================
--- trunk/sysutils/grub2-efi/distinfo	                        (rev 0)
+++ trunk/sysutils/grub2-efi/distinfo	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,2 @@
+SHA256 (grub-2.02_7.tar.xz) = 044588d9754142f2982478cb4e7289ab1521fd4412b2a0804ce647c3ff73feff
+SIZE (grub-2.02_7.tar.xz) = 5019120


Property changes on: trunk/sysutils/grub2-efi/distinfo
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c
===================================================================
--- trunk/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c	                        (rev 0)
+++ trunk/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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)
+     {


Property changes on: trunk/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/files/patch-grub-core_lib_libgcrypt_src_types.h
===================================================================
--- trunk/sysutils/grub2-efi/files/patch-grub-core_lib_libgcrypt_src_types.h	                        (rev 0)
+++ trunk/sysutils/grub2-efi/files/patch-grub-core_lib_libgcrypt_src_types.h	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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;


Property changes on: trunk/sysutils/grub2-efi/files/patch-grub-core_lib_libgcrypt_src_types.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/files/patch-grub-core_loader_i386_bsd.c
===================================================================
--- trunk/sysutils/grub2-efi/files/patch-grub-core_loader_i386_bsd.c	                        (rev 0)
+++ trunk/sysutils/grub2-efi/files/patch-grub-core_loader_i386_bsd.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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;


Property changes on: trunk/sysutils/grub2-efi/files/patch-grub-core_loader_i386_bsd.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/files/patch-grub-core_partmap_gpt.c
===================================================================
--- trunk/sysutils/grub2-efi/files/patch-grub-core_partmap_gpt.c	                        (rev 0)
+++ trunk/sysutils/grub2-efi/files/patch-grub-core_partmap_gpt.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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;


Property changes on: trunk/sysutils/grub2-efi/files/patch-grub-core_partmap_gpt.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/files/patch-include_grub_gpt__partition.h
===================================================================
--- trunk/sysutils/grub2-efi/files/patch-include_grub_gpt__partition.h	                        (rev 0)
+++ trunk/sysutils/grub2-efi/files/patch-include_grub_gpt__partition.h	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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), \


Property changes on: trunk/sysutils/grub2-efi/files/patch-include_grub_gpt__partition.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/files/patch-include_grub_i386_bsd.h
===================================================================
--- trunk/sysutils/grub2-efi/files/patch-include_grub_i386_bsd.h	                        (rev 0)
+++ trunk/sysutils/grub2-efi/files/patch-include_grub_i386_bsd.h	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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>
+ 


Property changes on: trunk/sysutils/grub2-efi/files/patch-include_grub_i386_bsd.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/files/patch-include_grub_i386_freebsd__bootinfo.h
===================================================================
--- trunk/sysutils/grub2-efi/files/patch-include_grub_i386_freebsd__bootinfo.h	                        (rev 0)
+++ trunk/sysutils/grub2-efi/files/patch-include_grub_i386_freebsd__bootinfo.h	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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;
++};


Property changes on: trunk/sysutils/grub2-efi/files/patch-include_grub_i386_freebsd__bootinfo.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/files/patch-po_LINGUAS
===================================================================
--- trunk/sysutils/grub2-efi/files/patch-po_LINGUAS	                        (rev 0)
+++ trunk/sysutils/grub2-efi/files/patch-po_LINGUAS	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,5 @@
+--- po/LINGUAS.orig	2015-01-30 16:30:32 UTC
++++ po/LINGUAS
+@@ -1 +1 @@
+-ast ca da de de at hebrew de_CH en at arabic en at cyrillic en at greek en at hebrew en at piglatin en at 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


Property changes on: trunk/sysutils/grub2-efi/files/patch-po_LINGUAS
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/pkg-descr
===================================================================
--- trunk/sysutils/grub2-efi/pkg-descr	                        (rev 0)
+++ trunk/sysutils/grub2-efi/pkg-descr	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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/


Property changes on: trunk/sysutils/grub2-efi/pkg-descr
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-efi/pkg-plist
===================================================================
--- trunk/sysutils/grub2-efi/pkg-plist	                        (rev 0)
+++ trunk/sysutils/grub2-efi/pkg-plist	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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
+lib/grub/x86_64-efi/uhci.module
+lib/grub/x86_64-efi/usb.mod
+lib/grub/x86_64-efi/usb.module
+lib/grub/x86_64-efi/usb_keyboard.mod
+lib/grub/x86_64-efi/usb_keyboard.module
+lib/grub/x86_64-efi/usbms.mod
+lib/grub/x86_64-efi/usbms.module
+lib/grub/x86_64-efi/usbserial_common.mod
+lib/grub/x86_64-efi/usbserial_common.module
+lib/grub/x86_64-efi/usbserial_ftdi.mod
+lib/grub/x86_64-efi/usbserial_ftdi.module
+lib/grub/x86_64-efi/usbserial_pl2303.mod
+lib/grub/x86_64-efi/usbserial_pl2303.module
+lib/grub/x86_64-efi/usbserial_usbdebug.mod
+lib/grub/x86_64-efi/usbserial_usbdebug.module
+lib/grub/x86_64-efi/usbtest.mod
+lib/grub/x86_64-efi/usbtest.module
+lib/grub/x86_64-efi/verify.mod
+lib/grub/x86_64-efi/verify.module
+lib/grub/x86_64-efi/video.lst
+lib/grub/x86_64-efi/video.mod
+lib/grub/x86_64-efi/video.module
+lib/grub/x86_64-efi/video_bochs.mod
+lib/grub/x86_64-efi/video_bochs.module
+lib/grub/x86_64-efi/video_cirrus.mod
+lib/grub/x86_64-efi/video_cirrus.module
+lib/grub/x86_64-efi/video_colors.mod
+lib/grub/x86_64-efi/video_colors.module
+lib/grub/x86_64-efi/video_fb.mod
+lib/grub/x86_64-efi/video_fb.module
+lib/grub/x86_64-efi/videoinfo.mod
+lib/grub/x86_64-efi/videoinfo.module
+lib/grub/x86_64-efi/videotest.mod
+lib/grub/x86_64-efi/videotest.module
+lib/grub/x86_64-efi/videotest_checksum.mod
+lib/grub/x86_64-efi/videotest_checksum.module
+lib/grub/x86_64-efi/xfs.mod
+lib/grub/x86_64-efi/xfs.module
+lib/grub/x86_64-efi/xnu.mod
+lib/grub/x86_64-efi/xnu.module
+lib/grub/x86_64-efi/xnu_uuid.mod
+lib/grub/x86_64-efi/xnu_uuid.module
+lib/grub/x86_64-efi/xnu_uuid_test.mod
+lib/grub/x86_64-efi/xnu_uuid_test.module
+lib/grub/x86_64-efi/xzio.mod
+lib/grub/x86_64-efi/xzio.module
+lib/grub/x86_64-efi/zfs.mod
+lib/grub/x86_64-efi/zfs.module
+lib/grub/x86_64-efi/zfscrypt.mod
+lib/grub/x86_64-efi/zfscrypt.module
+lib/grub/x86_64-efi/zfsinfo.mod
+lib/grub/x86_64-efi/zfsinfo.module


Property changes on: trunk/sysutils/grub2-efi/pkg-plist
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/Makefile
===================================================================
--- trunk/sysutils/grub2-pcbsd/Makefile	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/Makefile	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,96 @@
+# Created by: kmoore at FreeBSD.org
+# $FreeBSD: head/sysutils/grub2-pcbsd/Makefile 458513 2018-01-09 07:40:55Z mat $
+# $MidnightBSD$
+
+PORTNAME=	grub2-pcbsd
+PORTVERSION=	2.02q
+CATEGORIES=	sysutils
+MASTER_SITES=	http://www.pcbsd.org/~kris/software/ \
+		ftp://ftp.pcbsd.org/pub/software/
+DISTNAME=	grub-2.02_8
+
+MAINTAINER=	ports at MidnightBSD.org
+COMMENT=	Multiboot boot loader
+
+LICENSE=	gpl3
+
+BUILD_DEPENDS=	${LOCALBASE}/bin/flex:textproc/flex \
+		${LOCALBASE}/bin/bash:shells/bash \
+		help2man:misc/help2man
+
+WRKSRC=		${WRKDIR}/grub-2.02
+CONFLICTS=	grub-0* grub2-2*
+SSP_UNSAFE=	yes
+USE_GCC=	yes
+GNU_CONFIGURE=	yes
+USES=		autoreconf:build bison cpe gettext gmake makeinfo python tar:xz
+ONLY_FOR_ARCHS=	i386 amd64
+INFO=		grub grub-dev
+MAKE_JOBS_UNSAFE=	yes
+
+CPE_PRODUCT=	grub
+CPE_VENDOR=	gnu
+
+CONFIGURE_ARGS=	--disable-werror --localedir=${PREFIX}/share/locale
+CONFIGURE_ENV=	CPP="${CC} -E" \
+		LEX=${LOCALBASE}/bin/flex
+
+SUB_FILES=	00_header 10_kfreebsd 10_ktrueos 30_os-prober 50_otherbe
+
+OPTIONS_DEFINE=	MKFONT FUSE
+OPTIONS_DEFAULT=MKFONT
+MKFONT_DESC=	Build grub-mkfont (require freetype2)
+FUSE_DESC=	Build grub-mount (require FUSE)
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} != "amd64"
+EFIEMU=		"@comment "
+.endif
+
+PLIST_SUB+=	EFIEMU=${EFIEMU}
+
+.if ${PORT_OPTIONS:MMKFONT}
+LIB_DEPENDS+=	libfreetype.so:print/freetype2
+BUILD_DEPENDS+=	${LOCALBASE}/share/fonts/dejavu/DejaVuSans.ttf:x11-fonts/dejavu \
+		${LOCALBASE}/share/fonts/gnu-unifont/unifont.pcf.gz:x11-fonts/gnu-unifont
+CONFIGURE_ARGS+=	--enable-grub-mkfont
+.else
+CONFIGURE_ARGS+=	--disable-grub-mkfont
+MKFONT=		"@comment "
+.endif
+
+PLIST_SUB+=	MKFONT=${MKFONT}
+
+.if ${PORT_OPTIONS:MFUSE}
+LIB_DEPENDS+=	libfuse.so:sysutils/fusefs-libs
+CONFIGURE_ARGS+=	--enable-grub-mount
+.else
+CONFIGURE_ARGS+=	--disable-grub-mount
+FUSE=		"@comment "
+.endif
+
+PLIST_SUB+=	FUSE=${FUSE}
+
+post-patch:
+	@${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
+
+post-install:
+	${RM} -r ${STAGEDIR}${PREFIX}/lib/charset.alias
+	${INSTALL_SCRIPT} ${WRKDIR}/00_header ${STAGEDIR}${PREFIX}/etc/grub.d/
+	${INSTALL_SCRIPT} ${WRKDIR}/10_kfreebsd ${STAGEDIR}${PREFIX}/etc/grub.d/
+	${INSTALL_SCRIPT} ${WRKDIR}/10_ktrueos ${STAGEDIR}${PREFIX}/etc/grub.d/
+	${INSTALL_SCRIPT} ${WRKDIR}/30_os-prober ${STAGEDIR}${PREFIX}/etc/grub.d/
+	${INSTALL_SCRIPT} ${WRKDIR}/50_otherbe ${STAGEDIR}${PREFIX}/etc/grub.d/
+	${MV} ${STAGEDIR}${PREFIX}/etc/grub.d/40_custom ${STAGEDIR}/${PREFIX}/etc/grub.d/40_custom.dist
+
+RUN_DEPENDS:=	${RUN_DEPENDS:Ngcc*}
+
+.include <bsd.port.post.mk>


Property changes on: trunk/sysutils/grub2-pcbsd/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/distinfo
===================================================================
--- trunk/sysutils/grub2-pcbsd/distinfo	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/distinfo	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,2 @@
+SHA256 (grub-2.02_8.tar.xz) = 3b5382f3b2aa467dbfa1a0d53f97e24ccc1b24cdea67056fd3227c57f4c69088
+SIZE (grub-2.02_8.tar.xz) = 5022808


Property changes on: trunk/sysutils/grub2-pcbsd/distinfo
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/00_header.in
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/00_header.in	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/00_header.in	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,361 @@
+#! /bin/sh
+set -e
+
+# grub-mkconfig helper script.
+# Copyright (C) 2006,2007,2008,2009,2010  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/>.
+
+transform="s,x,x,"
+
+prefix="/usr/local"
+exec_prefix="${prefix}"
+datarootdir="${prefix}/share"
+grub_lang=`echo $LANG | cut -d . -f 1`
+
+export TEXTDOMAIN=grub
+export TEXTDOMAINDIR="/usr/local/share/locale"
+
+. "${datarootdir}/grub/grub-mkconfig_lib"
+
+# Set indicator that we haven't written device access yet
+haveDevAccess=0
+
+# Work-around for systems with GPTID enabled still
+echo "insmod part_gpt"
+
+# Do this as early as possible, since other commands might depend on it.
+# (e.g. the `loadfont' command might need lvm or raid modules)
+for i in ${GRUB_PRELOAD_MODULES} ; do
+  echo "insmod $i"
+done
+
+if [ -e "/root/beadm.install" ] ; then
+  BEADM="/root/beadm.install"
+else
+  BEADM="beadm"
+fi
+
+if [ "x${GRUB_DEFAULT}" = "x" ] ; then 
+  GRUB_DEFAULT=0
+fi
+if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi
+if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=5 ; fi
+if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=auto ; fi
+
+# Check if we have more than one BE, and need to show the menu by default
+beNum=`$BEADM list 2>/dev/null | grep -v 'Mountpoint' | wc -l | awk '{print $1}'`
+if [ $beNum -gt 1 ] ; then GRUB_HIDDEN_TIMEOUT=""; fi
+
+if [ "x${GRUB_DEFAULT_BUTTON}" = "x" ] ; then GRUB_DEFAULT_BUTTON="$GRUB_DEFAULT" ; fi
+if [ "x${GRUB_DEFAULT_BUTTON}" = "xsaved" ] ; then GRUB_DEFAULT_BUTTON='${saved_entry}' ; fi
+if [ "x${GRUB_TIMEOUT_BUTTON}" = "x" ] ; then GRUB_TIMEOUT_BUTTON="$GRUB_TIMEOUT" ; fi
+
+cat << EOF
+if [ -s \$prefix/grubenv ]; then
+  load_env
+fi
+EOF
+if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
+    cat <<EOF
+if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
+   set default="${GRUB_DEFAULT_BUTTON}"
+else
+   set default="${GRUB_DEFAULT}"
+fi
+EOF
+else
+    cat <<EOF
+set default="${GRUB_DEFAULT}"
+EOF
+fi
+cat <<EOF
+
+if [ x"\${feature_menuentry_id}" = xy ]; then
+  menuentry_id_option="--id"
+else
+  menuentry_id_option=""
+fi
+
+export menuentry_id_option
+
+if [ x"\${gelipassphrase}" != x ]; then
+  set pass="\$gelipassphrase"
+  export pass
+fi
+
+if [ "\${prev_saved_entry}" ]; then
+  set saved_entry="\${prev_saved_entry}"
+  save_env saved_entry
+  set prev_saved_entry=
+  save_env prev_saved_entry
+  set boot_once=true
+fi
+
+function savedefault {
+  if [ -z "\${boot_once}" ]; then
+    saved_entry="\${chosen}"
+    save_env saved_entry
+  fi
+}
+
+function load_video {
+EOF
+if [ -n "${GRUB_VIDEO_BACKEND}" ]; then
+    cat <<EOF
+  insmod ${GRUB_VIDEO_BACKEND}
+EOF
+else
+# If all_video.mod isn't available load all modules available
+# with versions prior to introduction of all_video.mod
+cat <<EOF
+  insmod vbe
+  insmod vga
+  insmod video_bochs
+  insmod video_cirrus
+EOF
+fi
+cat <<EOF
+}
+
+EOF
+
+serial=0;
+gfxterm=0;
+for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
+    if [ xserial = "x$x" ]; then
+	serial=1;
+    fi
+    if [ xgfxterm = "x$x" ]; then
+	gfxterm=1;
+    fi
+done
+
+if [ "x$serial" = x1 ]; then
+    if [ "x${GRUB_SERIAL_COMMAND}" = "x" ] ; then
+	grub_warn "$(gettext "Requested serial terminal but GRUB_SERIAL_COMMAND is unspecified. Default parameters will be used.")"
+	GRUB_SERIAL_COMMAND=serial
+    fi
+    echo "${GRUB_SERIAL_COMMAND}"
+fi
+
+if [ "x$gfxterm" = x1 ]; then
+    if [ -n "$GRUB_FONT" ] ; then
+       # Make the font accessible
+       if [ $haveDevAccess -ne 1 ] ; then
+		haveDevAccess=1
+       		prepare_grub_to_access_device `${grub_probe} --target=device "${GRUB_FONT}"`
+       fi
+    cat << EOF
+if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT}"` ; then
+EOF
+    else
+	for dir in "${pkgdatadir}" "`echo '/boot/grub' | sed "s,//*,/,g"`" /usr/share/grub ; do
+	    for basename in unicode unifont ascii; do
+		path="${dir}/${basename}.pf2"
+		if is_path_readable_by_grub "${path}" > /dev/null ; then
+		    font_path="${path}"
+		else
+		    continue
+		fi
+		break 2
+	    done
+	done
+	if [ -n "${font_path}" ] ; then
+    cat << EOF
+if [ x\$feature_default_font_path = xy ] ; then
+   font=unicode
+else
+EOF
+                # Make the font accessible
+       		if [ $haveDevAccess -ne 1 ] ; then
+			haveDevAccess=1
+			prepare_grub_to_access_device `${grub_probe} --target=device "${font_path}"`
+		fi
+    cat << EOF
+    font="`make_system_path_relative_to_its_root "${font_path}"`"
+fi
+
+if loadfont \$font ; then
+EOF
+	    else
+    cat << EOF
+if loadfont unicode ; then
+EOF
+	    fi
+	fi
+
+    cat << EOF
+  if [ x"\${grub_platform}" = xpc ] ; then
+    set gfxmode=${GRUB_GFXMODE}
+    load_video
+    insmod gfxterm
+  else
+    # EFI
+    insmod efi_gop
+    insmod gfxterm
+    insmod font
+    insmod videotest
+    insmod videoinfo
+    set gfxmode=${GRUB_GFXMODE}
+  fi
+EOF
+
+# Gettext variables and module
+if [ "x${LANG}" != "xC" -a "x${grub_lang}" != "xen_US" ] ; then
+  cat << EOF
+  set locale_dir=\$prefix/locale
+  set lang=${grub_lang}
+  insmod gettext
+EOF
+fi
+
+cat <<EOF
+fi
+EOF
+fi
+
+case x${GRUB_TERMINAL_INPUT} in
+  x)
+    # Just use the native terminal
+  ;;
+  x*)
+    cat << EOF
+terminal_input ${GRUB_TERMINAL_INPUT}
+EOF
+  ;;
+esac
+
+case x${GRUB_TERMINAL_OUTPUT} in
+  x)
+    # Just use the native terminal
+  ;;
+  x*)
+    cat << EOF
+terminal_output ${GRUB_TERMINAL_OUTPUT}
+EOF
+  ;;
+esac
+
+if [ "x$gfxterm" = x1 ]; then
+    if [ "x$GRUB_THEME" != x ] && [ -f "$GRUB_THEME" ] \
+	&& is_path_readable_by_grub "$GRUB_THEME"; then
+	gettext_printf "Found theme: %s\n" "$GRUB_THEME" >&2
+
+       	if [ $haveDevAccess -ne 1 ] ; then
+		haveDevAccess=1
+		prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_THEME"`
+        fi
+	cat << EOF
+insmod gfxmenu
+EOF
+	themedir="`dirname "$GRUB_THEME"`"
+	for x in "$themedir"/*.pf2 "$themedir"/f/*.pf2; do
+	    if [ -f "$x" ]; then
+		cat << EOF
+loadfont (\$root)`make_system_path_relative_to_its_root $x`
+EOF
+	    fi
+	done
+	if [ x"`echo "$themedir"/*.jpg`" != x"$themedir/*.jpg" ] || [ x"`echo "$themedir"/*.jpeg`" != x"$themedir/*.jpeg" ]; then
+	    cat << EOF
+insmod jpeg
+EOF
+	fi
+	if [ x"`echo "$themedir"/*.png`" != x"$themedir/*.png" ]; then
+	    cat << EOF
+insmod png
+EOF
+	fi
+	if [ x"`echo "$themedir"/*.tga`" != x"$themedir/*.tga" ]; then
+	    cat << EOF
+insmod tga
+EOF
+	fi
+	    
+	cat << EOF
+set theme=(\$root)`make_system_path_relative_to_its_root $GRUB_THEME`
+export theme
+EOF
+    elif [ "x$GRUB_BACKGROUND" != x ] && [ -f "$GRUB_BACKGROUND" ] \
+	    && is_path_readable_by_grub "$GRUB_BACKGROUND"; then
+	gettext_printf "Found background: %s\n" "$GRUB_BACKGROUND" >&2
+	case "$GRUB_BACKGROUND" in 
+	    *.png)         reader=png ;;
+	    *.tga)         reader=tga ;;
+	    *.jpg|*.jpeg)  reader=jpeg ;;
+	    *)             gettext "Unsupported image format" >&2; echo >&2; exit 1 ;;
+	esac
+       	if [ $haveDevAccess -ne 1 ] ; then
+		haveDevAccess=1
+		prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_BACKGROUND"`
+	fi
+	cat << EOF
+insmod $reader
+background_image -m stretch `make_system_path_relative_to_its_root "$GRUB_BACKGROUND"`
+EOF
+    fi
+fi
+
+make_timeout ()
+{
+    if [ "x${1}" != "x" ] ; then
+	if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
+	    verbose=
+	else
+	    verbose=" --verbose"
+	fi
+	cat << EOF
+echo "Hold Left-Shift for menu.."
+if sleep$verbose --interruptible ${1} ; then
+  if keystatus --shift; then
+    set timeout=-1
+  else
+    set timeout=0
+  fi
+fi
+EOF
+    else
+	cat << EOF
+set timeout=${2}
+EOF
+    fi
+}
+
+if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
+    cat <<EOF
+if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
+EOF
+make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}"
+echo else
+make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
+echo fi
+else
+make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
+fi
+
+if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ] && [ "x$GRUB_BUTTON_CMOS_CLEAN" = "xyes" ]; then
+    cat <<EOF
+cmosclean $GRUB_BUTTON_CMOS_ADDRESS
+EOF
+fi
+
+# Play an initial tune
+if [ "x${GRUB_INIT_TUNE}" != "x" ] ; then
+  echo "play ${GRUB_INIT_TUNE}"
+fi
+
+if [ "x${GRUB_BADRAM}" != "x" ] ; then
+  echo "badram ${GRUB_BADRAM}"
+fi


Property changes on: trunk/sysutils/grub2-pcbsd/files/00_header.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/10_kfreebsd.in
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/10_kfreebsd.in	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/10_kfreebsd.in	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,247 @@
+#! /bin/sh
+set -e
+
+# grub-mkconfig helper script.
+# Copyright (C) 2006,2007,2008,2009,2010,2011  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/>.
+
+# Check if we have beadm installed, if not do normal freebsd detection
+if [ -e "/usr/local/sbin/beadm" ] ; then exit 0; fi
+
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+datarootdir="@datarootdir@"
+. "$pkgdatadir/grub-mkconfig_lib"
+
+export TEXTDOMAIN=@PACKAGE@
+export TEXTDOMAINDIR="@localedir@"
+
+CLASS="--class os"
+
+case "${GRUB_DISTRIBUTOR}" in
+  Debian)
+	OS="${GRUB_DISTRIBUTOR} GNU/kFreeBSD"
+	CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') --class gnu-kfreebsd --class gnu ${CLASS}"
+  ;;
+  *)
+	OS="FreeBSD"
+	CLASS="--class freebsd --class bsd ${CLASS}"
+  ;;
+esac
+
+load_kfreebsd_module ()
+{
+  mod="$1"
+  allow_fail="$2"
+
+  if ! test -e "${module_dir}/${mod}.ko" ; then
+    if [ "${allow_fail}" = "true" ] ; then
+      # Return silently
+      return
+    else
+      # Print an error and fail.
+      ls "${module_dir}/${mod}.ko" > /dev/null
+    fi
+  fi
+
+  if [ -z "${prepare_module_dir_cache}" ]; then
+    prepare_module_dir_cache="$(prepare_grub_to_access_device $(${grub_probe} -t device "${module_dir}") | grub_add_tab)"
+  fi
+
+  printf '%s\n' "${prepare_module_dir_cache}"
+  cat << EOF
+	kfreebsd_module_elf	${module_dir_rel}/${mod}.ko
+EOF
+}
+
+title_correction_code=
+
+kfreebsd_entry ()
+{
+  os="$1"
+  version="$2"
+  type="$3"
+  args="$4"
+  if [ -z "$boot_device_id" ]; then
+      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
+  fi
+  if [ x$type != xsimple ] ; then
+      if [ x$type = xrecovery ] ; then
+	  title="$(gettext_printf "%s, with kFreeBSD %s (recovery mode)" "${os}" "${version}")"
+      else
+	  title="$(gettext_printf "%s, with kFreeBSD %s" "${os}" "${version}")"
+      fi
+      replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
+      if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
+	  quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
+	  title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
+	  grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "kfreebsd-advanced-$boot_device_id>kfreebsd-$version-$type-$boot_device_id")"
+      fi
+      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'kfreebsd-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
+  else
+      echo "menuentry '$(echo "$OS" | grub_quote)' ${CLASS} \$menuentry_id_option 'kfreebsd-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
+  fi
+  if [ x$type != xrecovery ] ; then
+      save_default_entry | grub_add_tab | sed "s/^/$submenu_indentation/"
+  fi
+  if [ -z "${prepare_boot_cache}" ]; then
+    prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
+  fi
+
+  printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
+  message="$(gettext_printf "Loading kernel of FreeBSD %s ..." ${version})"
+  sed "s/^/$submenu_indentation/" << EOF
+	echo			'$(echo "$message" | grub_quote)'
+	kfreebsd		${rel_dirname}/${basename} ${args}
+EOF
+
+  if test -n "${devices}" ; then
+      sed "s/^/$submenu_indentation/" << EOF
+	kfreebsd_loadenv	${devices_rel_dirname}/${devices_basename}
+EOF
+  fi
+
+  load_kfreebsd_module acpi true
+
+  for abstraction in dummy $(${grub_probe} -t abstraction --device ${GRUB_DEVICE}) ; do
+    case $abstraction in
+      lvm) load_kfreebsd_module geom_linux_lvm false ;;
+    esac
+  done
+
+  case "${kfreebsd_fs}" in
+    zfs)
+      load_kfreebsd_module opensolaris false
+
+      ls "/boot/zfs/zpool.cache" > /dev/null
+      printf '%s\n' "${prepare_boot_cache}"
+      sed "s/^/$submenu_indentation/" << EOF
+	kfreebsd_module		$(make_system_path_relative_to_its_root /boot)/zfs/zpool.cache type=/boot/zfs/zpool.cache
+EOF
+    ;;
+  esac
+
+  if [ x${kfreebsd_fs} = xufs ]; then
+	load_kfreebsd_module ${kfreebsd_fs} true | sed "s/^/$submenu_indentation/"
+  else
+	load_kfreebsd_module ${kfreebsd_fs} false | sed "s/^/$submenu_indentation/"
+  fi
+
+  sed "s/^/$submenu_indentation/" << EOF
+	set kFreeBSD.vfs.root.mountfrom=${kfreebsd_fs}:${kfreebsd_device}
+	set kFreeBSD.vfs.root.mountfrom.options=rw
+}
+EOF
+}
+
+list=
+for i in /boot/kfreebsd-* /boot/kernel/kernel ; do
+  if grub_file_is_not_garbage "$i" ; then
+    list="$list $i"
+  fi
+done
+prepare_boot_cache=
+boot_device_id=
+title_correction_code=
+
+# Extra indentation to add to menu entries in a submenu. We're not in a submenu
+# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
+submenu_indentation=""
+
+is_top_level=true
+
+while [ "x$list" != "x" ] ; do
+  kfreebsd=`version_find_latest $list`
+  gettext_printf "Found kernel of FreeBSD: %s\n" "$kfreebsd" >&2
+  basename=`basename $kfreebsd`
+  dirname=`dirname $kfreebsd`
+  rel_dirname=`make_system_path_relative_to_its_root $dirname`
+
+  if [ -f /boot/device.hints ] ; then
+    devices=/boot/device.hints
+    devices_basename=`basename $devices`
+    devices_dirname=`dirname $devices`
+    devices_rel_dirname=`make_system_path_relative_to_its_root $devices_dirname`
+  fi
+
+  case ${GRUB_FS} in
+    ufs1 | ufs2)	kfreebsd_fs=ufs ;;
+    ext2)		kfreebsd_fs=ext2fs ;;
+    *)			kfreebsd_fs=${GRUB_FS} ;;
+  esac
+
+  case ${GRUB_FS} in
+    zfs)
+			# zpool name
+			kfreebsd_device=$(${grub_probe} -t fs_label --device ${GRUB_DEVICE})
+			# filesystem name (empty string for the main filesystem)
+			kfreebsd_device="${kfreebsd_device}$(${grub_mkrelpath} / | sed -e "s,/*@$,,")"
+    ;;
+    *)
+	  kfreebsd_device=${kfreebsd_fs}id/${GRUB_DEVICE_UUID}
+	  # Debian GNU/kFreeBSD can't remount root if it's supplied as UUID but
+	  # as an UUID
+	  if [ "x${GRUB_DISTRIBUTOR}" = "xDebian" ] \
+	      && ! (cat /etc/fstab | awk '!/^[[:space:]]*#/ && $2=="/" { print $1; }' \
+	      | grep "${kfreebsd_fs}id/${GRUB_DEVICE_UUID}" > /dev/null); then
+	      kfreebsd_device=${GRUB_DEVICE} 
+	  fi
+	  ;;
+  esac
+
+  version=`echo $basename | sed -e "s,^[^0-9]*-,,g;s/\.gz$//g"`
+  alt_version=`echo $version | sed -e "s,\.old$,,g"`
+
+  module_dir=
+  for i in "/lib/modules/${version}" "/lib/modules/${alt_version}" \
+      "/boot/kernel"; do
+    if test -e "$i" ; then
+      module_dir="$i"
+      break
+    fi
+  done
+  if test -n "${module_dir}" ; then
+    gettext_printf "Found kernel module directory: %s\n" "${module_dir}" >&2
+    module_dir_rel=$(make_system_path_relative_to_its_root $module_dir)
+  fi
+
+  if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
+      kfreebsd_entry "${OS}" "${version}" simple
+      submenu_indentation="$grub_tab"
+    
+      if [ -z "$boot_device_id" ]; then
+	  boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
+      fi
+      # TRANSLATORS: %s is replaced with an OS name
+      echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'kfreebsd-advanced-$boot_device_id' {"
+      is_top_level=false
+  fi
+
+  kfreebsd_entry "${OS}" "${version}" advanced
+  if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+    kfreebsd_entry "${OS}" "${version}" recovery "-s"
+  fi
+
+  list=`echo $list | tr ' ' '\n' | fgrep -vx "$kfreebsd" | tr '\n' ' '`
+done
+
+# If at least one kernel was found, then we need to
+# add a closing '}' for the submenu command.
+if [ x"$is_top_level" != xtrue ]; then
+  echo '}'
+fi
+
+echo "$title_correction_code"
+


Property changes on: trunk/sysutils/grub2-pcbsd/files/10_kfreebsd.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/10_ktrueos.in
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/10_ktrueos.in	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/10_ktrueos.in	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,389 @@
+#!/bin/sh
+#
+# Copyright 2015 iXsystems (Kris Moore)
+# All rights reserved
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted providing that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# Script to detect TrueOS / PC-BSD disk installations and create grub
+# entries for them
+
+# Check if we have beadm installed, if not skip this file
+if [ ! -e "/usr/local/sbin/beadm" ] ; then exit 0; fi
+
+ROOTFS=`mount | awk '/ \/ / {print $1}'`
+BEDS="$( echo ${ROOTFS} | awk -F '/' '{print $2}' )"
+if [ "$BEDS" = "dev" ] ; then BEDS="ROOT"; fi
+
+serial=0;
+console=0;
+for x in ${GRUB_TERMINAL_OUTPUT}; do
+    if [ xserial = "x$x" ]; then
+        serial=1;
+    fi
+    if [ xgfxterm = "x$x" ]; then
+        console=1;
+    fi
+    if [ xconsole = "x$x" ]; then
+        console=1;
+    fi
+done
+
+if [ "x$serial" = "x1" ]; then
+    if [ "x$console" = "x1" ]; then
+        out="-Dh"
+    else
+        out="-h"
+    fi
+fi
+
+display_loaderopts()
+{
+  # Optional ARG1, set to a ZFS dataset to mount and read values from
+  if [ -n "$1" ] ; then
+     fMnt="/mnt.$$"
+     mkdir $fMnt
+     mount -t zfs  ${1} $fMnt >/dev/null 
+     if [ $? -ne 0 ] ; then
+        echo "Failed to mount ${1}" >&2
+        return
+     fi
+  else
+     fMnt=""
+  fi
+  
+  # Create our placeholder to save _load entries to parse
+  touch /tmp/.lRObjs.$$
+  touch /tmp/.lSysCtls.$$
+
+  # Loader files, in order of which to read them
+  lFiles="${fMnt}/boot/loader.conf.local ${fMnt}/boot/loader.conf ${fMnt}/boot/loader.conf.trueos ${fMnt}/boot/loader.conf.pcbsd"
+  for f in $lFiles
+  do
+     if [ ! -e "$f" ] ; then continue ; fi
+
+     # Lets parse any of the _load= lines
+     grep "_load=" ${f} | grep -v "^#" >/tmp/.lObjs.$$
+     while read line
+     do
+       loadVal="`echo $line | cut -d '=' -f 1`"
+       # Is this value already set in a higher priority file?
+       grep -q "^${loadVal}" /tmp/.lRObjs.$$
+       if [ $? -eq 0 ];then continue; fi
+
+       # Save this value for later
+       echo "$line" >> /tmp/.lRObjs.$$
+       haveObjs=1
+
+     done < /tmp/.lObjs.$$
+     rm /tmp/.lObjs.$$
+
+     # Lets look for any sysctls to set
+     grep "." ${f} | grep "=" | grep -v "^#" | grep -v "_load" >/tmp/.sObjs.$$
+     while read line
+     do
+       loadVal="`echo $line | cut -d '=' -f 1`"
+       # Is this value already set in a higher priority file?
+       grep -q "^${loadVal}" /tmp/.lSysCtls.$$
+       if [ $? -eq 0 ];then continue; fi
+
+       # Save this value for later
+       echo "$line" >> /tmp/.lSysCtls.$$
+       haveSysCtls=1
+
+     done < /tmp/.sObjs.$$
+     rm /tmp/.sObjs.$$
+  done
+
+  # Using GELI encryption?
+  haveGELI="false"
+
+  # Now lets echo out the modules to load
+  if [ "$haveObjs" = "1" ] ; then
+    while read line
+    do
+      echo "$line" | grep -q '"YES"'
+      if [ $? -ne 0 ] ; then continue ; fi
+      module="`echo $line | cut -d '=' -f 1 | sed 's|_load||g'`"
+      # Try to locate module now
+      if [ -e "${fMnt}/boot/kernel/${module}.ko" ] ; then
+        mPath="kernel"
+      elif [ -e "${fMnt}/boot/modules/${module}.ko" ] ; then
+        mPath="modules"
+      else
+	# This isn't a module that we can see, lets set it as a variable
+	#echo "No such module $line, setting as a variable" >&2
+        echo "$line" >> /tmp/.lSysCtls.$$
+        continue
+      fi
+
+      # Are we loading GELI module?
+      if [ "$module" = "geom_eli" ] ; then haveGELI="true" ; fi
+
+      echo "    kfreebsd_module_elf ${loadPrefix}/@/boot/${mPath}/${module}.ko"
+    done < /tmp/.lRObjs.$$
+  fi
+
+  # Add our compat kenv lines
+  echo "    set kFreeBSD.bootfile=\"kernel\""
+  echo "    set kFreeBSD.kernel=\"kernel\""
+  echo "    set kFreeBSD.kernel_options=\"\""
+  echo "    set kFreeBSD.kernelname=\"/boot/kernel/kernel\""
+  echo "    set kFreeBSD.module_path=\"/boot/kernel;/boot/modules\""
+
+  # Any kenv to set?
+  if [ "$haveSysCtls" = "1" ] ; then
+    while read line
+    do
+      # Strip out the vfs.root.mountfrom, we set that elsewhere
+      echo "$line" | grep -q "vfs.root.mountfrom"
+      if [ $? -eq 0 ] ; then continue ; fi
+
+      line="`echo $line | sed 's|"||g'`"
+      key="`echo $line | cut -d '=' -f 1`"
+      val="`echo $line | cut -d '=' -f 2`"
+      if [ -z "$key" -o -z "$val" ] ; then continue ; fi
+      echo "    set kFreeBSD.${key}=\"${val}\""
+    done < /tmp/.lSysCtls.$$
+  fi
+
+  rm /tmp/.lRObjs.$$
+  rm /tmp/.lSysCtls.$$
+  if [ -n "$1" ] ; then
+     umount /mnt.$$ >/dev/null
+     rmdir /mnt.$$ >/dev/null
+  fi
+
+  # Set the grub.platform kenv variable
+  echo "    set kFreeBSD.grub.platform=\"\$grub_platform\""
+
+  # See if we need to do GELI passphrase passthrough
+  if [ "$haveGELI" = "true" ] ; then
+    echo "    set kFreeBSD.kern.geom.eli.passphrase=\"\$pass\""
+  fi
+}
+
+detect_beadm()
+{
+   /usr/bin/which -s beadm >/dev/null 2>/dev/null
+   if [ $? -ne 0 ] ; then return 0; fi
+
+   # Check if we are running from the installer and use its beadm
+   if [ -e "/root/beadm.install" ] ; then
+      BEADM="/root/beadm.install"
+
+      # Check if this is valid
+      testBE=`$BEADM list`
+      if [ -z "$testBE" ] ; then
+        # No BE's, lets switch back to regular mode
+        BEADM="`/usr/bin/which beadm`"
+      fi
+   else
+      BEADM="`/usr/bin/which beadm`"
+   fi
+
+   ${BEADM} list >/dev/null 2>/dev/null
+   if [ $? -ne 0 ] ; then return 0; fi
+
+
+   if [ -e "/etc/defaults/pcbsd" ] ; then
+      NICK="PC-BSD"
+   else
+      NICK="TrueOS"
+   fi
+
+   # Only list the default BE here
+   $BEADM list -H >/tmp/.grub-beadm.$$ 2>/dev/null
+   while read line
+   do
+     be=`echo $line | awk '{print $1}'`
+     flags=`echo $line | awk '{print $2}'`
+
+     # Is this BE marked as wanting to be used for next boot? Make it the first one if so
+     if [ "$flags" = "NR" -o "$flags" = "R" ] ; then
+        BE_LIST="$be"
+        break
+     fi
+   done < /tmp/.grub-beadm.$$
+   rm /tmp/.grub-beadm.$$
+
+   # Get list of beadm datasets
+   for b in $BE_LIST
+   do 
+      # Got a beadm snapshot, lets get the complete dataset name
+      beLine=`${BEADM} list -a | grep "/$BEDS/${b}[[:space:]]"`
+      cdataset=`echo $beLine | awk '{print $1}'`
+      cdatadate=`echo $beLine | awk '{print $5}'`
+      cdatatime=`echo $beLine | awk '{print $6}'`
+      ztank=`echo $cdataset | cut -d '/' -f 1`
+      shortdataset="/`echo $cdataset | cut -d '/' -f 2-5`"
+      # Get the BE nickname if it exists
+      beNickName=`${BEADM} list | grep "^${b} " | tr -s ' ' | cut -d ' ' -f 7-12`
+      if [ -z "$beNickName" ] ; then
+         beNickName="$b"
+      fi
+
+      # First part of this dataset
+      cat > /tmp/.grubdataset.$$.1 << EOF
+    insmod zfs
+    search --no-floppy -s -l $ztank
+EOF
+
+      # Second part of loader to save
+      cat > /tmp/.grubdataset.$$.2 << EOF
+    kfreebsd_module ${shortdataset}/@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
+    set kFreeBSD.vfs.root.mountfrom=zfs:$cdataset
+EOF
+      
+      # Now lets look for options in loader.conf to load
+      loadPrefix="${shortdataset}"
+      # If this is the current mounted dataset, we can skip mounting it
+      mount | grep -q -e "$cdataset on / (" -e "$cdataset on /mnt ("
+      if [ $? -eq 0 ] ; then
+        display_loaderopts >>/tmp/.grubdataset.$$.2
+      else
+        display_loaderopts $cdataset >> /tmp/.grubdataset.$$.2
+      fi
+
+      # Lets start a submenu for each BE
+cat << EOF
+
+submenu "${NICK} (${beNickName}) - ${cdatadate} ${cdatatime}" {
+EOF
+  
+  # Lets do the default entry first
+  #################################
+  cat << EOF
+  menuentry "Normal Bootup" {
+EOF
+  # Get the dataset guts
+  cat /tmp/.grubdataset.$$.1
+  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out}"
+  echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+  cat /tmp/.grubdataset.$$.2
+
+  # Set any options
+  cat << EOF
+  }
+EOF
+
+  # Next lets do single user mode
+  #################################
+  cat << EOF
+  menuentry "Single User Mode" {
+EOF
+  # Get the dataset guts
+  cat /tmp/.grubdataset.$$.1
+  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out} -s"
+  echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+  cat /tmp/.grubdataset.$$.2
+
+  # Set any options
+  cat << EOF
+  }
+EOF
+
+  # Next lets do verbose mode
+  #################################
+  cat << EOF
+  menuentry "Verbose Mode" {
+EOF
+  # Get the dataset guts
+  cat /tmp/.grubdataset.$$.1
+  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out} -v"
+  echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+  cat /tmp/.grubdataset.$$.2
+
+  # Set any options
+  cat << EOF
+  }
+EOF
+
+  if [ -e "/etc/defaults/pcbsd" ] ; then
+    # Next lets do display wizard
+    #################################
+    cat << EOF
+  menuentry "Run the Display Wizard" {
+EOF
+    # Get the dataset guts
+    cat /tmp/.grubdataset.$$.1
+    echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out}"
+    echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+    cat /tmp/.grubdataset.$$.2
+
+    # Set any options
+    cat << EOF
+    set kFreeBSD.runwiz=YES
+  }
+EOF
+    # Now for vesa mode
+    #################################
+    cat << EOF
+  menuentry "Run X in vesa mode" {
+EOF
+    # Get the dataset guts
+    cat /tmp/.grubdataset.$$.1
+    echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out}"
+    echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+    cat /tmp/.grubdataset.$$.2
+
+    # Set any options
+    cat << EOF
+    set kFreeBSD.xvesa=YES
+  }
+EOF
+    # Now for non-xorg mode
+    #################################
+    cat << EOF
+  menuentry "Boot to console (Disable X)" {
+EOF
+    # Get the dataset guts
+    cat /tmp/.grubdataset.$$.1
+    echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out}"
+    echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+    cat /tmp/.grubdataset.$$.2
+
+    # Set any options
+    cat << EOF
+    set kFreeBSD.noxorg=YES
+  }
+EOF
+  fi
+
+
+      # Lastly lets close the submenu section
+      cat << EOF
+}
+
+EOF
+   done
+
+   # Cleanup after ourselves
+   if [ -e "/tmp/.grubdataset.$$.1" ] ; then
+     rm /tmp/.grubdataset.$$.1
+     rm /tmp/.grubdataset.$$.2
+   fi
+}
+
+# Detect our types of disk layouts
+detect_beadm
+


Property changes on: trunk/sysutils/grub2-pcbsd/files/10_ktrueos.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/30_os-prober.in
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/30_os-prober.in	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/30_os-prober.in	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,140 @@
+#!/bin/sh
+#
+# Copyright 2015 iXsystems (Kris Moore)
+# All rights reserved
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted providing that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# Check if we have beadm installed, if not skip this file
+if [ ! -e "/usr/local/sbin/beadm" ] ; then exit 0; fi
+
+# Script to detect other NON BSD OS's and add to grub.cfg
+
+check_ntfs_part()
+{
+   local disk="$1"
+
+   fs_uuid=`grub-probe --device /dev/${disk} --target=fs_uuid 2>/dev/null`
+   if [ -z "$fs_uuid" ] ; then
+      echo "Warning: Could not get fs_uuid for $disk"
+      return
+   fi
+
+   cat << EOF
+menuentry "Microsoft Windows ($disk)" {
+   search --no-floppy --fs-uuid --set=root $fs_uuid
+   chainloader +1
+}
+EOF
+}
+
+print_uefichain() {
+    cat << EOF
+menuentry "Chainload Disk (hd${hdnum} - $1)" {
+   set root=('hd${hdnum},${rootpre}1')
+   chainloader $1
+}
+
+EOF
+}
+
+if [ -e "/usr/local/etc/default/grub" ] ; then
+  . /usr/local/etc/default/grub
+fi
+if [ -n "$GRUB_NODUALBOOT" ] ; then
+   exit 0
+fi
+
+# Look for file-systems on the zpool disk
+for disk in `zpool status | grep ONLINE | grep -v "state:" | awk '{print $1}'`
+do
+  disk="`echo $disk | sed 's|.eli||g'`"
+  if [ ! -e "/dev/$disk" ] ; then continue ; fi
+
+  # Get the parent disk name
+  parentdisk=`grub-probe --target=disk --device /dev/$disk 2>/dev/null`
+  parentdisk="`echo $parentdisk | sed 's|/dev/||g'`"
+  if [ ! -e "/dev/$parentdisk" ] ; then continue ; fi
+
+  for ldisk in `cd /dev/ && ls ${parentdisk}s[0-9] ${parentdisk}p[0-99] 2>/dev/null`
+  do
+    fs_type=`grub-probe --device /dev/${ldisk} --target=fs 2>/dev/null`
+    case $fs_type in
+     ntfs) check_ntfs_part "$ldisk" ;; # Start checking for NTFS
+        *) ;; # Unknown for now, add more!
+    esac
+  done
+done
+
+# Look for other disks to chainload
+hdnum=0
+for disk in `cd /dev/ && ls ada[0-9] da[0-9] 2>/dev/null`
+do
+  # Skip disks apart of zpool
+  zpool status | grep ONLINE | grep -v "state:" | grep -q "$disk"
+  if [ $? -eq 0 ] ; then
+    hdnum=`expr $hdnum + 1`
+    continue
+  fi
+
+  # Check if the first partition on this disk is EFI
+  if [ -e "/dev/${disk}s1" ] ; then
+    fp="/dev/${disk}s1"
+    rootpre=""
+  else
+    fp="/dev/${disk}p1"
+    rootpre="gpt"
+  fi
+
+  # Add UEFI chainloader
+  if [ "`grub-probe --device -t fs $fp 2>/dev/null`" = "fat" ] ; then
+
+    # Lets mount the FAT partition and look for UEFI boots
+    uefimnt="/tmp/.grub-uefi.$$"
+    if [ ! -d "$uefimnt" ] ; then mkdir $uefimnt; fi
+    mount_msdosfs $fp $uefimnt
+    if [ $? -eq 0 ] ; then
+       if [ -e "${uefimnt}/EFI/Boot/bootx64.efi" ] ; then
+	 print_uefichain "/EFI/Boot/bootx64.efi"
+       fi
+       cd $uefimnt
+       for i in `find . | grep \.efi$ | grep -v "./EFI/Boot/bootx64.efi"`
+       do
+	 i="`echo $i | sed 's|\./|/|g'`"
+	 print_uefichain "$i"
+       done
+       cd /dev
+       umount $uefimnt
+       rmdir $uefimnt
+    fi
+
+  else
+    # Add BIOS chainloader
+    cat << EOF
+menuentry "Chainload Disk (hd${hdnum})" {
+   set root=(hd${hdnum})
+   chainloader +1
+}
+EOF
+  fi
+  hdnum=`expr $hdnum + 1`
+done


Property changes on: trunk/sysutils/grub2-pcbsd/files/30_os-prober.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/50_otherbe.in
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/50_otherbe.in	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/50_otherbe.in	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,396 @@
+#!/bin/sh
+#
+# Copyright 2015 iXsystems (Kris Moore)
+# All rights reserved
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted providing that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# Script to detect TrueOS / PC-BSD disk installations and create grub
+# entries for them
+
+# Check if we have beadm installed, if not skip this file
+if [ ! -e "/usr/local/sbin/beadm" ] ; then exit 0; fi
+
+ROOTFS=`mount | awk '/ \/ / {print $1}'`
+BEDS="$( echo ${ROOTFS} | awk -F '/' '{print $2}' )"
+if [ "$BEDS" = "dev" ] ; then BEDS="ROOT"; fi
+
+serial=0;
+console=0;
+for x in ${GRUB_TERMINAL_OUTPUT}; do
+    if [ xserial = "x$x" ]; then
+        serial=1;
+    fi
+    if [ xgfxterm = "x$x" ]; then
+        console=1;
+    fi
+    if [ xconsole = "x$x" ]; then
+        console=1;
+    fi
+done
+
+if [ "x$serial" = "x1" ]; then
+    if [ "x$console" = "x1" ]; then
+        out="-Dh"
+    else
+        out="-h"
+    fi
+fi
+
+display_loaderopts()
+{
+  # Optional ARG1, set to a ZFS dataset to mount and read values from
+  if [ -n "$1" ] ; then
+     fMnt="/mnt.$$"
+     mkdir $fMnt
+     mount -t zfs  ${1} $fMnt >/dev/null 
+     if [ $? -ne 0 ] ; then
+        echo "Failed to mount ${1}" >&2
+        return
+     fi
+  else
+     fMnt=""
+  fi
+  
+  # Create our placeholder to save _load entries to parse
+  touch /tmp/.lRObjs.$$
+  touch /tmp/.lSysCtls.$$
+
+  # Loader files, in order of which to read them
+  lFiles="${fMnt}/boot/loader.conf.local ${fMnt}/boot/loader.conf ${fMnt}/boot/loader.conf.trueos ${fMnt}/boot/loader.conf.pcbsd"
+  for f in $lFiles
+  do
+     if [ ! -e "$f" ] ; then continue ; fi
+
+     # Lets parse any of the _load= lines
+     grep "_load=" ${f} | grep -v "^#" >/tmp/.lObjs.$$
+     while read line
+     do
+       loadVal="`echo $line | cut -d '=' -f 1`"
+       # Is this value already set in a higher priority file?
+       grep -q "^${loadVal}" /tmp/.lRObjs.$$
+       if [ $? -eq 0 ];then continue; fi
+
+       # Save this value for later
+       echo "$line" >> /tmp/.lRObjs.$$
+       haveObjs=1
+
+     done < /tmp/.lObjs.$$
+     rm /tmp/.lObjs.$$
+
+     # Lets look for any sysctls to set
+     grep "." ${f} | grep "=" | grep -v "^#" | grep -v "_load" >/tmp/.sObjs.$$
+     while read line
+     do
+       loadVal="`echo $line | cut -d '=' -f 1`"
+       # Is this value already set in a higher priority file?
+       grep -q "^${loadVal}" /tmp/.lSysCtls.$$
+       if [ $? -eq 0 ];then continue; fi
+
+       # Save this value for later
+       echo "$line" >> /tmp/.lSysCtls.$$
+       haveSysCtls=1
+
+     done < /tmp/.sObjs.$$
+     rm /tmp/.sObjs.$$
+  done
+
+  # Using GELI encryption?
+  haveGELI="false"
+
+  # Now lets echo out the modules to load
+  if [ "$haveObjs" = "1" ] ; then
+    while read line
+    do
+      echo "$line" | grep -q '"YES"'
+      if [ $? -ne 0 ] ; then continue ; fi
+      module="`echo $line | cut -d '=' -f 1 | sed 's|_load||g'`"
+      # Try to locate module now
+      if [ -e "${fMnt}/boot/kernel/${module}.ko" ] ; then
+        mPath="kernel"
+      elif [ -e "${fMnt}/boot/modules/${module}.ko" ] ; then
+        mPath="modules"
+      else
+	# This isn't a module that we can see, lets set it as a variable
+	#echo "No such module $line, setting as a variable" >&2
+        echo "$line" >> /tmp/.lSysCtls.$$
+        continue
+      fi
+
+      # Are we loading GELI module?
+      if [ "$module" = "geom_eli" ] ; then haveGELI="true" ; fi
+
+      echo "    kfreebsd_module_elf ${loadPrefix}/@/boot/${mPath}/${module}.ko"
+    done < /tmp/.lRObjs.$$
+  fi
+
+  # Add our compat kenv lines
+  echo "    set kFreeBSD.bootfile=\"kernel\""
+  echo "    set kFreeBSD.kernel=\"kernel\""
+  echo "    set kFreeBSD.kernel_options=\"\""
+  echo "    set kFreeBSD.kernelname=\"/boot/kernel/kernel\""
+  echo "    set kFreeBSD.module_path=\"/boot/kernel;/boot/modules\""
+
+  # Any kenv to set?
+  if [ "$haveSysCtls" = "1" ] ; then
+    while read line
+    do
+      # Strip out the vfs.root.mountfrom, we set that elsewhere
+      echo "$line" | grep -q "vfs.root.mountfrom"
+      if [ $? -eq 0 ] ; then continue ; fi
+
+      line="`echo $line | sed 's|"||g'`"
+      key="`echo $line | cut -d '=' -f 1`"
+      val="`echo $line | cut -d '=' -f 2`"
+      if [ -z "$key" -o -z "$val" ] ; then continue ; fi
+      echo "    set kFreeBSD.${key}=\"${val}\""
+    done < /tmp/.lSysCtls.$$
+  fi
+
+  rm /tmp/.lRObjs.$$
+  rm /tmp/.lSysCtls.$$
+  if [ -n "$1" ] ; then
+     umount /mnt.$$ >/dev/null
+     rmdir /mnt.$$ >/dev/null
+  fi
+
+  # Set the grub.platform kenv variable
+  echo "    set kFreeBSD.grub.platform=\"\$grub_platform\""
+
+  # See if we need to do GELI passphrase passthrough
+  if [ "$haveGELI" = "true" ] ; then
+    echo "    set kFreeBSD.kern.geom.eli.passphrase=\"\$pass\""
+  fi
+}
+
+detect_beadm()
+{
+   /usr/bin/which -s beadm >/dev/null 2>/dev/null
+   if [ $? -ne 0 ] ; then return 0; fi
+
+   # Check if we are running from the installer and use its beadm
+   if [ -e "/root/beadm.install" ] ; then
+      BEADM="/root/beadm.install"
+
+      # Check if this is valid
+      testBE=`$BEADM list`
+      if [ -z "$testBE" ] ; then
+        # No BE's, lets switch back to regular mode
+        BEADM="`/usr/bin/which beadm`"
+      fi
+   else
+      BEADM="`/usr/bin/which beadm`"
+   fi
+
+   ${BEADM} list >/dev/null 2>/dev/null
+   if [ $? -ne 0 ] ; then return 0; fi
+
+
+   if [ -e "/etc/defaults/pcbsd" ] ; then
+      NICK="PC-BSD"
+   else
+      NICK="TrueOS"
+   fi
+
+   # Now we will list all the non-default BEs
+   $BEADM list -H >/tmp/.grub-beadm.$$ 2>/dev/null
+   while read line
+   do
+     be=`echo $line | awk '{print $1}'`
+     flags=`echo $line | awk '{print $2}'`
+
+     # Skip the active BE
+     if [ "$flags" = "NR" -o "$flags" = "R" ] ; then
+	continue
+     fi
+     BE_LIST="${be} ${BE_LIST}"
+   done < /tmp/.grub-beadm.$$
+   rm /tmp/.grub-beadm.$$
+
+   if [  -z "$BE_LIST" ] ; then return; fi
+
+   echo "submenu \"Boot Environment Menu\" {"
+
+   # Get list of beadm datasets
+   for b in $BE_LIST
+   do 
+      # Got a beadm snapshot, lets get the complete dataset name
+      beLine=`${BEADM} list -a | grep "/$BEDS/${b}"`
+      cdataset=`echo $beLine | awk '{print $1}'`
+      cdatadate=`echo $beLine | awk '{print $5}'`
+      cdatatime=`echo $beLine | awk '{print $6}'`
+      ztank=`echo $cdataset | cut -d '/' -f 1`
+      shortdataset="/`echo $cdataset | cut -d '/' -f 2-5`"
+      # Get the BE nickname if it exists
+      beNickName=`${BEADM} list | grep "^${b} " | tr -s ' ' | cut -d ' ' -f 7-12`
+      if [ -z "$beNickName" ] ; then
+         beNickName="$b"
+      fi
+
+      # First part of this dataset
+      cat > /tmp/.grubdataset.$$.1 << EOF
+    insmod zfs
+    search --no-floppy -s -l $ztank
+EOF
+
+      # Second part of loader to save
+      cat > /tmp/.grubdataset.$$.2 << EOF
+    kfreebsd_module ${shortdataset}/@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
+    set kFreeBSD.vfs.root.mountfrom=zfs:$cdataset
+EOF
+      
+      # Now lets look for options in loader.conf to load
+      loadPrefix="${shortdataset}"
+      # If this is the current mounted dataset, we can skip mounting it
+      mount | grep -q -e "$cdataset on / (" -e "$cdataset on /mnt ("
+      if [ $? -eq 0 ] ; then
+        display_loaderopts >>/tmp/.grubdataset.$$.2
+      else
+        display_loaderopts $cdataset >> /tmp/.grubdataset.$$.2
+      fi
+
+      # Lets start a submenu for each BE
+cat << EOF
+
+submenu "${NICK} (${beNickName}) - ${cdatadate} ${cdatatime}" {
+EOF
+  
+  # Lets do the default entry first
+  #################################
+  cat << EOF
+  menuentry "Normal Bootup" {
+EOF
+  # Get the dataset guts
+  cat /tmp/.grubdataset.$$.1
+  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out}"
+  echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+  cat /tmp/.grubdataset.$$.2
+
+  # Set any options
+  cat << EOF
+  }
+EOF
+
+  # Next lets do single user mode
+  #################################
+  cat << EOF
+  menuentry "Single User Mode" {
+EOF
+  # Get the dataset guts
+  cat /tmp/.grubdataset.$$.1
+  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out} -s"
+  echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+  cat /tmp/.grubdataset.$$.2
+
+  # Set any options
+  cat << EOF
+  }
+EOF
+
+  # Next lets do verbose mode
+  #################################
+  cat << EOF
+  menuentry "Verbose Mode" {
+EOF
+  # Get the dataset guts
+  cat /tmp/.grubdataset.$$.1
+  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out} -v"
+  echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+  cat /tmp/.grubdataset.$$.2
+
+  # Set any options
+  cat << EOF
+  }
+EOF
+
+  if [ -e "/etc/defaults/pcbsd" ] ; then
+    # Next lets do display wizard
+    #################################
+    cat << EOF
+  menuentry "Run the Display Wizard" {
+EOF
+    # Get the dataset guts
+    cat /tmp/.grubdataset.$$.1
+    echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out}"
+    echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+    cat /tmp/.grubdataset.$$.2
+
+    # Set any options
+    cat << EOF
+    set kFreeBSD.runwiz=YES
+  }
+EOF
+    # Now for vesa mode
+    #################################
+    cat << EOF
+  menuentry "Run X in vesa mode" {
+EOF
+    # Get the dataset guts
+    cat /tmp/.grubdataset.$$.1
+    echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out}"
+    echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+    cat /tmp/.grubdataset.$$.2
+
+    # Set any options
+    cat << EOF
+    set kFreeBSD.xvesa=YES
+  }
+EOF
+    # Now for non-xorg mode
+    #################################
+    cat << EOF
+  menuentry "Boot to console (Disable X)" {
+EOF
+    # Get the dataset guts
+    cat /tmp/.grubdataset.$$.1
+    echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel ${out}"
+    echo "    kfreebsd_loadenv ${shortdataset}@/boot/device.hints"
+    cat /tmp/.grubdataset.$$.2
+
+    # Set any options
+    cat << EOF
+    set kFreeBSD.noxorg=YES
+  }
+EOF
+  fi
+
+
+      # Lastly lets close the submenu section
+      cat << EOF
+}
+
+EOF
+   done
+
+   echo "}"
+   echo ""
+
+   # Cleanup after ourselves
+   if [ -e "/tmp/.grubdataset.$$.1" ] ; then
+     rm /tmp/.grubdataset.$$.1
+     rm /tmp/.grubdataset.$$.2
+   fi
+}
+
+# Detect our types of disk layouts
+detect_beadm
+


Property changes on: trunk/sysutils/grub2-pcbsd/files/50_otherbe.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-configure.ac
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-configure.ac	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-configure.ac	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,20 @@
+--- configure.ac.orig	2015-06-03 14:54:01 UTC
++++ configure.ac
+@@ -1459,7 +1459,7 @@ fi
+ 
+ if test x"$starfield_excuse" = x; then
+    for ext in pcf pcf.gz bdf bdf.gz ttf ttf.gz; do
+-     for dir in . /usr/src /usr/share/fonts/X11/misc /usr/share/fonts/truetype/ttf-dejavu /usr/share/fonts/dejavu /usr/share/fonts/truetype; do
++     for dir in . /usr/src /usr/local/lib/X11/fonts/dejavu /usr/share/fonts/truetype/ttf-dejavu /usr/local/share/fonts/dejavu /usr/share/fonts/truetype; do
+         if test -f "$dir/DejaVuSans.$ext"; then
+           DJVU_FONT_SOURCE="$dir/DejaVuSans.$ext"
+           break 2
+@@ -1481,7 +1481,7 @@ AC_SUBST([DJVU_FONT_SOURCE])
+ FONT_SOURCE=
+ 
+ for ext in pcf pcf.gz bdf bdf.gz ttf ttf.gz; do
+-  for dir in . /usr/src /usr/share/fonts/X11/misc /usr/share/fonts/unifont /usr/share/fonts/uni /usr/share/fonts/truetype/unifont /usr/share/fonts/misc; do
++  for dir in . /usr/src /usr/local/lib/X11/fonts/local /usr/local/share/fonts/unifont /usr/local/share/fonts/gnu-unifont /usr/share/fonts/truetype/unifont /usr/share/fonts/misc; do
+     if test -f "$dir/unifont.$ext"; then
+       md5="$(md5sum "$dir/unifont.$ext"|awk '{ print $1; }')"
+       # PCF and BDF from version 6.3 isn't hanled properly by libfreetype.


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-configure.ac
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_disk_geli.c
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-grub-core_disk_geli.c	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-grub-core_disk_geli.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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)
+     {


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_disk_geli.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_lib_libgcrypt_src_types.h
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-grub-core_lib_libgcrypt_src_types.h	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-grub-core_lib_libgcrypt_src_types.h	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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;


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_lib_libgcrypt_src_types.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_loader_i386_bsd.c
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-grub-core_loader_i386_bsd.c	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-grub-core_loader_i386_bsd.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,18 @@
+--- grub-core/loader/i386/bsd.c.orig	2015-01-30 16:34:55 UTC
++++ grub-core/loader/i386/bsd.c
+@@ -416,11 +416,14 @@ grub_freebsd_add_meta_module (const char
+ 			      grub_addr_t addr, grub_uint32_t size)
+ {
+   const char *name;
+-  name = grub_strrchr (filename, '/');
++ /* Don't strip the full path, some FreeBSD functionality, such
++  * as dtrace, rely on this. Instead only strip out the portion after ZFS @ sign */
++  name = grub_strrchr (filename, '@');
+   if (name)
+     name++;
+   else
+     name = filename;
++
+   if (grub_strcmp (type, "/boot/zfs/zpool.cache") == 0)
+     name = "/boot/zfs/zpool.cache";
+ 


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_loader_i386_bsd.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_freebsd_getroot.c
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_freebsd_getroot.c	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_freebsd_getroot.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,108 @@
+--- grub-core/osdep/freebsd/getroot.c.orig	2015-01-23 02:27:45 UTC
++++ grub-core/osdep/freebsd/getroot.c
+@@ -296,6 +296,105 @@ grub_util_get_grub_dev_os (const char *o
+   return grub_dev;
+ }
+ 
++int grub_util_check_geom_label(const char *name)
++{
++  struct gmesh mesh;
++  struct gclass *class;
++  struct ggeom *geom;
++  struct gprovider *pp;
++  struct gprovider *pplabel;
++  struct gconsumer *cp;
++  const char *geom_name;
++  const char *test_name;
++  int err;
++
++  err = geom_gettree (&mesh);
++  if (err != 0)
++    grub_util_error ("%s", _("couldn't open geom"));
++
++  LIST_FOREACH (class, &mesh.lg_class, lg_class)
++    if (strcasecmp (class->lg_name, "label") == 0)
++      break;
++  if (!class)
++    grub_util_error ("%s", _("couldn't find geom `label' class"));
++
++  if (strncmp (name, "/dev/", sizeof ("/dev/") - 1) == 0)
++    test_name = name + sizeof ("/dev/") - 1;
++  else
++    test_name = name;
++
++  LIST_FOREACH (geom, &class->lg_geom, lg_geom)
++    {
++     LIST_FOREACH(pp, &geom->lg_provider, lg_provider)
++       {
++         geom_name = pp->lg_name;
++         if (strcasecmp (geom_name, test_name) != 0)
++           continue;
++
++         LIST_FOREACH(cp, &geom->lg_consumer, lg_consumer)
++           {
++             pplabel = cp->lg_provider;
++             if (pplabel == NULL)
++               continue;
++	     return 1;
++           }
++        }
++    }
++  return 0;
++}
++
++const char *
++grub_util_convert_geom_label_to_dev (const char *name, int *full_path)
++{
++  struct gmesh mesh;
++  struct gclass *class;
++  struct ggeom *geom;
++  struct gprovider *pp;
++  struct gprovider *pplabel;
++  struct gconsumer *cp;
++  static char buf[256];
++  const char *geom_name;
++  int err;
++
++  grub_util_info ("Converting label '%s' to device", name);
++
++  err = geom_gettree (&mesh);
++  if (err != 0)
++    grub_util_error ("%s", _("couldn't open geom"));
++
++  LIST_FOREACH (class, &mesh.lg_class, lg_class)
++    if (strcasecmp (class->lg_name, "label") == 0)
++      break;
++  if (!class)
++    grub_util_error ("%s", _("couldn't find geom `label' class"));
++
++
++  LIST_FOREACH (geom, &class->lg_geom, lg_geom)
++    {
++     LIST_FOREACH(pp, &geom->lg_provider, lg_provider)
++       {
++         geom_name = pp->lg_name;
++         if (strcasecmp (geom_name, name) != 0)
++           continue;
++
++         LIST_FOREACH(cp, &geom->lg_consumer, lg_consumer)
++           {
++             pplabel = cp->lg_provider;
++             if (pplabel == NULL)
++               continue;
++
++             if ( full_path )
++               snprintf(buf, sizeof(buf), "/dev/%s", pplabel->lg_name);
++             else
++               snprintf(buf, sizeof(buf), "%s", pplabel->lg_name);
++	     return buf;
++           }
++        }
++    }
++  grub_util_error ("%s", _("couldn't convert gptid to real device name"));
++  return 0;
++}
++
+ /* FIXME: geom actually gives us the whole container hierarchy.
+    It can be used more efficiently than this.  */
+ void


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_freebsd_getroot.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_getroot.c
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_getroot.c	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_getroot.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,15 @@
+--- grub-core/osdep/unix/getroot.c.orig	2015-06-03 14:54:01 UTC
++++ grub-core/osdep/unix/getroot.c
+@@ -507,6 +507,12 @@ grub_guess_root_devices (const char *dir
+   if (!os_dev)
+     os_dev = find_root_devices_from_libzfs (dir);
+ 
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++  if (os_dev)
++    if ( grub_util_check_geom_label(os_dev) )
++      os_dev = grub_util_convert_geom_label_to_dev (os_dev + sizeof ("/dev/") - 1, 1);
++#endif
++
+   if (os_dev)
+     {
+       char **cur;


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_getroot.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_platform.c
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_platform.c	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_platform.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,100 @@
+--- grub-core/osdep/unix/platform.c.orig	2014-03-03 16:00:26 UTC
++++ grub-core/osdep/unix/platform.c
+@@ -81,52 +81,8 @@ get_ofpathname (const char *dev)
+ static void
+ grub_install_remove_efi_entries_by_distributor (const char *efi_distributor)
+ {
+-  int fd;
+-  pid_t pid = grub_util_exec_pipe ((const char * []){ "efibootmgr", NULL }, &fd);
+-  char *line = NULL;
+-  size_t len = 0;
+-
+-  if (!pid)
+-    {
+-      grub_util_warn (_("Unable to open stream from %s: %s"),
+-		      "efibootmgr", strerror (errno));
+-      return;
+-    }
+-
+-  FILE *fp = fdopen (fd, "r");
+-  if (!fp)
+-    {
+-      grub_util_warn (_("Unable to open stream from %s: %s"),
+-		      "efibootmgr", strerror (errno));
+-      return;
+-    }
+-
+-  line = xmalloc (80);
+-  len = 80;
+-  while (1)
+-    {
+-      int ret;
+-      char *bootnum;
+-      ret = getline (&line, &len, fp);
+-      if (ret == -1)
+-	break;
+-      if (grub_memcmp (line, "Boot", sizeof ("Boot") - 1) != 0
+-	  || line[sizeof ("Boot") - 1] < '0'
+-	  || line[sizeof ("Boot") - 1] > '9')
+-	continue;
+-      if (!strcasestr (line, efi_distributor))
+-	continue;
+-      bootnum = line + sizeof ("Boot") - 1;
+-      bootnum[4] = '\0';
+-      if (!verbosity)
+-	grub_util_exec ((const char * []){ "efibootmgr", "-q",
+-	      "-b", bootnum,  "-B", NULL });
+-      else
+-	grub_util_exec ((const char * []){ "efibootmgr",
+-	      "-b", bootnum, "-B", NULL });
+-    }
+-
+-  free (line);
++  // We don't have efibootmgr on FreeBSD, have to set externally
++  return;
+ }
+ 
+ void
+@@ -134,40 +90,8 @@ grub_install_register_efi (grub_device_t
+ 			   const char *efifile_path,
+ 			   const char *efi_distributor)
+ {
+-  const char * efidir_disk;
+-  int efidir_part;
+-  efidir_disk = grub_util_biosdisk_get_osdev (efidir_grub_dev->disk);
+-  efidir_part = efidir_grub_dev->disk->partition ? efidir_grub_dev->disk->partition->number + 1 : 1;
+-
+-  if (grub_util_exec_redirect_null ((const char * []){ "efibootmgr", "--version", NULL }))
+-    {
+-      /* TRANSLATORS: This message is shown when required executable `%s'
+-	 isn't found.  */
+-      grub_util_error (_("%s: not found"), "efibootmgr");
+-    }
+-
+-  /* On Linux, we need the efivars kernel modules.  */
+-#ifdef __linux__
+-  grub_util_exec ((const char * []){ "modprobe", "-q", "efivars", NULL });
+-#endif
+-  /* Delete old entries from the same distributor.  */
+-  grub_install_remove_efi_entries_by_distributor (efi_distributor);
+-
+-  char *efidir_part_str = xasprintf ("%d", efidir_part);
+-
+-  if (!verbosity)
+-    grub_util_exec ((const char * []){ "efibootmgr", "-q",
+-	  "-c", "-d", efidir_disk,
+-	  "-p", efidir_part_str, "-w",
+-	  "-L", efi_distributor, "-l", 
+-	  efifile_path, NULL });
+-  else
+-    grub_util_exec ((const char * []){ "efibootmgr",
+-	  "-c", "-d", efidir_disk,
+-	  "-p", efidir_part_str, "-w",
+-	  "-L", efi_distributor, "-l", 
+-	  efifile_path, NULL });
+-  free (efidir_part_str);
++  // We don't have efibootmgr on FreeBSD, have to set externally
++  return;
+ }
+ 
+ void


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_osdep_unix_platform.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_partmap_gpt.c
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-grub-core_partmap_gpt.c	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-grub-core_partmap_gpt.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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;


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-grub-core_partmap_gpt.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-include_grub_emu_getroot.h
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-include_grub_emu_getroot.h	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-include_grub_emu_getroot.h	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,11 @@
+--- include/grub/emu/getroot.h.orig	2015-01-23 02:27:45 UTC
++++ include/grub/emu/getroot.h
+@@ -44,6 +44,8 @@ char *grub_util_get_grub_dev (const char
+ #if defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
+ void grub_util_follow_gpart_up (const char *name, grub_disk_addr_t *off_out,
+ 				char **name_out);
++int grub_util_check_geom_label(const char *name);
++const char *grub_util_convert_geom_label_to_dev (const char *name, int *full_path);
+ #endif
+ 
+ #include <sys/stat.h>


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-include_grub_emu_getroot.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-include_grub_gpt__partition.h
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-include_grub_gpt__partition.h	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-include_grub_gpt__partition.h	2018-07-22 16:23:54 UTC (rev 23623)
@@ -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), \


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-include_grub_gpt__partition.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-po_LINGUAS
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-po_LINGUAS	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-po_LINGUAS	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,5 @@
+--- po/LINGUAS.orig	2015-01-30 16:30:32 UTC
++++ po/LINGUAS
+@@ -1 +1 @@
+-ast ca da de de at hebrew de_CH en at arabic en at cyrillic en at greek en at hebrew en at piglatin en at 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


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-po_LINGUAS
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-util_grub-install.c
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-util_grub-install.c	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-util_grub-install.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,19 @@
+--- util/grub-install.c.orig	2015-06-03 14:54:01 UTC
++++ util/grub-install.c
+@@ -236,7 +236,16 @@ argp_parser (int key, char *arg, struct 
+     case ARGP_KEY_ARG:
+       if (install_device)
+ 	grub_util_error ("%s", _("More than one install device?"));
++#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
++    /* Check if passing a FreeBSD geom label */
++    if ( grub_util_check_geom_label(arg) )
++      install_device = \
++        xstrdup(grub_util_convert_geom_label_to_dev (arg + sizeof ("/dev/") - 1, 1));
++    else
++      install_device = xstrdup (arg);
++#else
+       install_device = xstrdup (arg);
++#endif
+       return 0;
+ 
+     default:


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-util_grub-install.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig.in
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig.in	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig.in	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,14 @@
+--- util/grub-mkconfig.in.orig	2015-06-03 14:54:01 UTC
++++ util/grub-mkconfig.in
+@@ -281,3 +281,11 @@ fi
+ 
+ gettext "done" >&2
+ echo >&2
++
++# If pcbsd-utils are installed, the restamp-grub command will exist
++# Use it to do the grub-install and copy grub.cfg to other BEs
++which restamp-grub >/dev/null 2>/dev/null
++if [ $? -eq 0 ] ; then
++   restamp-grub
++fi
++


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig__lib.in
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig__lib.in	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig__lib.in	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,21 @@
+--- util/grub-mkconfig_lib.in.orig	2015-06-03 14:54:01 UTC
++++ util/grub-mkconfig_lib.in
+@@ -139,7 +139,17 @@ prepare_grub_to_access_device ()
+     echo "insmod ${module}"
+   done
+ 
+-  fs="`"${grub_probe}" --device $@ --target=fs`"
++  # KPM - 6-24-2013
++  # Add this work-around since GRUB doesn't like to identify ZFS
++  # partitions which are in a raidz configuration, gives Unknown FS error
++  # We can instead look at zpool to see if this device is used though
++  zpool status 2>/dev/null | grep -q "`echo ${device} | sed 's|/dev/||g'`"
++  if [ $? -eq 0 ] ; then
++     fs="zfs"
++  else
++     fs="`"${grub_probe}" --device $@ --target=fs`"
++  fi
++
+   for module in ${fs} ; do
+     echo "insmod ${module}"
+   done


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-util_grub-mkconfig__lib.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c
===================================================================
--- trunk/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,19 @@
+--- util/grub-probe.c.orig	2015-06-03 14:54:01 UTC
++++ util/grub-probe.c
+@@ -805,7 +805,16 @@ argp_parser (int key, char *arg, struct 
+ 
+     case ARGP_KEY_ARG:
+       assert (arguments->ndevices < arguments->device_max);
++#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
++    /* Check if passing a FreeBSD geom label */
++    if ( grub_util_check_geom_label(arg) )
++      arguments->devices[arguments->ndevices++] = \
++	xstrdup(grub_util_convert_geom_label_to_dev (arg + sizeof ("/dev/") - 1, 1));
++    else
++      arguments->devices[arguments->ndevices++] = xstrdup(arg);
++#else
+       arguments->devices[arguments->ndevices++] = xstrdup(arg);
++#endif
+       break;
+ 
+     default:


Property changes on: trunk/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/pkg-descr
===================================================================
--- trunk/sysutils/grub2-pcbsd/pkg-descr	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/pkg-descr	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,12 @@
+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 does not install GRUB on the master boot record of your hard drive.
+To do this you will need to read the info page that is installed by the port.
+
+This port includes additional patches and fixes making it work properly
+with ZFS boot-environments. Users on UFS will probably want to install the
+regular sysutils/grub2 port.
+
+WWW: http://www.gnu.org/software/grub/


Property changes on: trunk/sysutils/grub2-pcbsd/pkg-descr
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/pkg-message
===================================================================
--- trunk/sysutils/grub2-pcbsd/pkg-message	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/pkg-message	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,34 @@
+To install GRUB as your boot-loader, use the following command:
+
+# grub-install /dev/ada0 (replace ada0 with your disk)
+# grub-mkconfig -o /boot/grub/grub.cfg
+
+This version of GRUB can be used traditionally or with
+PC-BSD style boot environments.
+
+Additionally, when using GPT, you must have a created a
+"bios-boot" partition at install time. This partition is used
+for GRUB's modules for GELI/ZFS and related bits.
+
+Traditional Setup
+--
+
+When the "beadm" utility is not present, grub-mkconfig
+will use the standard GRUB detection scripts for setting
+up your /boot/grub/grub.cfg file.
+
+
+Boot Environment Setup
+--
+
+If the "beadm" command is installed on the system,
+grub-mkconfig will use it to setup /boot/grub/grub.cfg
+
+For it to properly detect / populate your BE menus you
+must have your root zpool setup in the following manner:
+
+<tank>/ROOT/<be>
+
+Where <tank> is your zpool, and <be> is your '/' mountpoint.
+The "beadm" utility must be installed and working before using
+GRUB utilities.


Property changes on: trunk/sysutils/grub2-pcbsd/pkg-message
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/sysutils/grub2-pcbsd/pkg-plist
===================================================================
--- trunk/sysutils/grub2-pcbsd/pkg-plist	                        (rev 0)
+++ trunk/sysutils/grub2-pcbsd/pkg-plist	2018-07-22 16:23:54 UTC (rev 23623)
@@ -0,0 +1,681 @@
+%%FUSE%%bin/grub-mount
+%%FUSE%%man/man1/grub-mount.1.gz
+%%MKFONT%%bin/grub-mkfont
+%%MKFONT%%share/grub/themes/starfield/dejavu_10.pf2
+%%MKFONT%%share/grub/themes/starfield/dejavu_12.pf2
+%%MKFONT%%share/grub/themes/starfield/dejavu_bold_14.pf2
+%%MKFONT%%share/grub/themes/starfield/dejavu_14.pf2
+%%MKFONT%%share/grub/themes/starfield/dejavu_16.pf2
+%%MKFONT%%share/grub/themes/starfield/blob_w.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_c.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_e.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_ne.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_n.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_nw.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_se.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_s.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_sw.png
+%%MKFONT%%share/grub/themes/starfield/boot_menu_w.png
+%%MKFONT%%share/grub/themes/starfield/slider_c.png
+%%MKFONT%%share/grub/themes/starfield/slider_n.png
+%%MKFONT%%share/grub/themes/starfield/slider_s.png
+%%MKFONT%%share/grub/themes/starfield/starfield.png
+%%MKFONT%%share/grub/themes/starfield/README
+%%MKFONT%%share/grub/themes/starfield/terminal_box_c.png
+%%MKFONT%%share/grub/themes/starfield/terminal_box_e.png
+%%MKFONT%%share/grub/themes/starfield/terminal_box_ne.png
+%%MKFONT%%share/grub/themes/starfield/terminal_box_n.png
+%%MKFONT%%share/grub/themes/starfield/terminal_box_nw.png
+%%MKFONT%%share/grub/themes/starfield/terminal_box_se.png
+%%MKFONT%%share/grub/themes/starfield/terminal_box_s.png
+%%MKFONT%%share/grub/themes/starfield/terminal_box_sw.png
+%%MKFONT%%share/grub/themes/starfield/terminal_box_w.png
+%%MKFONT%%share/grub/themes/starfield/theme.txt
+%%MKFONT%%share/grub/themes/starfield/COPYING.CC-BY-SA-3.0
+%%MKFONT%%share/grub/ascii.h
+%%MKFONT%%share/grub/ascii.pf2
+%%MKFONT%%share/grub/euro.pf2
+%%MKFONT%%share/grub/unicode.pf2
+%%MKFONT%%share/grub/widthspec.h
+%%MKFONT%%man/man1/grub-mkfont.1.gz
+bin/grub-editenv
+bin/grub-file
+bin/grub-fstest
+bin/grub-glue-efi
+bin/grub-kbdcomp
+bin/grub-menulst2cfg
+bin/grub-mkimage
+bin/grub-mklayout
+bin/grub-mknetdir
+bin/grub-mkpasswd-pbkdf2
+bin/grub-mkrelpath
+bin/grub-mkrescue
+bin/grub-mkstandalone
+bin/grub-render-label
+bin/grub-script-check
+bin/grub-syslinux2cfg
+etc/bash_completion.d/grub
+etc/grub.d/00_header
+etc/grub.d/10_kfreebsd
+etc/grub.d/10_ktrueos
+etc/grub.d/30_os-prober
+etc/grub.d/40_custom.dist
+etc/grub.d/41_custom
+etc/grub.d/50_otherbe
+etc/grub.d/README
+lib/grub/i386-pc/acpi.mod
+lib/grub/i386-pc/acpi.module
+lib/grub/i386-pc/adler32.mod
+lib/grub/i386-pc/adler32.module
+lib/grub/i386-pc/affs.mod
+lib/grub/i386-pc/affs.module
+lib/grub/i386-pc/afs.mod
+lib/grub/i386-pc/afs.module
+lib/grub/i386-pc/ahci.mod
+lib/grub/i386-pc/ahci.module
+lib/grub/i386-pc/all_video.mod
+lib/grub/i386-pc/all_video.module
+lib/grub/i386-pc/aout.mod
+lib/grub/i386-pc/aout.module
+lib/grub/i386-pc/archelp.mod
+lib/grub/i386-pc/archelp.module
+lib/grub/i386-pc/at_keyboard.mod
+lib/grub/i386-pc/at_keyboard.module
+lib/grub/i386-pc/ata.mod
+lib/grub/i386-pc/ata.module
+lib/grub/i386-pc/backtrace.mod
+lib/grub/i386-pc/backtrace.module
+lib/grub/i386-pc/bfs.mod
+lib/grub/i386-pc/bfs.module
+lib/grub/i386-pc/biosdisk.mod
+lib/grub/i386-pc/biosdisk.module
+lib/grub/i386-pc/bitmap.mod
+lib/grub/i386-pc/bitmap.module
+lib/grub/i386-pc/bitmap_scale.mod
+lib/grub/i386-pc/bitmap_scale.module
+lib/grub/i386-pc/blocklist.mod
+lib/grub/i386-pc/blocklist.module
+lib/grub/i386-pc/boot.image
+lib/grub/i386-pc/boot.img
+lib/grub/i386-pc/boot.mod
+lib/grub/i386-pc/boot.module
+lib/grub/i386-pc/boot_hybrid.image
+lib/grub/i386-pc/boot_hybrid.img
+lib/grub/i386-pc/bsd.mod
+lib/grub/i386-pc/bsd.module
+lib/grub/i386-pc/bswap_test.mod
+lib/grub/i386-pc/bswap_test.module
+lib/grub/i386-pc/btrfs.mod
+lib/grub/i386-pc/btrfs.module
+lib/grub/i386-pc/bufio.mod
+lib/grub/i386-pc/bufio.module
+lib/grub/i386-pc/cat.mod
+lib/grub/i386-pc/cat.module
+lib/grub/i386-pc/cbfs.mod
+lib/grub/i386-pc/cbfs.module
+lib/grub/i386-pc/cbls.mod
+lib/grub/i386-pc/cbls.module
+lib/grub/i386-pc/cbmemc.mod
+lib/grub/i386-pc/cbmemc.module
+lib/grub/i386-pc/cbtable.mod
+lib/grub/i386-pc/cbtable.module
+lib/grub/i386-pc/cbtime.mod
+lib/grub/i386-pc/cbtime.module
+lib/grub/i386-pc/cdboot.image
+lib/grub/i386-pc/cdboot.img
+lib/grub/i386-pc/chain.mod
+lib/grub/i386-pc/chain.module
+lib/grub/i386-pc/cmdline_cat_test.mod
+lib/grub/i386-pc/cmdline_cat_test.module
+lib/grub/i386-pc/cmosdump.mod
+lib/grub/i386-pc/cmosdump.module
+lib/grub/i386-pc/cmostest.mod
+lib/grub/i386-pc/cmostest.module
+lib/grub/i386-pc/cmp.mod
+lib/grub/i386-pc/cmp.module
+lib/grub/i386-pc/cmp_test.mod
+lib/grub/i386-pc/cmp_test.module
+lib/grub/i386-pc/command.lst
+lib/grub/i386-pc/config.h
+lib/grub/i386-pc/configfile.mod
+lib/grub/i386-pc/configfile.module
+lib/grub/i386-pc/cpio.mod
+lib/grub/i386-pc/cpio.module
+lib/grub/i386-pc/cpio_be.mod
+lib/grub/i386-pc/cpio_be.module
+lib/grub/i386-pc/cpuid.mod
+lib/grub/i386-pc/cpuid.module
+lib/grub/i386-pc/crc64.mod
+lib/grub/i386-pc/crc64.module
+lib/grub/i386-pc/crypto.lst
+lib/grub/i386-pc/crypto.mod
+lib/grub/i386-pc/crypto.module
+lib/grub/i386-pc/cryptodisk.mod
+lib/grub/i386-pc/cryptodisk.module
+lib/grub/i386-pc/cs5536.mod
+lib/grub/i386-pc/cs5536.module
+lib/grub/i386-pc/ctz_test.mod
+lib/grub/i386-pc/ctz_test.module
+lib/grub/i386-pc/date.mod
+lib/grub/i386-pc/date.module
+lib/grub/i386-pc/datehook.mod
+lib/grub/i386-pc/datehook.module
+lib/grub/i386-pc/datetime.mod
+lib/grub/i386-pc/datetime.module
+lib/grub/i386-pc/disk.mod
+lib/grub/i386-pc/disk.module
+lib/grub/i386-pc/diskboot.image
+lib/grub/i386-pc/diskboot.img
+lib/grub/i386-pc/diskfilter.mod
+lib/grub/i386-pc/diskfilter.module
+lib/grub/i386-pc/div.mod
+lib/grub/i386-pc/div.module
+lib/grub/i386-pc/div_test.mod
+lib/grub/i386-pc/div_test.module
+lib/grub/i386-pc/dm_nv.mod
+lib/grub/i386-pc/dm_nv.module
+lib/grub/i386-pc/drivemap.mod
+lib/grub/i386-pc/drivemap.module
+lib/grub/i386-pc/echo.mod
+lib/grub/i386-pc/echo.module
+lib/grub/i386-pc/efiemu.mod
+lib/grub/i386-pc/efiemu.module
+%%EFIEMU%%lib/grub/i386-pc/efiemu32.o
+%%EFIEMU%%lib/grub/i386-pc/efiemu64.o
+lib/grub/i386-pc/ehci.mod
+lib/grub/i386-pc/ehci.module
+lib/grub/i386-pc/elf.mod
+lib/grub/i386-pc/elf.module
+lib/grub/i386-pc/eval.mod
+lib/grub/i386-pc/eval.module
+lib/grub/i386-pc/exfat.mod
+lib/grub/i386-pc/exfat.module
+lib/grub/i386-pc/exfctest.mod
+lib/grub/i386-pc/exfctest.module
+lib/grub/i386-pc/ext2.mod
+lib/grub/i386-pc/ext2.module
+lib/grub/i386-pc/extcmd.mod
+lib/grub/i386-pc/extcmd.module
+lib/grub/i386-pc/fat.mod
+lib/grub/i386-pc/fat.module
+lib/grub/i386-pc/file.mod
+lib/grub/i386-pc/file.module
+lib/grub/i386-pc/font.mod
+lib/grub/i386-pc/font.module
+lib/grub/i386-pc/freedos.mod
+lib/grub/i386-pc/freedos.module
+lib/grub/i386-pc/fs.lst
+lib/grub/i386-pc/fshelp.mod
+lib/grub/i386-pc/fshelp.module
+lib/grub/i386-pc/functional_test.mod
+lib/grub/i386-pc/functional_test.module
+lib/grub/i386-pc/gcry_arcfour.mod
+lib/grub/i386-pc/gcry_arcfour.module
+lib/grub/i386-pc/gcry_blowfish.mod
+lib/grub/i386-pc/gcry_blowfish.module
+lib/grub/i386-pc/gcry_camellia.mod
+lib/grub/i386-pc/gcry_camellia.module
+lib/grub/i386-pc/gcry_cast5.mod
+lib/grub/i386-pc/gcry_cast5.module
+lib/grub/i386-pc/gcry_crc.mod
+lib/grub/i386-pc/gcry_crc.module
+lib/grub/i386-pc/gcry_des.mod
+lib/grub/i386-pc/gcry_des.module
+lib/grub/i386-pc/gcry_dsa.mod
+lib/grub/i386-pc/gcry_dsa.module
+lib/grub/i386-pc/gcry_idea.mod
+lib/grub/i386-pc/gcry_idea.module
+lib/grub/i386-pc/gcry_md4.mod
+lib/grub/i386-pc/gcry_md4.module
+lib/grub/i386-pc/gcry_md5.mod
+lib/grub/i386-pc/gcry_md5.module
+lib/grub/i386-pc/gcry_rfc2268.mod
+lib/grub/i386-pc/gcry_rfc2268.module
+lib/grub/i386-pc/gcry_rijndael.mod
+lib/grub/i386-pc/gcry_rijndael.module
+lib/grub/i386-pc/gcry_rmd160.mod
+lib/grub/i386-pc/gcry_rmd160.module
+lib/grub/i386-pc/gcry_rsa.mod
+lib/grub/i386-pc/gcry_rsa.module
+lib/grub/i386-pc/gcry_seed.mod
+lib/grub/i386-pc/gcry_seed.module
+lib/grub/i386-pc/gcry_serpent.mod
+lib/grub/i386-pc/gcry_serpent.module
+lib/grub/i386-pc/gcry_sha1.mod
+lib/grub/i386-pc/gcry_sha1.module
+lib/grub/i386-pc/gcry_sha256.mod
+lib/grub/i386-pc/gcry_sha256.module
+lib/grub/i386-pc/gcry_sha512.mod
+lib/grub/i386-pc/gcry_sha512.module
+lib/grub/i386-pc/gcry_tiger.mod
+lib/grub/i386-pc/gcry_tiger.module
+lib/grub/i386-pc/gcry_twofish.mod
+lib/grub/i386-pc/gcry_twofish.module
+lib/grub/i386-pc/gcry_whirlpool.mod
+lib/grub/i386-pc/gcry_whirlpool.module
+lib/grub/i386-pc/gdb.mod
+lib/grub/i386-pc/gdb.module
+lib/grub/i386-pc/gdb_grub
+lib/grub/i386-pc/geli.mod
+lib/grub/i386-pc/geli.module
+lib/grub/i386-pc/gettext.mod
+lib/grub/i386-pc/gettext.module
+lib/grub/i386-pc/gfxmenu.mod
+lib/grub/i386-pc/gfxmenu.module
+lib/grub/i386-pc/gfxterm.mod
+lib/grub/i386-pc/gfxterm.module
+lib/grub/i386-pc/gfxterm_background.mod
+lib/grub/i386-pc/gfxterm_background.module
+lib/grub/i386-pc/gfxterm_menu.mod
+lib/grub/i386-pc/gfxterm_menu.module
+lib/grub/i386-pc/gmodule.pl
+lib/grub/i386-pc/gptsync.mod
+lib/grub/i386-pc/gptsync.module
+lib/grub/i386-pc/gzio.mod
+lib/grub/i386-pc/gzio.module
+lib/grub/i386-pc/halt.mod
+lib/grub/i386-pc/halt.module
+lib/grub/i386-pc/hashsum.mod
+lib/grub/i386-pc/hashsum.module
+lib/grub/i386-pc/hdparm.mod
+lib/grub/i386-pc/hdparm.module
+lib/grub/i386-pc/hello.mod
+lib/grub/i386-pc/hello.module
+lib/grub/i386-pc/help.mod
+lib/grub/i386-pc/help.module
+lib/grub/i386-pc/hexdump.mod
+lib/grub/i386-pc/hexdump.module
+lib/grub/i386-pc/hfs.mod
+lib/grub/i386-pc/hfs.module
+lib/grub/i386-pc/hfsplus.mod
+lib/grub/i386-pc/hfsplus.module
+lib/grub/i386-pc/hfspluscomp.mod
+lib/grub/i386-pc/hfspluscomp.module
+lib/grub/i386-pc/http.mod
+lib/grub/i386-pc/http.module
+lib/grub/i386-pc/iorw.mod
+lib/grub/i386-pc/iorw.module
+lib/grub/i386-pc/iso9660.mod
+lib/grub/i386-pc/iso9660.module
+lib/grub/i386-pc/jfs.mod
+lib/grub/i386-pc/jfs.module
+lib/grub/i386-pc/jpeg.mod
+lib/grub/i386-pc/jpeg.module
+lib/grub/i386-pc/kernel.exec
+lib/grub/i386-pc/kernel.img
+lib/grub/i386-pc/keylayouts.mod
+lib/grub/i386-pc/keylayouts.module
+lib/grub/i386-pc/keystatus.mod
+lib/grub/i386-pc/keystatus.module
+lib/grub/i386-pc/ldm.mod
+lib/grub/i386-pc/ldm.module
+lib/grub/i386-pc/legacy_password_test.mod
+lib/grub/i386-pc/legacy_password_test.module
+lib/grub/i386-pc/legacycfg.mod
+lib/grub/i386-pc/legacycfg.module
+lib/grub/i386-pc/linux.mod
+lib/grub/i386-pc/linux.module
+lib/grub/i386-pc/linux16.mod
+lib/grub/i386-pc/linux16.module
+lib/grub/i386-pc/lnxboot.image
+lib/grub/i386-pc/lnxboot.img
+lib/grub/i386-pc/loadenv.mod
+lib/grub/i386-pc/loadenv.module
+lib/grub/i386-pc/loopback.mod
+lib/grub/i386-pc/loopback.module
+lib/grub/i386-pc/ls.mod
+lib/grub/i386-pc/ls.module
+lib/grub/i386-pc/lsacpi.mod
+lib/grub/i386-pc/lsacpi.module
+lib/grub/i386-pc/lsapm.mod
+lib/grub/i386-pc/lsapm.module
+lib/grub/i386-pc/lsmmap.mod
+lib/grub/i386-pc/lsmmap.module
+lib/grub/i386-pc/lspci.mod
+lib/grub/i386-pc/lspci.module
+lib/grub/i386-pc/luks.mod
+lib/grub/i386-pc/luks.module
+lib/grub/i386-pc/lvm.mod
+lib/grub/i386-pc/lvm.module
+lib/grub/i386-pc/lzma_decompress.image
+lib/grub/i386-pc/lzma_decompress.img
+lib/grub/i386-pc/lzopio.mod
+lib/grub/i386-pc/lzopio.module
+lib/grub/i386-pc/macbless.mod
+lib/grub/i386-pc/macbless.module
+lib/grub/i386-pc/macho.mod
+lib/grub/i386-pc/macho.module
+lib/grub/i386-pc/mda_text.mod
+lib/grub/i386-pc/mda_text.module
+lib/grub/i386-pc/mdraid09.mod
+lib/grub/i386-pc/mdraid09.module
+lib/grub/i386-pc/mdraid09_be.mod
+lib/grub/i386-pc/mdraid09_be.module
+lib/grub/i386-pc/mdraid1x.mod
+lib/grub/i386-pc/mdraid1x.module
+lib/grub/i386-pc/memdisk.mod
+lib/grub/i386-pc/memdisk.module
+lib/grub/i386-pc/memrw.mod
+lib/grub/i386-pc/memrw.module
+lib/grub/i386-pc/minicmd.mod
+lib/grub/i386-pc/minicmd.module
+lib/grub/i386-pc/minix.mod
+lib/grub/i386-pc/minix.module
+lib/grub/i386-pc/minix2.mod
+lib/grub/i386-pc/minix2.module
+lib/grub/i386-pc/minix2_be.mod
+lib/grub/i386-pc/minix2_be.module
+lib/grub/i386-pc/minix3.mod
+lib/grub/i386-pc/minix3.module
+lib/grub/i386-pc/minix3_be.mod
+lib/grub/i386-pc/minix3_be.module
+lib/grub/i386-pc/minix_be.mod
+lib/grub/i386-pc/minix_be.module
+lib/grub/i386-pc/mmap.mod
+lib/grub/i386-pc/mmap.module
+lib/grub/i386-pc/moddep.lst
+lib/grub/i386-pc/modinfo.sh
+lib/grub/i386-pc/morse.mod
+lib/grub/i386-pc/morse.module
+lib/grub/i386-pc/mpi.mod
+lib/grub/i386-pc/mpi.module
+lib/grub/i386-pc/msdospart.mod
+lib/grub/i386-pc/msdospart.module
+lib/grub/i386-pc/mul_test.mod
+lib/grub/i386-pc/mul_test.module
+lib/grub/i386-pc/multiboot.mod
+lib/grub/i386-pc/multiboot.module
+lib/grub/i386-pc/multiboot2.mod
+lib/grub/i386-pc/multiboot2.module
+lib/grub/i386-pc/nativedisk.mod
+lib/grub/i386-pc/nativedisk.module
+lib/grub/i386-pc/net.mod
+lib/grub/i386-pc/net.module
+lib/grub/i386-pc/newc.mod
+lib/grub/i386-pc/newc.module
+lib/grub/i386-pc/nilfs2.mod
+lib/grub/i386-pc/nilfs2.module
+lib/grub/i386-pc/normal.mod
+lib/grub/i386-pc/normal.module
+lib/grub/i386-pc/ntfs.mod
+lib/grub/i386-pc/ntfs.module
+lib/grub/i386-pc/ntfscomp.mod
+lib/grub/i386-pc/ntfscomp.module
+lib/grub/i386-pc/ntldr.mod
+lib/grub/i386-pc/ntldr.module
+lib/grub/i386-pc/odc.mod
+lib/grub/i386-pc/odc.module
+lib/grub/i386-pc/offsetio.mod
+lib/grub/i386-pc/offsetio.module
+lib/grub/i386-pc/ohci.mod
+lib/grub/i386-pc/ohci.module
+lib/grub/i386-pc/part_acorn.mod
+lib/grub/i386-pc/part_acorn.module
+lib/grub/i386-pc/part_amiga.mod
+lib/grub/i386-pc/part_amiga.module
+lib/grub/i386-pc/part_apple.mod
+lib/grub/i386-pc/part_apple.module
+lib/grub/i386-pc/part_bsd.mod
+lib/grub/i386-pc/part_bsd.module
+lib/grub/i386-pc/part_dfly.mod
+lib/grub/i386-pc/part_dfly.module
+lib/grub/i386-pc/part_dvh.mod
+lib/grub/i386-pc/part_dvh.module
+lib/grub/i386-pc/part_gpt.mod
+lib/grub/i386-pc/part_gpt.module
+lib/grub/i386-pc/part_msdos.mod
+lib/grub/i386-pc/part_msdos.module
+lib/grub/i386-pc/part_plan.mod
+lib/grub/i386-pc/part_plan.module
+lib/grub/i386-pc/part_sun.mod
+lib/grub/i386-pc/part_sun.module
+lib/grub/i386-pc/part_sunpc.mod
+lib/grub/i386-pc/part_sunpc.module
+lib/grub/i386-pc/partmap.lst
+lib/grub/i386-pc/parttool.lst
+lib/grub/i386-pc/parttool.mod
+lib/grub/i386-pc/parttool.module
+lib/grub/i386-pc/password.mod
+lib/grub/i386-pc/password.module
+lib/grub/i386-pc/password_pbkdf2.mod
+lib/grub/i386-pc/password_pbkdf2.module
+lib/grub/i386-pc/pata.mod
+lib/grub/i386-pc/pata.module
+lib/grub/i386-pc/pbkdf2.mod
+lib/grub/i386-pc/pbkdf2.module
+lib/grub/i386-pc/pbkdf2_test.mod
+lib/grub/i386-pc/pbkdf2_test.module
+lib/grub/i386-pc/pci.mod
+lib/grub/i386-pc/pci.module
+lib/grub/i386-pc/pcidump.mod
+lib/grub/i386-pc/pcidump.module
+lib/grub/i386-pc/plan9.mod
+lib/grub/i386-pc/plan9.module
+lib/grub/i386-pc/play.mod
+lib/grub/i386-pc/play.module
+lib/grub/i386-pc/png.mod
+lib/grub/i386-pc/png.module
+lib/grub/i386-pc/priority_queue.mod
+lib/grub/i386-pc/priority_queue.module
+lib/grub/i386-pc/probe.mod
+lib/grub/i386-pc/probe.module
+lib/grub/i386-pc/procfs.mod
+lib/grub/i386-pc/procfs.module
+lib/grub/i386-pc/progress.mod
+lib/grub/i386-pc/progress.module
+lib/grub/i386-pc/pxe.mod
+lib/grub/i386-pc/pxe.module
+lib/grub/i386-pc/pxeboot.image
+lib/grub/i386-pc/pxeboot.img
+lib/grub/i386-pc/pxechain.mod
+lib/grub/i386-pc/pxechain.module
+lib/grub/i386-pc/raid5rec.mod
+lib/grub/i386-pc/raid5rec.module
+lib/grub/i386-pc/raid6rec.mod
+lib/grub/i386-pc/raid6rec.module
+lib/grub/i386-pc/read.mod
+lib/grub/i386-pc/read.module
+lib/grub/i386-pc/reboot.mod
+lib/grub/i386-pc/reboot.module
+lib/grub/i386-pc/regexp.mod
+lib/grub/i386-pc/regexp.module
+lib/grub/i386-pc/reiserfs.mod
+lib/grub/i386-pc/reiserfs.module
+lib/grub/i386-pc/relocator.mod
+lib/grub/i386-pc/relocator.module
+lib/grub/i386-pc/romfs.mod
+lib/grub/i386-pc/romfs.module
+lib/grub/i386-pc/scsi.mod
+lib/grub/i386-pc/scsi.module
+lib/grub/i386-pc/search.mod
+lib/grub/i386-pc/search.module
+lib/grub/i386-pc/search_fs_file.mod
+lib/grub/i386-pc/search_fs_file.module
+lib/grub/i386-pc/search_fs_uuid.mod
+lib/grub/i386-pc/search_fs_uuid.module
+lib/grub/i386-pc/search_label.mod
+lib/grub/i386-pc/search_label.module
+lib/grub/i386-pc/sendkey.mod
+lib/grub/i386-pc/sendkey.module
+lib/grub/i386-pc/serial.mod
+lib/grub/i386-pc/serial.module
+lib/grub/i386-pc/setjmp.mod
+lib/grub/i386-pc/setjmp.module
+lib/grub/i386-pc/setjmp_test.mod
+lib/grub/i386-pc/setjmp_test.module
+lib/grub/i386-pc/setpci.mod
+lib/grub/i386-pc/setpci.module
+lib/grub/i386-pc/sfs.mod
+lib/grub/i386-pc/sfs.module
+lib/grub/i386-pc/shift_test.mod
+lib/grub/i386-pc/shift_test.module
+lib/grub/i386-pc/signature_test.mod
+lib/grub/i386-pc/signature_test.module
+lib/grub/i386-pc/sleep.mod
+lib/grub/i386-pc/sleep.module
+lib/grub/i386-pc/sleep_test.mod
+lib/grub/i386-pc/sleep_test.module
+lib/grub/i386-pc/spkmodem.mod
+lib/grub/i386-pc/spkmodem.module
+lib/grub/i386-pc/squash4.mod
+lib/grub/i386-pc/squash4.module
+lib/grub/i386-pc/syslinuxcfg.mod
+lib/grub/i386-pc/syslinuxcfg.module
+lib/grub/i386-pc/tar.mod
+lib/grub/i386-pc/tar.module
+lib/grub/i386-pc/terminal.lst
+lib/grub/i386-pc/terminal.mod
+lib/grub/i386-pc/terminal.module
+lib/grub/i386-pc/terminfo.mod
+lib/grub/i386-pc/terminfo.module
+lib/grub/i386-pc/test.mod
+lib/grub/i386-pc/test.module
+lib/grub/i386-pc/test_blockarg.mod
+lib/grub/i386-pc/test_blockarg.module
+lib/grub/i386-pc/testload.mod
+lib/grub/i386-pc/testload.module
+lib/grub/i386-pc/testspeed.mod
+lib/grub/i386-pc/testspeed.module
+lib/grub/i386-pc/tftp.mod
+lib/grub/i386-pc/tftp.module
+lib/grub/i386-pc/tga.mod
+lib/grub/i386-pc/tga.module
+lib/grub/i386-pc/time.mod
+lib/grub/i386-pc/time.module
+lib/grub/i386-pc/tr.mod
+lib/grub/i386-pc/tr.module
+lib/grub/i386-pc/trig.mod
+lib/grub/i386-pc/trig.module
+lib/grub/i386-pc/true.mod
+lib/grub/i386-pc/true.module
+lib/grub/i386-pc/truecrypt.mod
+lib/grub/i386-pc/truecrypt.module
+lib/grub/i386-pc/udf.mod
+lib/grub/i386-pc/udf.module
+lib/grub/i386-pc/ufs1.mod
+lib/grub/i386-pc/ufs1.module
+lib/grub/i386-pc/ufs1_be.mod
+lib/grub/i386-pc/ufs1_be.module
+lib/grub/i386-pc/ufs2.mod
+lib/grub/i386-pc/ufs2.module
+lib/grub/i386-pc/uhci.mod
+lib/grub/i386-pc/uhci.module
+lib/grub/i386-pc/usb.mod
+lib/grub/i386-pc/usb.module
+lib/grub/i386-pc/usb_keyboard.mod
+lib/grub/i386-pc/usb_keyboard.module
+lib/grub/i386-pc/usbms.mod
+lib/grub/i386-pc/usbms.module
+lib/grub/i386-pc/usbserial_common.mod
+lib/grub/i386-pc/usbserial_common.module
+lib/grub/i386-pc/usbserial_ftdi.mod
+lib/grub/i386-pc/usbserial_ftdi.module
+lib/grub/i386-pc/usbserial_pl2303.mod
+lib/grub/i386-pc/usbserial_pl2303.module
+lib/grub/i386-pc/usbserial_usbdebug.mod
+lib/grub/i386-pc/usbserial_usbdebug.module
+lib/grub/i386-pc/usbtest.mod
+lib/grub/i386-pc/usbtest.module
+lib/grub/i386-pc/vbe.mod
+lib/grub/i386-pc/vbe.module
+lib/grub/i386-pc/verify.mod
+lib/grub/i386-pc/verify.module
+lib/grub/i386-pc/vga.mod
+lib/grub/i386-pc/vga.module
+lib/grub/i386-pc/vga_text.mod
+lib/grub/i386-pc/vga_text.module
+lib/grub/i386-pc/video.lst
+lib/grub/i386-pc/video.mod
+lib/grub/i386-pc/video.module
+lib/grub/i386-pc/video_bochs.mod
+lib/grub/i386-pc/video_bochs.module
+lib/grub/i386-pc/video_cirrus.mod
+lib/grub/i386-pc/video_cirrus.module
+lib/grub/i386-pc/video_colors.mod
+lib/grub/i386-pc/video_colors.module
+lib/grub/i386-pc/video_fb.mod
+lib/grub/i386-pc/video_fb.module
+lib/grub/i386-pc/videoinfo.mod
+lib/grub/i386-pc/videoinfo.module
+lib/grub/i386-pc/videotest.mod
+lib/grub/i386-pc/videotest.module
+lib/grub/i386-pc/videotest_checksum.mod
+lib/grub/i386-pc/videotest_checksum.module
+lib/grub/i386-pc/xfs.mod
+lib/grub/i386-pc/xfs.module
+lib/grub/i386-pc/xnu.mod
+lib/grub/i386-pc/xnu.module
+lib/grub/i386-pc/xnu_uuid.mod
+lib/grub/i386-pc/xnu_uuid.module
+lib/grub/i386-pc/xnu_uuid_test.mod
+lib/grub/i386-pc/xnu_uuid_test.module
+lib/grub/i386-pc/xzio.mod
+lib/grub/i386-pc/xzio.module
+lib/grub/i386-pc/zfs.mod
+lib/grub/i386-pc/zfs.module
+lib/grub/i386-pc/zfscrypt.mod
+lib/grub/i386-pc/zfscrypt.module
+lib/grub/i386-pc/zfsinfo.mod
+lib/grub/i386-pc/zfsinfo.module
+man/man1/grub-editenv.1.gz
+man/man1/grub-file.1.gz
+man/man1/grub-fstest.1.gz
+man/man1/grub-glue-efi.1.gz
+man/man1/grub-kbdcomp.1.gz
+man/man1/grub-menulst2cfg.1.gz
+man/man1/grub-mkimage.1.gz
+man/man1/grub-mklayout.1.gz
+man/man1/grub-mknetdir.1.gz
+man/man1/grub-mkpasswd-pbkdf2.1.gz
+man/man1/grub-mkrelpath.1.gz
+man/man1/grub-mkrescue.1.gz
+man/man1/grub-mkstandalone.1.gz
+man/man1/grub-render-label.1.gz
+man/man1/grub-script-check.1.gz
+man/man1/grub-syslinux2cfg.1.gz
+man/man8/grub-bios-setup.8.gz
+man/man8/grub-install.8.gz
+man/man8/grub-macbless.8.gz
+man/man8/grub-mkconfig.8.gz
+man/man8/grub-ofpathname.8.gz
+man/man8/grub-probe.8.gz
+man/man8/grub-reboot.8.gz
+man/man8/grub-set-default.8.gz
+man/man8/grub-sparc64-setup.8.gz
+sbin/grub-bios-setup
+sbin/grub-install
+sbin/grub-macbless
+sbin/grub-mkconfig
+sbin/grub-ofpathname
+sbin/grub-probe
+sbin/grub-reboot
+sbin/grub-set-default
+sbin/grub-sparc64-setup
+share/grub/grub-mkconfig_lib
+share/locale/ast/LC_MESSAGES/grub.mo
+share/locale/ca/LC_MESSAGES/grub.mo
+share/locale/da/LC_MESSAGES/grub.mo
+share/locale/de/LC_MESSAGES/grub.mo
+share/locale/eo/LC_MESSAGES/grub.mo
+share/locale/es/LC_MESSAGES/grub.mo
+share/locale/fi/LC_MESSAGES/grub.mo
+share/locale/fr/LC_MESSAGES/grub.mo
+share/locale/gl/LC_MESSAGES/grub.mo
+share/locale/hu/LC_MESSAGES/grub.mo
+share/locale/id/LC_MESSAGES/grub.mo
+share/locale/it/LC_MESSAGES/grub.mo
+share/locale/ja/LC_MESSAGES/grub.mo
+share/locale/lt/LC_MESSAGES/grub.mo
+share/locale/nb/LC_MESSAGES/grub.mo
+share/locale/nl/LC_MESSAGES/grub.mo
+share/locale/pa/LC_MESSAGES/grub.mo
+share/locale/pl/LC_MESSAGES/grub.mo
+share/locale/pt_BR/LC_MESSAGES/grub.mo
+share/locale/ru/LC_MESSAGES/grub.mo
+share/locale/sl/LC_MESSAGES/grub.mo
+share/locale/sv/LC_MESSAGES/grub.mo
+share/locale/tr/LC_MESSAGES/grub.mo
+share/locale/uk/LC_MESSAGES/grub.mo
+share/locale/vi/LC_MESSAGES/grub.mo
+share/locale/zh_CN/LC_MESSAGES/grub.mo
+share/locale/zh_TW/LC_MESSAGES/grub.mo


Property changes on: trunk/sysutils/grub2-pcbsd/pkg-plist
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list