summaryrefslogtreecommitdiff
path: root/sysutils/grub2
diff options
context:
space:
mode:
authorgsutre <gsutre@pkgsrc.org>2012-07-29 21:44:13 +0000
committergsutre <gsutre@pkgsrc.org>2012-07-29 21:44:13 +0000
commit8ba27b3d73852570680ded749cb02b305e4dec61 (patch)
tree97855a8491bea7458ab7be7624e9b5d807156cb3 /sysutils/grub2
parentec1778266b586afe0c8a3873737a25fe4ae4a97a (diff)
downloadpkgsrc-8ba27b3d73852570680ded749cb02b305e4dec61.tar.gz
Import grub2-2.00 as sysutils/grub2.
This is GRUB 2, the second version of the GRand Unified Bootloader. GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more robust, more powerful, and more portable.
Diffstat (limited to 'sysutils/grub2')
-rw-r--r--sysutils/grub2/DESCR3
-rw-r--r--sysutils/grub2/MESSAGE19
-rw-r--r--sysutils/grub2/Makefile156
-rw-r--r--sysutils/grub2/PLIST574
-rw-r--r--sysutils/grub2/distinfo15
-rw-r--r--sysutils/grub2/files/05_pkgsrc_theme8
-rw-r--r--sysutils/grub2/files/default.conf36
-rw-r--r--sysutils/grub2/options.mk41
-rw-r--r--sysutils/grub2/patches/patch-configure16
-rw-r--r--sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_sys_types.h15
-rw-r--r--sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_wchar.h18
-rw-r--r--sysutils/grub2/patches/patch-grub-core_loader_i386_pc_plan9.c15
-rw-r--r--sysutils/grub2/patches/patch-stpcpy-1.diff176
-rw-r--r--sysutils/grub2/patches/patch-stpcpy-2-gen.diff177
-rw-r--r--sysutils/grub2/patches/patch-util_grub.d_10__netbsd.in33
15 files changed, 1302 insertions, 0 deletions
diff --git a/sysutils/grub2/DESCR b/sysutils/grub2/DESCR
new file mode 100644
index 00000000000..7f2a62ea6c8
--- /dev/null
+++ b/sysutils/grub2/DESCR
@@ -0,0 +1,3 @@
+This is GRUB 2, the second version of the GRand Unified Bootloader.
+GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
+robust, more powerful, and more portable.
diff --git a/sysutils/grub2/MESSAGE b/sysutils/grub2/MESSAGE
new file mode 100644
index 00000000000..0c36d3d14ac
--- /dev/null
+++ b/sysutils/grub2/MESSAGE
@@ -0,0 +1,19 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+To actually install GRUB 2 to disk, use grub-install(8). But do
+not use it unless you understand what it actually does, for it may
+lead to loss of data when used improperly.
+
+Please visit the official web page of GRUB 2, for more information.
+The URL is <http://www.gnu.org/software/grub/>.
+
+More extensive documentation is available in the Info manual,
+accessible using 'info grub'.
+
+There are a number of important user-visible differences from the
+first version of GRUB, now known as GRUB Legacy. For a summary,
+please see:
+
+ info grub Introduction 'Changes from GRUB Legacy'
+===========================================================================
diff --git a/sysutils/grub2/Makefile b/sysutils/grub2/Makefile
new file mode 100644
index 00000000000..296ebb73058
--- /dev/null
+++ b/sysutils/grub2/Makefile
@@ -0,0 +1,156 @@
+# $NetBSD: Makefile,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+#
+
+DISTNAME= grub-2.00
+PKGNAME= grub2-2.00
+CATEGORIES= sysutils
+MASTER_SITES= ftp://ftp.gnu.org/gnu/grub/
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= gsutre@NetBSD.org
+HOMEPAGE= http://www.gnu.org/software/grub/
+COMMENT= GRand Unified Bootloader, version 2
+LICENSE= gnu-gpl-v3
+
+CONFLICTS= grub-[0-9]*
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+ONLY_FOR_PLATFORM= *-*-i386 *-*-x86_64
+
+USE_TOOLS+= gmake flex bison gettext:run
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --disable-efiemu
+CONFIGURE_ARGS+= --disable-grub-emu-usb
+CONFIGURE_ARGS+= --disable-grub-emu-sdl
+CONFIGURE_ARGS+= --disable-grub-emu-pci
+INFO_FILES= yes
+USE_PKGLOCALEDIR= yes
+
+.include "../../mk/bsd.prefs.mk"
+
+#
+# Build requirements, taken from the INSTALL file in GRUB's distribution:
+#
+# - GCC >= 4.1.3 (in fact >= 4.4 is required for a successful build)
+# - Flex >= 2.5.35
+# - gettext >= 0.17 (the need for >= 0.17 seems to only concern msgfmt)
+#
+# Additionnaly, help2man is required to generate the manual pages.
+#
+GCC_REQD= 4.4
+FLEX_REQD= 2.5.35
+BUILD_DEPENDS+= help2man>=1.36:../../converters/help2man
+
+# XXX Force use of pkgsrc's flex on NetBSD to prevent build failure.
+.if ${OPSYS} == "NetBSD"
+FLEX_REQD= 9
+.endif
+
+#
+# The configure script sets the variables `target_cpu' and `platform', which
+# are used for the location of the library directory. The following mimics
+# the configure script's behavior for i386 and x86_64.
+#
+GRUB_TARGET_CPU= ${MACHINE_ARCH}
+.if ${LOWER_VENDOR} == "apple"
+GRUB_PLATFORM= efi
+.else
+GRUB_PLATFORM= pc
+.endif
+.if ${GRUB_TARGET_CPU} == "x86_64" && ${GRUB_PLATFORM} == "pc"
+GRUB_TARGET_CPU= i386
+.endif
+PLIST_SUBST+= GRUB_TARGET_CPU=${GRUB_TARGET_CPU}
+PLIST_SUBST+= GRUB_PLATFORM=${GRUB_PLATFORM}
+
+#
+# Unset ABI to prevent pkgsrc's gcc wrapper from messing with -m flags.
+#
+.if defined(ABI) && !empty(ABI)
+ABI=
+.endif
+
+#
+# Configuration files.
+#
+PKG_SYSCONFSUBDIR= grub
+EGDIR= ${PREFIX}/share/examples/grub
+INSTALL_MAKE_FLAGS+= grubconfdir=${EGDIR}
+INSTALL_MAKE_FLAGS+= bashcompletiondir=${EGDIR}
+INSTALL_MAKE_FLAGS+= bash_completion_script=grub-bash-completion.sh
+
+EGFILES= 00_header 05_pkgsrc_theme 30_os-prober 40_custom 41_custom
+.if ${OPSYS} == "FreeBSD"
+EGFILES+= 10_kfreebsd
+.elif ${OPSYS} == "Linux"
+EGFILES+= 10_linux
+.elif ${OPSYS} == "NetBSD"
+EGFILES+= 10_netbsd
+.endif
+.for file in ${EGFILES}
+CONF_FILES_PERMS+= ${EGDIR}/${file} ${PKG_SYSCONFDIR}/${file} ${ROOT_USER} ${ROOT_GROUP} 0755
+.endfor
+CONF_FILES+= ${EGDIR}/README ${PKG_SYSCONFDIR}/README
+CONF_FILES+= ${EGDIR}/default.conf.sample ${PKG_SYSCONFDIR}/default.conf
+
+post-install: do-install-custom-config
+
+.PHONY: do-install-custom-config
+do-install-custom-config:
+ ${INSTALL_DATA} ${FILESDIR}/default.conf ${DESTDIR}${EGDIR}/default.conf.sample
+ ${INSTALL_SCRIPT} ${FILESDIR}/05_pkgsrc_theme ${DESTDIR}${EGDIR}/05_pkgsrc_theme
+
+#
+# Force installation of all OS configuration scripts in ${EGDIR}.
+#
+SUBST_CLASSES+= fix-os-conf
+SUBST_STAGE.fix-os-conf= post-patch
+SUBST_MESSAGE.fix-os-conf= Fixing installation of OS configuration scripts.
+SUBST_FILES.fix-os-conf= Makefile.in
+SUBST_SED.fix-os-conf= -e 's,^@COND_HOST_[A-Z]*_TRUE@,,g'
+
+#
+# Adjust the configuration paths in scripts.
+#
+SUBST_CLASSES+= fix-paths-1
+SUBST_STAGE.fix-paths-1= post-patch
+SUBST_MESSAGE.fix-paths-1= Fixing configuration paths in scripts.
+SUBST_FILES.fix-paths-1= util/grub-install.in util/grub-mkconfig.in
+SUBST_SED.fix-paths-1= -e 's,\(\$${sysconfdir}"\{0\,1\}\)/grub.d,\1,g'
+SUBST_SED.fix-paths-1+= -e 's,\(\$${sysconfdir}"\{0\,1\}\)/default/grub,\1/default.conf,g'
+
+#
+# Adjust the search paths for DejaVu fonts in configure.
+#
+SUBST_CLASSES+= fix-dejavu
+SUBST_STAGE.fix-dejavu= pre-configure
+SUBST_MESSAGE.fix-dejavu= Fixing dejavu search paths in configure.
+SUBST_FILES.fix-dejavu= configure
+SUBST_SED.fix-dejavu= -e 's, \(/usr/share/fonts/dejavu\);, \1 ${PREFIX}/lib/X11/fonts/TTF;,g'
+
+#
+# Do not use `\t' with sed, as it's not portable.
+#
+SUBST_CLASSES+= fix-sed-tabs
+SUBST_STAGE.fix-sed-tabs= post-patch
+SUBST_MESSAGE.fix-sed-tabs= Fixing tabulations for sed in scripts.
+SUBST_FILES.fix-sed-tabs= util/grub.d/*.in
+SUBST_SED.fix-sed-tabs= -e 's,\\t, ,g'
+
+#
+# Remove executable bit from non-executable files.
+#
+post-install:
+ ${CHMOD} a-x ${DESTDIR}${PREFIX}/lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gdb_grub
+ ${CHMOD} a-x ${DESTDIR}${PREFIX}/lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gmodule.pl
+
+#
+# Includes.
+#
+.include "options.mk"
+
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/grub2/PLIST b/sysutils/grub2/PLIST
new file mode 100644
index 00000000000..a5fbaaf1a44
--- /dev/null
+++ b/sysutils/grub2/PLIST
@@ -0,0 +1,574 @@
+@comment $NetBSD: PLIST,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+bin/grub-editenv
+bin/grub-fstest
+bin/grub-kbdcomp
+bin/grub-menulst2cfg
+${PLIST.freetype}bin/grub-mkfont
+bin/grub-mkimage
+bin/grub-mklayout
+bin/grub-mkpasswd-pbkdf2
+bin/grub-mkrelpath
+bin/grub-mkrescue
+bin/grub-mkstandalone
+bin/grub-script-check
+info/grub-dev.info
+info/grub.info
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/acpi.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/acpi.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/adler32.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/adler32.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/affs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/affs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/afs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/afs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ahci.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ahci.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/all_video.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/all_video.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/aout.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/aout.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/at_keyboard.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/at_keyboard.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ata.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ata.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/backtrace.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/backtrace.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/biosdisk.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/biosdisk.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bitmap.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bitmap.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bitmap_scale.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bitmap_scale.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/blocklist.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/blocklist.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/boot.image
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/boot.img
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/boot.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/boot.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bsd.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bsd.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/btrfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/btrfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bufio.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/bufio.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cat.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cat.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cdboot.image
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cdboot.img
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/chain.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/chain.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cmostest.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cmostest.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cmp.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cmp.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/command.lst
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/config.h
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/configfile.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/configfile.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cpio.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cpio.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cpio_be.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cpio_be.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cpuid.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cpuid.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/crc64.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/crc64.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/crypto.lst
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/crypto.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/crypto.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cryptodisk.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cryptodisk.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cs5536.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/cs5536.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/date.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/date.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/datehook.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/datehook.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/datetime.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/datetime.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/diskboot.image
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/diskboot.img
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/diskfilter.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/diskfilter.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/dm_nv.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/dm_nv.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/drivemap.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/drivemap.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/echo.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/echo.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/efiemu.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/efiemu.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ehci.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ehci.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/elf.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/elf.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/exfat.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/exfat.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/exfctest.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/exfctest.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ext2.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ext2.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/extcmd.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/extcmd.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/fat.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/fat.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/font.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/font.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/freedos.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/freedos.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/fs.lst
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/fshelp.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/fshelp.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/functional_test.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/functional_test.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_arcfour.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_arcfour.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_blowfish.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_blowfish.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_camellia.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_camellia.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_cast5.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_cast5.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_crc.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_crc.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_des.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_des.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_md4.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_md4.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_md5.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_md5.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_rfc2268.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_rfc2268.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_rijndael.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_rijndael.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_rmd160.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_rmd160.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_seed.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_seed.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_serpent.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_serpent.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_sha1.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_sha1.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_sha256.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_sha256.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_sha512.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_sha512.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_tiger.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_tiger.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_twofish.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_twofish.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_whirlpool.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gcry_whirlpool.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gdb.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gdb.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gdb_grub
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/geli.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/geli.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gettext.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gettext.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gfxmenu.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gfxmenu.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gfxterm.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gfxterm.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gmodule.pl
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gptsync.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gptsync.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gzio.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gzio.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/halt.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/halt.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hashsum.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hashsum.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hdparm.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hdparm.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hello.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hello.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/help.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/help.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hexdump.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hexdump.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hfsplus.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/hfsplus.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/http.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/http.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/iorw.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/iorw.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/iso9660.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/iso9660.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/jfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/jfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/jpeg.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/jpeg.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/kernel.exec
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/kernel.img
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/keylayouts.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/keylayouts.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/keystatus.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/keystatus.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ldm.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ldm.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/legacycfg.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/legacycfg.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/linux.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/linux.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/linux16.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/linux16.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lnxboot.image
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lnxboot.img
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/loadenv.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/loadenv.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/loopback.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/loopback.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ls.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ls.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lsacpi.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lsacpi.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lsapm.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lsapm.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lsmmap.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lsmmap.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lspci.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lspci.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/luks.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/luks.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lvm.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lvm.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lzma_decompress.image
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lzma_decompress.img
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lzopio.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/lzopio.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/mdraid09.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/mdraid09.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/mdraid09_be.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/mdraid09_be.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/mdraid1x.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/mdraid1x.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/memdisk.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/memdisk.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/memrw.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/memrw.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minicmd.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minicmd.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix2.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix2.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix2_be.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix2_be.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix3.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix3.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix3_be.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix3_be.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix_be.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/minix_be.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/mmap.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/mmap.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/moddep.lst
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/modinfo.sh
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/msdospart.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/msdospart.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/multiboot.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/multiboot.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/multiboot2.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/multiboot2.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/net.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/net.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/newc.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/newc.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/nilfs2.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/nilfs2.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/normal.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/normal.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ntfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ntfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ntfscomp.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ntfscomp.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ntldr.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ntldr.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/odc.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/odc.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ohci.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ohci.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_acorn.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_acorn.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_amiga.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_amiga.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_apple.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_apple.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_bsd.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_bsd.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_dvh.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_dvh.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_gpt.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_gpt.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_msdos.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_msdos.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_plan.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_plan.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_sun.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_sun.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_sunpc.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/part_sunpc.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/partmap.lst
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/parttool.lst
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/parttool.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/parttool.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/password.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/password.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/password_pbkdf2.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/password_pbkdf2.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pata.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pata.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pbkdf2.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pbkdf2.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pci.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pci.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/plan9.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/plan9.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/play.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/play.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/png.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/png.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/priority_queue.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/priority_queue.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/probe.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/probe.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pxe.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pxe.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pxeboot.image
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pxeboot.img
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pxechain.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/pxechain.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/raid5rec.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/raid5rec.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/raid6rec.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/raid6rec.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/read.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/read.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/reboot.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/reboot.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/regexp.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/regexp.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/reiserfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/reiserfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/relocator.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/relocator.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/romfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/romfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/scsi.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/scsi.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/search.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/search.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/search_fs_file.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/search_fs_file.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/search_fs_uuid.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/search_fs_uuid.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/search_label.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/search_label.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/sendkey.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/sendkey.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/serial.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/serial.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/setjmp.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/setjmp.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/setpci.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/setpci.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/sfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/sfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/sleep.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/sleep.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/squash4.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/squash4.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/tar.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/tar.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/terminal.lst
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/terminal.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/terminal.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/terminfo.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/terminfo.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/test.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/test.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/test_blockarg.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/test_blockarg.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/testload.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/testload.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/tftp.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/tftp.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/tga.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/tga.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/time.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/time.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/trig.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/trig.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/true.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/true.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/udf.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/udf.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ufs1.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ufs1.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ufs2.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/ufs2.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/uhci.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/uhci.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usb.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usb.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usb_keyboard.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usb_keyboard.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbms.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbms.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbserial_common.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbserial_common.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbserial_ftdi.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbserial_ftdi.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbserial_pl2303.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbserial_pl2303.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbtest.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/usbtest.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/vbe.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/vbe.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/vga.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/vga.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/vga_text.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/vga_text.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video.lst
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video_bochs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video_bochs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video_cirrus.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video_cirrus.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video_fb.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/video_fb.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/videoinfo.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/videoinfo.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/videotest.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/videotest.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/xfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/xfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/xnu.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/xnu.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/xnu_uuid.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/xnu_uuid.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/xzio.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/xzio.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/zfs.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/zfs.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/zfscrypt.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/zfscrypt.module
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/zfsinfo.mod
+lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/zfsinfo.module
+man/man1/grub-editenv.1
+man/man1/grub-fstest.1
+man/man1/grub-kbdcomp.1
+man/man1/grub-menulst2cfg.1
+${PLIST.freetype}man/man1/grub-mkfont.1
+man/man1/grub-mkimage.1
+man/man1/grub-mklayout.1
+man/man1/grub-mkpasswd-pbkdf2.1
+man/man1/grub-mkrelpath.1
+man/man1/grub-mkrescue.1
+man/man1/grub-mkstandalone.1
+man/man1/grub-script-check.1
+man/man8/grub-bios-setup.8
+man/man8/grub-install.8
+man/man8/grub-mkconfig.8
+man/man8/grub-mknetdir.8
+man/man8/grub-ofpathname.8
+man/man8/grub-probe.8
+man/man8/grub-reboot.8
+man/man8/grub-set-default.8
+man/man8/grub-sparc64-setup.8
+sbin/grub-bios-setup
+sbin/grub-install
+sbin/grub-mkconfig
+sbin/grub-mknetdir
+sbin/grub-ofpathname
+sbin/grub-probe
+sbin/grub-reboot
+sbin/grub-set-default
+sbin/grub-sparc64-setup
+share/examples/grub/00_header
+share/examples/grub/05_pkgsrc_theme
+share/examples/grub/10_hurd
+share/examples/grub/10_illumos
+share/examples/grub/10_kfreebsd
+share/examples/grub/10_linux
+share/examples/grub/10_netbsd
+share/examples/grub/10_windows
+share/examples/grub/10_xnu
+share/examples/grub/20_linux_xen
+share/examples/grub/30_os-prober
+share/examples/grub/40_custom
+share/examples/grub/41_custom
+share/examples/grub/README
+share/examples/grub/default.conf.sample
+share/examples/grub/grub-bash-completion.sh
+${PLIST.freetype}share/grub/ascii.h
+${PLIST.freetype}share/grub/ascii.pf2
+${PLIST.freetype}share/grub/euro.pf2
+${PLIST.freetype}share/grub/unicode.pf2
+${PLIST.freetype}share/grub/widthspec.h
+share/grub/grub-mkconfig_lib
+${PLIST.freetype}share/grub/themes/starfield/COPYING.CC-BY-SA-3.0
+${PLIST.freetype}share/grub/themes/starfield/README
+${PLIST.freetype}share/grub/themes/starfield/blob_w.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_c.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_e.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_n.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_ne.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_nw.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_s.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_se.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_sw.png
+${PLIST.freetype}share/grub/themes/starfield/boot_menu_w.png
+${PLIST.freetype}share/grub/themes/starfield/dejavu_10.pf2
+${PLIST.freetype}share/grub/themes/starfield/dejavu_12.pf2
+${PLIST.freetype}share/grub/themes/starfield/dejavu_14.pf2
+${PLIST.freetype}share/grub/themes/starfield/dejavu_16.pf2
+${PLIST.freetype}share/grub/themes/starfield/dejavu_bold_14.pf2
+${PLIST.freetype}share/grub/themes/starfield/slider_c.png
+${PLIST.freetype}share/grub/themes/starfield/slider_n.png
+${PLIST.freetype}share/grub/themes/starfield/slider_s.png
+${PLIST.freetype}share/grub/themes/starfield/starfield.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_c.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_e.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_n.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_ne.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_nw.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_s.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_se.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_sw.png
+${PLIST.freetype}share/grub/themes/starfield/terminal_box_w.png
+${PLIST.freetype}share/grub/themes/starfield/theme.txt
+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/de@hebrew/LC_MESSAGES/grub.mo
+share/locale/de_CH/LC_MESSAGES/grub.mo
+share/locale/en@arabic/LC_MESSAGES/grub.mo
+share/locale/en@cyrillic/LC_MESSAGES/grub.mo
+share/locale/en@greek/LC_MESSAGES/grub.mo
+share/locale/en@hebrew/LC_MESSAGES/grub.mo
+share/locale/en@piglatin/LC_MESSAGES/grub.mo
+share/locale/en@quot/LC_MESSAGES/grub.mo
+share/locale/eo/LC_MESSAGES/grub.mo
+share/locale/fi/LC_MESSAGES/grub.mo
+share/locale/fr/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/nl/LC_MESSAGES/grub.mo
+share/locale/pa/LC_MESSAGES/grub.mo
+share/locale/pl/LC_MESSAGES/grub.mo
+share/locale/ru/LC_MESSAGES/grub.mo
+share/locale/sv/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
diff --git a/sysutils/grub2/distinfo b/sysutils/grub2/distinfo
new file mode 100644
index 00000000000..21aaeaf2236
--- /dev/null
+++ b/sysutils/grub2/distinfo
@@ -0,0 +1,15 @@
+$NetBSD: distinfo,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+SHA1 (grub-2.00.tar.gz) = fcb39b621680caf34071abcb9ec913d5da458554
+RMD160 (grub-2.00.tar.gz) = 7a4d4fc2a22dfe169c03ec54b9c9a078679aa506
+Size (grub-2.00.tar.gz) = 8270319 bytes
+SHA1 (unifont-5.1.20080820.pcf.gz) = 87f8600ba24e521b5d20bdf6c4b71af8ae861e3a
+RMD160 (unifont-5.1.20080820.pcf.gz) = ddc87231a7c1e18e81a6f4578a4f0279bcd0c292
+Size (unifont-5.1.20080820.pcf.gz) = 1379965 bytes
+SHA1 (patch-configure) = 5bc08d640943e59c795113a4375a712c1932ccff
+SHA1 (patch-grub-core_lib_posix__wrap_sys_types.h) = 7510953e7bbed347f5d53e4535c309c365ba2bcd
+SHA1 (patch-grub-core_lib_posix__wrap_wchar.h) = 6509696c2d5e008634b710c63cb836664d0f8a89
+SHA1 (patch-grub-core_loader_i386_pc_plan9.c) = 07c909c02210ef59647185cd9b7f43b35d58515c
+SHA1 (patch-stpcpy-1.diff) = d31f8d607900fdde950d3828279d5b3b09812a39
+SHA1 (patch-stpcpy-2-gen.diff) = 8b2d08cfe798386eec7d70a3946e7a9430e75254
+SHA1 (patch-util_grub.d_10__netbsd.in) = c7ad93fc60594233d71962e625320091d8cc67e5
diff --git a/sysutils/grub2/files/05_pkgsrc_theme b/sysutils/grub2/files/05_pkgsrc_theme
new file mode 100644
index 00000000000..b9e3145a087
--- /dev/null
+++ b/sysutils/grub2/files/05_pkgsrc_theme
@@ -0,0 +1,8 @@
+#! /bin/sh -e
+
+# Comment these lines or remove this file for default GRUB menu colors, or
+# change them to suit your taste...
+cat << EOF
+set menu_color_normal=light-gray/brown
+set menu_color_highlight=yellow/brown
+EOF
diff --git a/sysutils/grub2/files/default.conf b/sysutils/grub2/files/default.conf
new file mode 100644
index 00000000000..2df1316c281
--- /dev/null
+++ b/sysutils/grub2/files/default.conf
@@ -0,0 +1,36 @@
+# This file is sourced by grub-mkconfig(8). If you make changes to this
+# file, you must (re-)run grub-mkconfig -o <path to grub.cfg> for these
+# changes to take effect.
+#
+
+# Default menu entry (numbering starts from 0)
+#GRUB_DEFAULT=0 # 0 by default
+
+# Timeout (in seconds) before automatic selection of the default entry
+#GRUB_TIMEOUT=5 # 5 by default
+
+# Operating system distributor (e.g. `Debian')
+#GRUB_DISTRIBUTOR= # empty by default
+if [ "$(uname -s)" = "Linux" ] && which lsb_release >/dev/null ; then
+ GRUB_DISTRIBUTOR=$(lsb_release -i -s 2>/dev/null)
+fi
+
+# Uncomment to force non-graphical console terminal (disables locale support)
+#GRUB_TERMINAL=console # empty by default
+
+# Graphics resolution of graphical terminal
+#GRUB_GFXMODE=640x480 # 640x480 by default
+
+# Options appended to the kernel command-line (OS-dependent)
+#GRUB_CMDLINE_LINUX= # empty by default
+#GRUB_CMDLINE_NETBSD= # empty by default
+
+# Extra options for normal (i.e. non recovery) mode menu entries
+GRUB_CMDLINE_LINUX_DEFAULT=quiet # empty by default
+GRUB_CMDLINE_NETBSD_DEFAULT="-z" # empty by default
+
+# Uncomment to disable generation of recovery mode menu entries
+#GRUB_DISABLE_RECOVERY=true # empty by default
+
+# Uncomment to prevent GRUB from probing OSes on other partitions
+#GRUB_DISABLE_OS_PROBER=true # empty by default
diff --git a/sysutils/grub2/options.mk b/sysutils/grub2/options.mk
new file mode 100644
index 00000000000..20e7715a5c8
--- /dev/null
+++ b/sysutils/grub2/options.mk
@@ -0,0 +1,41 @@
+# $NetBSD: options.mk,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+#
+
+#
+# Description of options (taken from configure --help):
+# debug include memory manager debugging
+# freetype build and install the `grub-mkfont' utility
+#
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.grub2
+PKG_SUPPORTED_OPTIONS= debug freetype
+PKG_SUGGESTED_OPTIONS= freetype
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= freetype
+
+UNIFONT= unifont-5.1.20080820.pcf
+SITES.${UNIFONT}.gz= http://unifoundry.com/
+
+post-extract: do-move-unifont
+.PHONY: do-move-unifont
+
+.if !empty(PKG_OPTIONS:Mdebug)
+CONFIGURE_ARGS+= --enable-mm-debug
+.else
+CONFIGURE_ARGS+= --disable-mm-debug
+.endif
+
+.if !empty(PKG_OPTIONS:Mfreetype)
+CONFIGURE_ARGS+= --enable-grub-mkfont
+PLIST.freetype= yes
+DISTFILES+= ${UNIFONT}.gz
+BUILD_DEPENDS+= dejavu-ttf>=2.30:../../fonts/dejavu-ttf
+do-move-unifont:
+ ${MV} ${WRKDIR}/${UNIFONT} ${WRKSRC}/unifont.pcf
+.include "../../graphics/freetype2/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-grub-mkfont
+do-move-unifont:
+.endif
diff --git a/sysutils/grub2/patches/patch-configure b/sysutils/grub2/patches/patch-configure
new file mode 100644
index 00000000000..3741bcb098c
--- /dev/null
+++ b/sysutils/grub2/patches/patch-configure
@@ -0,0 +1,16 @@
+$NetBSD: patch-configure,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+Strengthen the test for working -nostdinc -isystem. Otherwise,
+configure believes that -nostdinc -isystem works with gcc44, which
+makes the build fail afterwards (for a file including stddef.h).
+
+--- configure.orig 2012-06-26 11:59:16.000000000 +0000
++++ configure
+@@ -21169,6 +21169,7 @@ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+ #include <stdarg.h>
++#include <stddef.h>
+ int va_arg_func (int fixed, va_list args);
+ int
+ main (void)
diff --git a/sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_sys_types.h b/sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_sys_types.h
new file mode 100644
index 00000000000..f6b2409169b
--- /dev/null
+++ b/sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_sys_types.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-grub-core_lib_posix__wrap_sys_types.h,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+Include stddef rather than defining size_t to avoid conflict.
+
+--- grub-core/lib/posix_wrap/sys/types.h.orig 2012-05-28 15:52:37.000000000 +0000
++++ grub-core/lib/posix_wrap/sys/types.h
+@@ -21,7 +21,7 @@
+
+ #include <grub/misc.h>
+
+-#ifndef __APPLE__
++#if !(defined(__APPLE__) || defined(__NetBSD__))
+ typedef grub_size_t size_t;
+ #else
+ #include <stddef.h>
diff --git a/sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_wchar.h b/sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_wchar.h
new file mode 100644
index 00000000000..8700b120a53
--- /dev/null
+++ b/sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_wchar.h
@@ -0,0 +1,18 @@
+$NetBSD: patch-grub-core_lib_posix__wrap_wchar.h,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+Include stddef rather than defining wchar_t to avoid conflict.
+
+--- grub-core/lib/posix_wrap/wchar.h.orig 2012-02-08 20:34:24.000000000 +0000
++++ grub-core/lib/posix_wrap/wchar.h
+@@ -29,7 +29,11 @@ enum
+ };
+
+ /* UCS-4. */
++#if !defined(__NetBSD__)
+ typedef grub_int32_t wchar_t;
++#else
++#include <stddef.h>
++#endif
+
+ typedef struct mbstate {
+ grub_uint32_t code;
diff --git a/sysutils/grub2/patches/patch-grub-core_loader_i386_pc_plan9.c b/sysutils/grub2/patches/patch-grub-core_loader_i386_pc_plan9.c
new file mode 100644
index 00000000000..23fa7319eaf
--- /dev/null
+++ b/sysutils/grub2/patches/patch-grub-core_loader_i386_pc_plan9.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-grub-core_loader_i386_pc_plan9.c,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+Prevent warning with lang/gcc44, leading to build failure.
+
+--- grub-core/loader/i386/pc/plan9.c.orig 2012-03-04 00:00:08.000000000 +0000
++++ grub-core/loader/i386/pc/plan9.c
+@@ -102,6 +102,8 @@ grub_plan9_unload (void)
+ return GRUB_ERR_NONE;
+ }
+
++#pragma GCC diagnostic ignored "-Wstrict-aliasing"
++
+ static grub_err_t
+ grub_cmd_plan9 (grub_extcmd_context_t ctxt, int argc, char *argv[])
+ {
diff --git a/sysutils/grub2/patches/patch-stpcpy-1.diff b/sysutils/grub2/patches/patch-stpcpy-1.diff
new file mode 100644
index 00000000000..a6be7f67ba8
--- /dev/null
+++ b/sysutils/grub2/patches/patch-stpcpy-1.diff
@@ -0,0 +1,176 @@
+$NetBSD: patch-stpcpy-1.diff,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+Add gnulib's stpcpy.
+
+=== modified file 'grub-core/gnulib/Makefile.am'
+--- grub-core/gnulib/Makefile.am 2010-09-20 23:09:23 +0000
++++ grub-core/gnulib/Makefile.am 2012-07-28 13:09:43 +0000
+@@ -9,7 +9,7 @@
+ # the same distribution terms as the rest of that program.
+ #
+ # Generated by gnulib-tool.
+-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex
++# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex stpcpy
+
+ AUTOMAKE_OPTIONS = 1.5 gnits
+
+@@ -859,6 +859,15 @@
+
+ ## end gnulib module stdlib
+
++## begin gnulib module stpcpy
++
++
++EXTRA_DIST += stpcpy.c
++
++EXTRA_libgnu_a_SOURCES += stpcpy.c
++
++## end gnulib module stpcpy
++
+ ## begin gnulib module strcase
+
+
+
+=== added file 'grub-core/gnulib/stpcpy.c'
+--- grub-core/gnulib/stpcpy.c 1970-01-01 00:00:00 +0000
++++ grub-core/gnulib/stpcpy.c 2012-07-28 13:09:38 +0000
+@@ -0,0 +1,49 @@
++/* stpcpy.c -- copy a string and return pointer to end of new string
++ Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2010 Free Software
++ Foundation, Inc.
++
++ NOTE: The canonical source of this file is maintained with the GNU C Library.
++ Bugs can be reported to bug-glibc@prep.ai.mit.edu.
++
++ This program 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 any
++ later version.
++
++ This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */
++
++#include <config.h>
++
++#include <string.h>
++
++#undef __stpcpy
++#ifdef _LIBC
++# undef stpcpy
++#endif
++
++#ifndef weak_alias
++# define __stpcpy stpcpy
++#endif
++
++/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
++char *
++__stpcpy (char *dest, const char *src)
++{
++ register char *d = dest;
++ register const char *s = src;
++
++ do
++ *d++ = *s;
++ while (*s++ != '\0');
++
++ return d - 1;
++}
++#ifdef weak_alias
++weak_alias (__stpcpy, stpcpy)
++#endif
+
+=== modified file 'm4/gnulib-cache.m4'
+--- m4/gnulib-cache.m4 2010-09-20 23:09:23 +0000
++++ m4/gnulib-cache.m4 2012-07-28 13:09:43 +0000
+@@ -15,7 +15,7 @@
+
+
+ # Specification in the form of a command-line invocation:
+-# gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex
++# gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex stpcpy
+
+ # Specification in the form of a few gnulib-tool.m4 macro invocations:
+ gl_LOCAL_DIR([])
+@@ -28,6 +28,7 @@
+ gettext
+ progname
+ regex
++ stpcpy
+ ])
+ gl_AVOID([])
+ gl_SOURCE_BASE([grub-core/gnulib])
+
+=== modified file 'm4/gnulib-comp.m4'
+--- m4/gnulib-comp.m4 2010-09-20 23:09:23 +0000
++++ m4/gnulib-comp.m4 2012-07-28 13:09:44 +0000
+@@ -73,6 +73,7 @@
+ # Code from module stdint:
+ # Code from module stdio:
+ # Code from module stdlib:
++ # Code from module stpcpy:
+ # Code from module strcase:
+ # Code from module strchrnul:
+ # Code from module streq:
+@@ -221,6 +222,9 @@
+ gl_STDIO_H
+ # Code from module stdlib:
+ gl_STDLIB_H
++ # Code from module stpcpy:
++ gl_FUNC_STPCPY
++ gl_STRING_MODULE_INDICATOR([stpcpy])
+ # Code from module strcase:
+ gl_STRCASE
+ # Code from module strchrnul:
+@@ -482,6 +486,7 @@
+ lib/stdio-write.c
+ lib/stdio.in.h
+ lib/stdlib.in.h
++ lib/stpcpy.c
+ lib/strcasecmp.c
+ lib/strchrnul.c
+ lib/strchrnul.valgrind
+@@ -576,6 +581,7 @@
+ m4/stdint_h.m4
+ m4/stdio_h.m4
+ m4/stdlib_h.m4
++ m4/stpcpy.m4
+ m4/strcase.m4
+ m4/strchrnul.m4
+ m4/strerror.m4
+
+=== added file 'm4/stpcpy.m4'
+--- m4/stpcpy.m4 1970-01-01 00:00:00 +0000
++++ m4/stpcpy.m4 2012-07-28 13:09:38 +0000
+@@ -0,0 +1,26 @@
++# stpcpy.m4 serial 7
++dnl Copyright (C) 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
++dnl This file is free software; the Free Software Foundation
++dnl gives unlimited permission to copy and/or distribute it,
++dnl with or without modifications, as long as this notice is preserved.
++
++AC_DEFUN([gl_FUNC_STPCPY],
++[
++ dnl Persuade glibc <string.h> to declare stpcpy().
++ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
++
++ dnl The stpcpy() declaration in lib/string.in.h uses 'restrict'.
++ AC_REQUIRE([AC_C_RESTRICT])
++
++ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
++ AC_REPLACE_FUNCS([stpcpy])
++ if test $ac_cv_func_stpcpy = no; then
++ HAVE_STPCPY=0
++ gl_PREREQ_STPCPY
++ fi
++])
++
++# Prerequisites of lib/stpcpy.c.
++AC_DEFUN([gl_PREREQ_STPCPY], [
++ :
++])
diff --git a/sysutils/grub2/patches/patch-stpcpy-2-gen.diff b/sysutils/grub2/patches/patch-stpcpy-2-gen.diff
new file mode 100644
index 00000000000..3e31dcceba9
--- /dev/null
+++ b/sysutils/grub2/patches/patch-stpcpy-2-gen.diff
@@ -0,0 +1,177 @@
+$NetBSD: patch-stpcpy-2-gen.diff,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+Add gnulib's stpcpy. Generated files only.
+
+diff -Naurp grub-2.00/Makefile.in grub-2.00.stpcpy/Makefile.in
+--- Makefile.in 2012-06-26 14:12:41.000000000 +0200
++++ Makefile.in 2012-07-28 16:02:25.351302756 +0200
+@@ -6070,7 +6070,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/0
+ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
++ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
+ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strerror.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+diff -Naurp grub-2.00/aclocal.m4 grub-2.00.stpcpy/aclocal.m4
+--- aclocal.m4 2012-06-26 13:59:13.000000000 +0200
++++ aclocal.m4 2012-07-28 15:57:51.202749270 +0200
+@@ -1088,6 +1088,7 @@ m4_include([m4/stdint.m4])
+ m4_include([m4/stdint_h.m4])
+ m4_include([m4/stdio_h.m4])
+ m4_include([m4/stdlib_h.m4])
++m4_include([m4/stpcpy.m4])
+ m4_include([m4/strcase.m4])
+ m4_include([m4/strchrnul.m4])
+ m4_include([m4/strerror.m4])
+diff -Naurp grub-2.00/configure grub-2.00.stpcpy/configure
+--- configure 2012-06-26 13:59:16.000000000 +0200
++++ configure 2012-07-28 15:57:56.658680680 +0200
+@@ -6778,6 +6778,7 @@ $as_echo "$ac_cv_safe_to_define___extens
+ # Code from module stdint:
+ # Code from module stdio:
+ # Code from module stdlib:
++ # Code from module stpcpy:
+ # Code from module strcase:
+ # Code from module strchrnul:
+ # Code from module streq:
+@@ -17952,6 +17953,55 @@ fi
+ done
+
+
++ # Code from module stpcpy:
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ for ac_func in stpcpy
++do :
++ ac_fn_c_check_func "$LINENO" "stpcpy" "ac_cv_func_stpcpy"
++if test "x$ac_cv_func_stpcpy" = xyes; then :
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_STPCPY 1
++_ACEOF
++
++else
++
++ gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
++
++fi
++done
++
++
++ if test $ac_cv_func_stpcpy = no; then
++ HAVE_STPCPY=0
++
++ :
++
++ fi
++
++
++
++
++ GNULIB_STPCPY=1
++
++
++
++$as_echo "#define GNULIB_TEST_STPCPY 1" >>confdefs.h
++
++
++
+ # Code from module strcase:
+
+
+diff -Naurp grub-2.00/docs/Makefile.in grub-2.00.stpcpy/docs/Makefile.in
+--- docs/Makefile.in 2012-06-26 13:59:17.000000000 +0200
++++ docs/Makefile.in 2012-07-28 16:02:37.319152299 +0200
+@@ -89,7 +89,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/0
+ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
++ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
+ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strerror.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+diff -Naurp grub-2.00/grub-core/Makefile.in grub-2.00.stpcpy/grub-core/Makefile.in
+--- grub-core/Makefile.in 2012-06-26 14:12:27.000000000 +0200
++++ grub-core/Makefile.in 2012-07-28 16:02:31.483225667 +0200
+@@ -23878,7 +23878,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/0
+ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
++ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
+ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strerror.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+diff -Naurp grub-2.00/grub-core/gnulib/Makefile.in grub-2.00.stpcpy/grub-core/gnulib/Makefile.in
+--- grub-core/gnulib/Makefile.in 2012-06-26 14:00:29.000000000 +0200
++++ grub-core/gnulib/Makefile.in 2012-07-28 16:05:07.073269635 +0200
+@@ -24,7 +24,7 @@
+ # the same distribution terms as the rest of that program.
+ #
+ # Generated by gnulib-tool.
+-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex
++# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex stpcpy
+
+
+
+@@ -101,7 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/0
+ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
++ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
+ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strerror.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+@@ -843,7 +843,7 @@ EXTRA_DIST = alloca.c alloca.in.h \
+ rawmemchr.valgrind realloc.c regcomp.c regex.c regex.h \
+ regex_internal.c regex_internal.h regexec.c sleep.c \
+ stdbool.in.h stddef.in.h stdint.in.h stdio-write.c stdio.in.h \
+- stdlib.in.h strcasecmp.c strncasecmp.c strchrnul.c \
++ stdlib.in.h stpcpy.c strcasecmp.c strncasecmp.c strchrnul.c \
+ strchrnul.valgrind streq.h strerror.c string.in.h strings.in.h \
+ strndup.c strnlen.c sys_wait.in.h sysexits.in.h unistd.in.h \
+ asnprintf.c float+.h printf-args.c printf-args.h \
+@@ -904,7 +904,7 @@ EXTRA_libgnu_a_SOURCES = alloca.c btowc.
+ mbrtowc.c mbsinit.c mbsrtowcs-state.c mbsrtowcs.c memchr.c \
+ mempcpy.c nl_langinfo.c rawmemchr.c realloc.c regcomp.c \
+ regex.c regex_internal.c regexec.c sleep.c stdio-write.c \
+- strcasecmp.c strncasecmp.c strchrnul.c strerror.c strndup.c \
++ stpcpy.c strcasecmp.c strncasecmp.c strchrnul.c strerror.c strndup.c \
+ strnlen.c asnprintf.c printf-args.c printf-parse.c \
+ vasnprintf.c vsnprintf.c wcrtomb.c
+ ARG_NONNULL_H = arg-nonnull.h
+@@ -1013,6 +1013,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdio-write.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stpcpy.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strchrnul.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Po@am__quote@
+diff -Naurp grub-2.00/util/bash-completion.d/Makefile.in grub-2.00.stpcpy/util/bash-completion.d/Makefile.in
+--- util/bash-completion.d/Makefile.in 2012-06-26 14:00:29.000000000 +0200
++++ util/bash-completion.d/Makefile.in 2012-07-28 16:02:28.407264338 +0200
+@@ -87,7 +87,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/0
+ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
++ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
+ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strerror.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
diff --git a/sysutils/grub2/patches/patch-util_grub.d_10__netbsd.in b/sysutils/grub2/patches/patch-util_grub.d_10__netbsd.in
new file mode 100644
index 00000000000..d5c1e784abf
--- /dev/null
+++ b/sysutils/grub2/patches/patch-util_grub.d_10__netbsd.in
@@ -0,0 +1,33 @@
+$NetBSD: patch-util_grub.d_10__netbsd.in,v 1.1 2012/07/29 21:44:13 gsutre Exp $
+
+Make sure that /netbsd is the main boot menu entry.
+Fix indentation for filesystem module.
+
+--- util/grub.d/10_netbsd.in.orig 2012-07-25 13:23:50.000000000 +0000
++++ util/grub.d/10_netbsd.in
+@@ -74,13 +74,13 @@ netbsd_load_fs_module ()
+ fi
+
+ kmodule_rel=$(make_system_path_relative_to_its_root "$kmodule") || return
+- prepare_grub_to_access_device $(${grub_probe} -t device "${kmodule}") | sed -e 's,^, ,'
++ prepare_grub_to_access_device $(${grub_probe} -t device "${kmodule}") | sed -e 's,^, ,' | sed "s/^/$submenu_indentation/"
+ case "${loader}" in
+ knetbsd)
+- printf "\tknetbsd_module_elf %s\n" "${kmodule_rel}"
++ printf "\tknetbsd_module_elf %s\n" "${kmodule_rel}" | sed "s/^/$submenu_indentation/"
+ ;;
+ multiboot)
+- printf "\tmodule %s\n" "${kmodule_rel}"
++ printf "\tmodule %s\n" "${kmodule_rel}" | sed "s/^/$submenu_indentation/"
+ ;;
+ esac
+ }
+@@ -147,7 +147,7 @@ pattern="^ELF[^,]*executable.*statically
+ submenu_indentation=""
+
+ is_first_entry=true
+-for k in $(ls -t /netbsd*) ; do
++for k in /netbsd $(ls -t /netbsd?* 2>/dev/null) ; do
+ if ! grub_file_is_not_garbage "$k" ; then
+ continue
+ fi