parent
9109e5a119
commit
82d5d39ca7
@ -1,3 +0,0 @@
|
||||
DIST dejavu-sans-ttf-2.35.zip 415463 SHA256 c629bce270e75b6234d5285a739cd186bebc27319993f4b1ea6beb3631810799 SHA512 23c24218da70b3a93fa8c72e8db972b2b881bf3f76056a9315e29162743a8edaf5b699e0a527de121ca5f9efe07243eaf15811db355dba8cca1b92bdd1210732 WHIRLPOOL e3436818e11dab0330bff1a129d1e6fbf670b06a362b353f7bd00388cf46790bde202f1f7dd67b03ad7f9ae7d76098a5a72bc5321f359c2138c4d42c0cebc2aa
|
||||
DIST grub-2.02~beta3.tar.xz 6030784 SHA256 30ec3d555e52a702c3eef449872ef874eff28b320f40b55ffc47f70db8e5ada1 SHA512 4a530efef4dae45f4046cf3550563f14acb24d25cb88d5e06c93953ca5b1eec115118c6860233a9f627edcddae2571e5d6b867b70ff9dd5c184c9fef83ef7e11 WHIRLPOOL b1042c24060e35ea5a492b7258b147fde80c949c2e81dcff3a31750966b7d31cdb62e1492274843f313226d70b202a8edbf08d11c5e79e4173a4c373879e4aad
|
||||
DIST unifont-8.0.01.pcf.gz 1359487 SHA256 28c3f7ffe986e611a42f3d209e1f7730669e2e317b6913510746a77fa6f0ed56 SHA512 8a2872a389bb6e1bb4badf8bbe717c4fff632fed53baaea018b7b277c2b88678df485bcd0663a8b1ec76a344e04a3a1cd9de24b7f953ffd9d58844eef029bbc8 WHIRLPOOL 33433d9cfc2fedc9969fa438be4ceaaf2ebc3801424ca247f5dd448607f45e7b9cb503a11ba72e76cf4608142161268c0b078ea65bfa970595f571c807ad6ae8
|
@ -1,27 +0,0 @@
|
||||
From ea8de5d2ee58178381e5809e4d5fe79861e61b04 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Sat, 5 Mar 2016 17:21:15 -0500
|
||||
Subject: [PATCH] [2.02] 10_linux: Fix grouping of tests for GRUB_DEVICE
|
||||
|
||||
Commit 7290bb562 causes GRUB_DISABLE_LINUX_UUID to be ignored due to
|
||||
mixing of || and && operators. Add some parens to help with that.
|
||||
---
|
||||
util/grub.d/10_linux.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
||||
index 5a78513..de9044c 100644
|
||||
--- a/util/grub.d/10_linux.in
|
||||
+++ b/util/grub.d/10_linux.in
|
||||
@@ -47,7 +47,7 @@ esac
|
||||
# and mounting btrfs requires user space scanning, so force UUID in this case.
|
||||
if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
|
||||
|| ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
|
||||
- || test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm; then
|
||||
+ || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
|
||||
LINUX_ROOT_DEVICE=${GRUB_DEVICE}
|
||||
else
|
||||
LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
|
||||
--
|
||||
2.7.2
|
||||
|
@ -1,57 +0,0 @@
|
||||
2016-05-21 Magnus Granberg <zorry@gentoo.org>
|
||||
|
||||
#583042 sys-boot/grub-2.02_beta3-r1: building w/gcc-6[pie]: error:
|
||||
x86_64-pc-linux-gnu/bin/ld: -r and -shared may not be used together
|
||||
|
||||
* acinclude.m4: Add -no-pie check.
|
||||
* configure.ac: Add -no-pie to TARGET_LDFLAGS if needed.
|
||||
|
||||
--- a/acinclude.m4 2015-11-11 20:56:52.000000000 +0100
|
||||
+++ b/acinclude.m4 2016-05-17 00:08:22.000000000 +0200
|
||||
@@ -390,6 +390,24 @@ else
|
||||
[fi]
|
||||
])
|
||||
|
||||
+dnl Check if the Linker supports `-no-pie'.
|
||||
+AC_DEFUN([grub_CHECK_NO_PIE],
|
||||
+[AC_MSG_CHECKING([whether linker accepts -no-pie])
|
||||
+AC_CACHE_VAL(grub_cv_cc_ld_nopie,
|
||||
+[save_LDFLAGS="$LDFLAGS"
|
||||
+LDFLAGS="$LDFLAGS -no-pie"
|
||||
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||
+ [grub_cv_cc_ld_no_pie=yes],
|
||||
+ [grub_cv_cc_ld_no_pie=no])
|
||||
+LDFLAGS="$save_LDFLAGS"
|
||||
+])
|
||||
+AC_MSG_RESULT([$grub_cv_cc_ld_no_pie])
|
||||
+nopie_possible=no
|
||||
+if test "x$grub_cv_cc_ld_no_pie" = xyes ; then
|
||||
+ nopie_possible=yes
|
||||
+fi
|
||||
+])
|
||||
+
|
||||
dnl Check if the C compiler supports `-fPIC'.
|
||||
AC_DEFUN([grub_CHECK_PIC],[
|
||||
[# Position independent executable.
|
||||
--- a/configure.ac 2016-02-27 13:40:56.000000000 +0100
|
||||
+++ b/configure.ac 2016-05-17 00:57:29.471000000 +0200
|
||||
@@ -1184,13 +1184,18 @@ CFLAGS="$TARGET_CFLAGS"
|
||||
|
||||
# Position independent executable.
|
||||
grub_CHECK_PIE
|
||||
+grub_CHECK_NO_PIE
|
||||
[# Need that, because some distributions ship compilers that include
|
||||
-# `-fPIE' in the default specs.
|
||||
+# `-fPIE' and '-pie' in the default specs.
|
||||
if [ x"$pie_possible" = xyes ]; then
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -fno-PIE"
|
||||
+fi
|
||||
+if [ x"$nopie_possible" = xyes ] && [ x"$pie_possible" = xyes ]; then
|
||||
+ TARGET_LDFLAGS="$TARGET_LDFLAGS -no-pie"
|
||||
fi]
|
||||
|
||||
CFLAGS="$TARGET_CFLAGS"
|
||||
+LDFLAGS="$TARGET_LDFLAGS"
|
||||
|
||||
# Position independent executable.
|
||||
grub_CHECK_PIC
|
@ -1,107 +0,0 @@
|
||||
From 7a5b301e3adb8e054288518a325135a1883c1c6c Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Tue, 19 Apr 2016 14:27:22 -0400
|
||||
Subject: [PATCH] build: Use AC_HEADER_MAJOR to find device macros
|
||||
|
||||
Depending on the OS/libc, device macros are defined in different
|
||||
headers. This change ensures we include the right one.
|
||||
|
||||
sys/types.h - BSD
|
||||
sys/mkdev.h - Sun
|
||||
sys/sysmacros.h - glibc (Linux)
|
||||
|
||||
glibc currently pulls sys/sysmacros.h into sys/types.h, but this may
|
||||
change in a future release.
|
||||
|
||||
https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
|
||||
---
|
||||
configure.ac | 3 ++-
|
||||
grub-core/osdep/devmapper/getroot.c | 6 ++++++
|
||||
grub-core/osdep/devmapper/hostdisk.c | 5 +++++
|
||||
grub-core/osdep/linux/getroot.c | 6 ++++++
|
||||
grub-core/osdep/unix/getroot.c | 4 +++-
|
||||
5 files changed, 22 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 57e1713..9ddfc53 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -388,7 +388,8 @@ fi
|
||||
|
||||
# Check for functions and headers.
|
||||
AC_CHECK_FUNCS(posix_memalign memalign getextmntent)
|
||||
-AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h sys/mkdev.h limits.h)
|
||||
+AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h limits.h)
|
||||
+AC_HEADER_MAJOR
|
||||
|
||||
AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$ac_includes_default
|
||||
#include <sys/param.h>
|
||||
diff --git a/grub-core/osdep/devmapper/getroot.c b/grub-core/osdep/devmapper/getroot.c
|
||||
index 05eda50..72e5582 100644
|
||||
--- a/grub-core/osdep/devmapper/getroot.c
|
||||
+++ b/grub-core/osdep/devmapper/getroot.c
|
||||
@@ -40,6 +40,12 @@
|
||||
#include <limits.h>
|
||||
#endif
|
||||
|
||||
+#if defined(MAJOR_IN_MKDEV)
|
||||
+#include <sys/mkdev.h>
|
||||
+#elif defined(MAJOR_IN_SYSMACROS)
|
||||
+#include <sys/sysmacros.h>
|
||||
+#endif
|
||||
+
|
||||
#include <libdevmapper.h>
|
||||
|
||||
#include <grub/types.h>
|
||||
diff --git a/grub-core/osdep/devmapper/hostdisk.c b/grub-core/osdep/devmapper/hostdisk.c
|
||||
index 19c1101..a697bcb 100644
|
||||
--- a/grub-core/osdep/devmapper/hostdisk.c
|
||||
+++ b/grub-core/osdep/devmapper/hostdisk.c
|
||||
@@ -24,6 +24,11 @@
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
|
||||
+#if defined(MAJOR_IN_MKDEV)
|
||||
+#include <sys/mkdev.h>
|
||||
+#elif defined(MAJOR_IN_SYSMACROS)
|
||||
+#include <sys/sysmacros.h>
|
||||
+#endif
|
||||
|
||||
#ifdef HAVE_DEVICE_MAPPER
|
||||
# include <libdevmapper.h>
|
||||
diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c
|
||||
index 10480b6..09e7e6e 100644
|
||||
--- a/grub-core/osdep/linux/getroot.c
|
||||
+++ b/grub-core/osdep/linux/getroot.c
|
||||
@@ -35,6 +35,12 @@
|
||||
#include <limits.h>
|
||||
#endif
|
||||
|
||||
+#if defined(MAJOR_IN_MKDEV)
|
||||
+#include <sys/mkdev.h>
|
||||
+#elif defined(MAJOR_IN_SYSMACROS)
|
||||
+#include <sys/sysmacros.h>
|
||||
+#endif
|
||||
+
|
||||
#include <grub/types.h>
|
||||
#include <sys/ioctl.h> /* ioctl */
|
||||
#include <sys/mount.h>
|
||||
diff --git a/grub-core/osdep/unix/getroot.c b/grub-core/osdep/unix/getroot.c
|
||||
index 1079a91..4bf37b0 100644
|
||||
--- a/grub-core/osdep/unix/getroot.c
|
||||
+++ b/grub-core/osdep/unix/getroot.c
|
||||
@@ -51,8 +51,10 @@
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
-#if defined(HAVE_SYS_MKDEV_H)
|
||||
+#if defined(MAJOR_IN_MKDEV)
|
||||
#include <sys/mkdev.h>
|
||||
+#elif defined(MAJOR_IN_SYSMACROS)
|
||||
+#include <sys/sysmacros.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_LIBZFS) && defined(HAVE_LIBNVPAIR)
|
||||
--
|
||||
2.8.1
|
||||
|
@ -1,54 +0,0 @@
|
||||
From 451d80e52d851432e109771bb8febafca7a5f1f2 Mon Sep 17 00:00:00 2001
|
||||
From: Hector Marco-Gisbert <hecmargi@upv.es>
|
||||
Date: Wed, 16 Dec 2015 07:57:18 +0300
|
||||
Subject: [PATCH] Fix security issue when reading username and password
|
||||
|
||||
This patch fixes two integer underflows at:
|
||||
* grub-core/lib/crypto.c
|
||||
* grub-core/normal/auth.c
|
||||
|
||||
CVE-2015-8370
|
||||
|
||||
Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
|
||||
Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
|
||||
Also-By: Andrey Borzenkov <arvidjaar@gmail.com>
|
||||
---
|
||||
grub-core/lib/crypto.c | 3 ++-
|
||||
grub-core/normal/auth.c | 7 +++++--
|
||||
2 files changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
|
||||
index 010e550..683a8aa 100644
|
||||
--- a/grub-core/lib/crypto.c
|
||||
+++ b/grub-core/lib/crypto.c
|
||||
@@ -470,7 +470,8 @@ grub_password_get (char buf[], unsigned buf_size)
|
||||
|
||||
if (key == '\b')
|
||||
{
|
||||
- cur_len--;
|
||||
+ if (cur_len)
|
||||
+ cur_len--;
|
||||
continue;
|
||||
}
|
||||
|
||||
diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
|
||||
index c6bd96e..8615c48 100644
|
||||
--- a/grub-core/normal/auth.c
|
||||
+++ b/grub-core/normal/auth.c
|
||||
@@ -174,8 +174,11 @@ grub_username_get (char buf[], unsigned buf_size)
|
||||
|
||||
if (key == '\b')
|
||||
{
|
||||
- cur_len--;
|
||||
- grub_printf ("\b");
|
||||
+ if (cur_len)
|
||||
+ {
|
||||
+ cur_len--;
|
||||
+ grub_printf ("\b");
|
||||
+ }
|
||||
continue;
|
||||
}
|
||||
|
||||
--
|
||||
2.6.4
|
||||
|
@ -1,29 +0,0 @@
|
||||
From e2d5bf1bc6aaaabeba538c1ca94ea8601e4e1474 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Thu, 16 Oct 2014 23:43:51 -0400
|
||||
Subject: [PATCH] 10_linux: Default gfxpayload=keep only when booting using efi
|
||||
|
||||
vesafb seems to be unreliable when using BIOS compat mode.
|
||||
|
||||
---
|
||||
util/grub.d/10_linux.in | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
||||
index d2e2a8f..a54b888 100644
|
||||
--- a/util/grub.d/10_linux.in
|
||||
+++ b/util/grub.d/10_linux.in
|
||||
@@ -104,7 +104,9 @@ linux_entry ()
|
||||
echo " load_video" | sed "s/^/$submenu_indentation/"
|
||||
if grep -qx "CONFIG_FB_EFI=y" "${config}" 2> /dev/null \
|
||||
&& grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" "${config}" 2> /dev/null; then
|
||||
- echo " set gfxpayload=keep" | sed "s/^/$submenu_indentation/"
|
||||
+ echo ' if [ "x$grub_platform" = xefi ]; then' | sed "s/^/$submenu_indentation/"
|
||||
+ echo " set gfxpayload=keep" | sed "s/^/$submenu_indentation/"
|
||||
+ echo ' fi' | sed "s/^/$submenu_indentation/"
|
||||
fi
|
||||
else
|
||||
if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
|
||||
--
|
||||
2.7.2
|
||||
|
@ -1,67 +0,0 @@
|
||||
From 43e3295aaad5278a1e53c5282e2660b72cd76d28 Mon Sep 17 00:00:00 2001
|
||||
From: "Robin H. Johnson" <robbat2@gentoo.org>
|
||||
Date: Tue, 29 Dec 2015 15:29:14 -0800
|
||||
Subject: [PATCH] GRUB_LINUX_KERNEL_GLOBS: configurable kernel selection
|
||||
|
||||
* util/grub.d/10_linux.in: Implement GRUB_LINUX_KERNEL_GLOBS
|
||||
* docs/grub.texi: Document GRUB_LINUX_KERNEL_GLOBS
|
||||
|
||||
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
||||
---
|
||||
docs/grub.texi | 5 +++++
|
||||
util/grub.d/10_linux.in | 21 +++++++++++----------
|
||||
2 files changed, 16 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/docs/grub.texi b/docs/grub.texi
|
||||
index 9a25a0b..d1129ec 100644
|
||||
--- a/docs/grub.texi
|
||||
+++ b/docs/grub.texi
|
||||
@@ -1490,6 +1490,11 @@ This option may be set to a list of GRUB module names separated by spaces.
|
||||
Each module will be loaded as early as possible, at the start of
|
||||
@file{grub.cfg}.
|
||||
|
||||
+@item GRUB_LINUX_KERNEL_GLOBS
|
||||
+This option may be set to override the list of path globs used to find Linux
|
||||
+kernels. The defaults vary by architecture, and generally include both
|
||||
+@file{/boot} and @file{/}.
|
||||
+
|
||||
@end table
|
||||
|
||||
The following options are still accepted for compatibility with existing
|
||||
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
||||
index 859b608..e5ac11d 100644
|
||||
--- a/util/grub.d/10_linux.in
|
||||
+++ b/util/grub.d/10_linux.in
|
||||
@@ -145,18 +145,19 @@ EOF
|
||||
}
|
||||
|
||||
machine=`uname -m`
|
||||
-case "x$machine" in
|
||||
+globs="$GRUB_LINUX_KERNEL_GLOBS"
|
||||
+[ -z "$globs" ] && case "x$machine" in
|
||||
xi?86 | xx86_64)
|
||||
- list=
|
||||
- for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
|
||||
- if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
|
||||
- done ;;
|
||||
- *)
|
||||
- list=
|
||||
- for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
|
||||
- if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
|
||||
- done ;;
|
||||
+ globs="/boot/vmlinuz-* /vmlinuz-* /boot/kernel-*"
|
||||
+ ;;
|
||||
+ *)
|
||||
+ globs="/boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-*"
|
||||
+ ;;
|
||||
esac
|
||||
+list=
|
||||
+for i in ${globs} ; do
|
||||
+ if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
|
||||
+done
|
||||
|
||||
case "$machine" in
|
||||
i?86) GENKERNEL_ARCH="x86" ;;
|
||||
--
|
||||
2.3.0
|
||||
|
@ -1,68 +0,0 @@
|
||||
From: Andrei Borzenkov <arvidjaar@gmail.com>
|
||||
Date: Thu, 19 Mar 2015 18:30:27 +0000 (+0300)
|
||||
Subject: core: add LVM RAID1 support
|
||||
X-Git-Url: http://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff_plain;h=527eeeeee6c8d3d8e3bb1fac408d47bb1dcbec95;hp=7c9309e50a124817e67de38b30c6291acecad560
|
||||
|
||||
core: add LVM RAID1 support
|
||||
|
||||
Closes 44534.
|
||||
---
|
||||
|
||||
diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
|
||||
index 1e7f197..9b97004 100644
|
||||
--- a/grub-core/disk/lvm.c
|
||||
+++ b/grub-core/disk/lvm.c
|
||||
@@ -577,13 +577,17 @@ grub_lvm_detect (grub_disk_t disk,
|
||||
if (is_pvmove)
|
||||
seg->node_count = 1;
|
||||
}
|
||||
- else if (grub_memcmp (p, "raid", sizeof ("raid") - 1)
|
||||
- == 0 && (p[sizeof ("raid") - 1] >= '4'
|
||||
- && p[sizeof ("raid") - 1] <= '6')
|
||||
+ else if (grub_memcmp (p, "raid", sizeof ("raid") - 1) == 0
|
||||
+ && ((p[sizeof ("raid") - 1] >= '4'
|
||||
+ && p[sizeof ("raid") - 1] <= '6')
|
||||
+ || p[sizeof ("raid") - 1] == '1')
|
||||
&& p[sizeof ("raidX") - 1] == '"')
|
||||
{
|
||||
switch (p[sizeof ("raid") - 1])
|
||||
{
|
||||
+ case '1':
|
||||
+ seg->type = GRUB_DISKFILTER_MIRROR;
|
||||
+ break;
|
||||
case '4':
|
||||
seg->type = GRUB_DISKFILTER_RAID4;
|
||||
seg->layout = GRUB_RAID_LAYOUT_LEFT_ASYMMETRIC;
|
||||
@@ -608,16 +612,18 @@ grub_lvm_detect (grub_disk_t disk,
|
||||
goto lvs_segment_fail;
|
||||
}
|
||||
|
||||
- seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = ");
|
||||
- if (p == NULL)
|
||||
+ if (seg->type != GRUB_DISKFILTER_MIRROR)
|
||||
{
|
||||
+ seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = ");
|
||||
+ if (p == NULL)
|
||||
+ {
|
||||
#ifdef GRUB_UTIL
|
||||
- grub_util_info ("unknown stripe_size\n");
|
||||
+ grub_util_info ("unknown stripe_size\n");
|
||||
#endif
|
||||
- goto lvs_segment_fail;
|
||||
+ goto lvs_segment_fail;
|
||||
+ }
|
||||
}
|
||||
|
||||
-
|
||||
seg->nodes = grub_zalloc (sizeof (seg->nodes[0])
|
||||
* seg->node_count);
|
||||
|
||||
@@ -625,7 +631,7 @@ grub_lvm_detect (grub_disk_t disk,
|
||||
if (p == NULL)
|
||||
{
|
||||
#ifdef GRUB_UTIL
|
||||
- grub_util_info ("unknown mirrors\n");
|
||||
+ grub_util_info ("unknown raids\n");
|
||||
#endif
|
||||
goto lvs_segment_fail2;
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
# Example configuration for GRUB
|
||||
# Much of this example configuration was taken from the GRUB manual.
|
||||
|
||||
# Menu timeout
|
||||
timeout=5
|
||||
|
||||
# Default menu entry
|
||||
default=0
|
||||
|
||||
# If we have a font available, start graphical output.
|
||||
if loadfont unifont; then
|
||||
# Output resolution for GRUB (eg. 1024x768 or 'auto').
|
||||
gfxmode=auto
|
||||
|
||||
# Output resolution for Linux (VESAFB only).
|
||||
# 'keep' means use the same resolution as GRUB.
|
||||
# For other framebuffer drivers, pass a resolution using the video= kernel param.
|
||||
gfxpayload=keep
|
||||
|
||||
# Load all video drivers.
|
||||
insmod all_video
|
||||
|
||||
# Switch to graphical output.
|
||||
terminal_output gfxterm
|
||||
fi
|
||||
|
||||
# Load modules necessary to find any boot files (/boot).
|
||||
|
||||
# Partition table(s).
|
||||
insmod part_msdos
|
||||
#insmod part_gpt
|
||||
|
||||
menuentry "Gentoo Linux 4.7.2" {
|
||||
# Filesystem for /boot
|
||||
#insmod btrfs
|
||||
insmod ext2
|
||||
#insmod xfs
|
||||
#insmod zfs
|
||||
|
||||
# Search all block devices for a matching UUID (for /boot)
|
||||
search --set=root --fs-uuid 33d4013a-ec25-4462-a540-8078aeb8ed17
|
||||
|
||||
# Load a linux kernel, passing the root filesystem and init process as parameters
|
||||
echo "Loading kernel..."
|
||||
linux /vmlinuz-4.7.2 root=UUID=e1fce3ad-d7e4-4e2f-a1f5-537642bbccd5 rootfstype=btrfs init=/usr/lib/systemd/systemd
|
||||
|
||||
echo "Loading initramfs..."
|
||||
initrd /initramfs-4.7.2.img
|
||||
}
|
||||
|
||||
menuentry "Windows XP" {
|
||||
insmod ntfs
|
||||
search --set=root --label WINDOWS_XP --hint hd0,msdos1
|
||||
ntldr /ntldr
|
||||
}
|
||||
|
||||
menuentry "Windows 7" {
|
||||
insmod ntfs
|
||||
search --set=root --label WINDOWS_7 --hint hd0,msdos2
|
||||
ntldr /bootmgr
|
||||
}
|
||||
|
||||
menuentry "FreeBSD" {
|
||||
insmod zfs
|
||||
search --set=root --label freepool --hint hd0,msdos7
|
||||
kfreebsd /freebsd@/boot/kernel/kernel
|
||||
kfreebsd_module_elf /freebsd@/boot/kernel/opensolaris.ko
|
||||
kfreebsd_module_elf /freebsd@/boot/kernel/zfs.ko
|
||||
kfreebsd_module /freebsd@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
|
||||
set kFreeBSD.vfs.root.mountfrom=zfs:freepool/freebsd
|
||||
set kFreeBSD.hw.psm.synaptics_support=1
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
# This is a sample grub.conf for use with Genkernel, per the Gentoo handbook
|
||||
# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=10#doc_chap2
|
||||
# If you are not using Genkernel and you need help creating this file, you
|
||||
# should consult the handbook. Alternatively, consult the grub.conf.sample that
|
||||
# is included with the Grub documentation.
|
||||
|
||||
default 0
|
||||
timeout 30
|
||||
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
|
||||
|
||||
#title Gentoo Linux 3.8.13
|
||||
#root (hd0,0)
|
||||
#kernel /boot/kernel-genkernel-x86-3.8.13-gentoo root=/dev/sda3
|
||||
#initrd /boot/initramfs-genkernel-x86-3.8.13
|
||||
|
||||
# vim:ft=conf:
|
@ -1,73 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
#
|
||||
# To populate all changes in this file you need to regenerate your
|
||||
# grub configuration file afterwards:
|
||||
# 'grub2-mkconfig -o /boot/grub/grub.cfg'
|
||||
#
|
||||
# See the grub info page for documentation on possible variables and
|
||||
# their associated values.
|
||||
|
||||
GRUB_DISTRIBUTOR="Gentoo"
|
||||
|
||||
# Default menu entry
|
||||
#GRUB_DEFAULT=0
|
||||
|
||||
# Boot the default entry this many seconds after the menu is displayed
|
||||
#GRUB_TIMEOUT=5
|
||||
#GRUB_TIMEOUT_STYLE=menu
|
||||
|
||||
# Append parameters to the linux kernel command line
|
||||
#GRUB_CMDLINE_LINUX=""
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# Boot with network interface renaming disabled
|
||||
# GRUB_CMDLINE_LINUX="net.ifnames=0"
|
||||
#
|
||||
# Boot with systemd instead of sysvinit (openrc)
|
||||
# GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"
|
||||
|
||||
# Append parameters to the linux kernel command line for non-recovery entries
|
||||
#GRUB_CMDLINE_LINUX_DEFAULT=""
|
||||
|
||||
# Uncomment to disable graphical terminal (grub-pc only)
|
||||
#GRUB_TERMINAL=console
|
||||
|
||||
# The resolution used on graphical terminal.
|
||||
# Note that you can use only modes which your graphic card supports via VBE.
|
||||
# You can see them in real GRUB with the command `vbeinfo'.
|
||||
#GRUB_GFXMODE=640x480
|
||||
|
||||
# Set to 'text' to force the Linux kernel to boot in normal text
|
||||
# mode, 'keep' to preserve the graphics mode set using
|
||||
# 'GRUB_GFXMODE', 'WIDTHxHEIGHT'['xDEPTH'] to set a particular
|
||||
# graphics mode, or a sequence of these separated by commas or
|
||||
# semicolons to try several modes in sequence.
|
||||
#GRUB_GFXPAYLOAD_LINUX=
|
||||
|
||||
# Path to theme spec txt file.
|
||||
# The starfield is by default provided with use truetype.
|
||||
# NOTE: when enabling custom theme, ensure you have required font/etc.
|
||||
#GRUB_THEME="/boot/grub/themes/starfield/theme.txt"
|
||||
|
||||
# Background image used on graphical terminal.
|
||||
# Can be in various bitmap formats.
|
||||
#GRUB_BACKGROUND="/boot/grub/mybackground.png"
|
||||
|
||||
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to kernel
|
||||
#GRUB_DISABLE_LINUX_UUID=true
|
||||
|
||||
# Uncomment to disable generation of recovery mode menu entries
|
||||
#GRUB_DISABLE_RECOVERY=true
|
||||
|
||||
# Uncomment to disable generation of the submenu and put all choices on
|
||||
# the top-level menu.
|
||||
# Besides the visual affect of no sub menu, this makes navigation of the
|
||||
# menu easier for a user who can't see the screen.
|
||||
#GRUB_DISABLE_SUBMENU=y
|
||||
|
||||
# Uncomment to play a tone when the main menu is displayed.
|
||||
# This is useful, for example, to allow users who can't see the screen
|
||||
# to know when they can make a choice on the menu.
|
||||
#GRUB_INIT_TUNE="60 800 1"
|
@ -1,291 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )
|
||||
inherit python-any-r1
|
||||
fi
|
||||
|
||||
inherit autotools bash-completion-r1 flag-o-matic multibuild pax-utils toolchain-funcs versionator
|
||||
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
|
||||
# The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860
|
||||
MY_P=${P/_/'~'}
|
||||
SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
else
|
||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
|
||||
mirror://gentoo/${P}.tar.xz
|
||||
https://dev.gentoo.org/~floppym/dist/${P}.tar.xz"
|
||||
S=${WORKDIR}/${P%_*}
|
||||
fi
|
||||
KEYWORDS="amd64 x86"
|
||||
else
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://git.sv.gnu.org/grub.git
|
||||
http://git.savannah.gnu.org/r/grub.git"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/gfxpayload.patch
|
||||
"${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch
|
||||
"${FILESDIR}"/2.02_beta3-10_linux-UUID.patch
|
||||
"${FILESDIR}"/2.02_beta3-sysmacros.patch
|
||||
"${FILESDIR}"/2.02_beta3-gcc6-ld-no-pie.patch
|
||||
)
|
||||
|
||||
DEJAVU=dejavu-sans-ttf-2.35
|
||||
UNIFONT=unifont-8.0.01
|
||||
SRC_URI+=" fonts? ( mirror://gnu/unifont/${UNIFONT}/${UNIFONT}.pcf.gz )
|
||||
themes? ( mirror://sourceforge/dejavu/${DEJAVU}.zip )"
|
||||
|
||||
DESCRIPTION="GNU GRUB boot loader"
|
||||
HOMEPAGE="https://www.gnu.org/software/grub/"
|
||||
|
||||
# Includes licenses for dejavu and unifont
|
||||
LICENSE="GPL-3 fonts? ( GPL-2-with-font-exception ) themes? ( BitstreamVera )"
|
||||
SLOT="2/${PVR}"
|
||||
IUSE="debug device-mapper doc efiemu +fonts mount multislot nls static sdl test +themes truetype libzfs"
|
||||
|
||||
GRUB_ALL_PLATFORMS=( coreboot efi-32 efi-64 emu ieee1275 loongson multiboot qemu qemu-mips pc uboot xen xen-32 )
|
||||
IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
|
||||
|
||||
REQUIRED_USE="
|
||||
grub_platforms_coreboot? ( fonts )
|
||||
grub_platforms_qemu? ( fonts )
|
||||
grub_platforms_ieee1275? ( fonts )
|
||||
grub_platforms_loongson? ( fonts )
|
||||
"
|
||||
|
||||
# os-prober: Used on runtime to detect other OSes
|
||||
# xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
|
||||
RDEPEND="
|
||||
app-arch/xz-utils
|
||||
>=sys-libs/ncurses-5.2-r5:0=
|
||||
debug? (
|
||||
sdl? ( media-libs/libsdl )
|
||||
)
|
||||
device-mapper? ( >=sys-fs/lvm2-2.02.45 )
|
||||
libzfs? ( sys-fs/zfs )
|
||||
mount? ( sys-fs/fuse )
|
||||
truetype? ( media-libs/freetype:2= )
|
||||
ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
|
||||
ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
app-misc/pax-utils
|
||||
sys-devel/flex
|
||||
sys-devel/bison
|
||||
sys-apps/help2man
|
||||
sys-apps/texinfo
|
||||
fonts? ( media-libs/freetype:2 )
|
||||
grub_platforms_xen? ( app-emulation/xen-tools:= )
|
||||
grub_platforms_xen-32? ( app-emulation/xen-tools:= )
|
||||
static? (
|
||||
app-arch/xz-utils[static-libs(+)]
|
||||
truetype? (
|
||||
app-arch/bzip2[static-libs(+)]
|
||||
media-libs/freetype[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
)
|
||||
)
|
||||
test? (
|
||||
dev-libs/libisoburn
|
||||
app-emulation/qemu
|
||||
)
|
||||
themes? (
|
||||
app-arch/unzip
|
||||
media-libs/freetype:2
|
||||
)
|
||||
"
|
||||
RDEPEND+="
|
||||
kernel_linux? (
|
||||
grub_platforms_efi-32? ( sys-boot/efibootmgr )
|
||||
grub_platforms_efi-64? ( sys-boot/efibootmgr )
|
||||
)
|
||||
!multislot? ( !sys-boot/grub:0 !sys-boot/grub-static )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
DEPEND+=" !!=media-libs/freetype-2.5.4"
|
||||
|
||||
STRIP_MASK="*/grub/*/*.{mod,img}"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
QA_EXECSTACK="
|
||||
usr/bin/grub*-emu*
|
||||
usr/lib*/grub/*/*.mod
|
||||
usr/lib*/grub/*/*.module
|
||||
usr/lib*/grub/*/kernel.exec
|
||||
usr/lib*/grub/*/kernel.img
|
||||
"
|
||||
|
||||
QA_WX_LOAD="usr/lib/grub/*"
|
||||
|
||||
QA_PRESTRIPPED="
|
||||
usr/lib.*/grub/.*/kernel.img
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -i -e /autoreconf/d autogen.sh || die
|
||||
|
||||
if use multislot; then
|
||||
# fix texinfo file name, bug 416035
|
||||
sed -i -e 's/^\* GRUB:/* GRUB2:/' -e 's/(grub)/(grub2)/' docs/grub.texi || die
|
||||
fi
|
||||
|
||||
autopoint() { :; }
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
grub_do() {
|
||||
multibuild_foreach_variant run_in_build_dir "$@"
|
||||
}
|
||||
|
||||
grub_do_once() {
|
||||
multibuild_for_best_variant run_in_build_dir "$@"
|
||||
}
|
||||
|
||||
grub_configure() {
|
||||
local platform
|
||||
|
||||
case ${MULTIBUILD_VARIANT} in
|
||||
efi*) platform=efi ;;
|
||||
xen*) platform=xen ;;
|
||||
guessed) ;;
|
||||
*) platform=${MULTIBUILD_VARIANT} ;;
|
||||
esac
|
||||
|
||||
case ${MULTIBUILD_VARIANT} in
|
||||
*-32)
|
||||
if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
|
||||
local CTARGET=i386
|
||||
fi ;;
|
||||
*-64)
|
||||
if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
|
||||
local CTARGET=x86_64
|
||||
local -x TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
|
||||
local -x TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
|
||||
fi ;;
|
||||
esac
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-werror
|
||||
--program-prefix=
|
||||
--libdir="${EPREFIX}"/usr/lib
|
||||
--htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
|
||||
$(use_enable debug mm-debug)
|
||||
$(use_enable device-mapper)
|
||||
$(use_enable mount grub-mount)
|
||||
$(use_enable nls)
|
||||
$(use_enable themes grub-themes)
|
||||
$(use_enable truetype grub-mkfont)
|
||||
$(use_enable libzfs)
|
||||
$(use sdl && use_enable debug grub-emu-sdl)
|
||||
${platform:+--with-platform=}${platform}
|
||||
|
||||
# Let configure detect this where supported
|
||||
$(usex efiemu '' '--disable-efiemu')
|
||||
)
|
||||
|
||||
if use multislot; then
|
||||
myeconfargs+=( --program-transform-name="s,grub,grub2," )
|
||||
fi
|
||||
|
||||
# Set up font symlinks
|
||||
ln -s "${WORKDIR}/${UNIFONT}.pcf" unifont.pcf || die
|
||||
if use themes; then
|
||||
ln -s "${WORKDIR}/${DEJAVU}/ttf/DejaVuSans.ttf" DejaVuSans.ttf || die
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Bug 508758.
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# We don't want to leak flags onto boot code.
|
||||
export HOST_CCASFLAGS=${CCASFLAGS}
|
||||
export HOST_CFLAGS=${CFLAGS}
|
||||
export HOST_CPPFLAGS=${CPPFLAGS}
|
||||
export HOST_LDFLAGS=${LDFLAGS}
|
||||
unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
|
||||
|
||||
use static && HOST_LDFLAGS+=" -static"
|
||||
|
||||
tc-ld-disable-gold #439082 #466536 #526348
|
||||
export TARGET_LDFLAGS="${TARGET_LDFLAGS} ${LDFLAGS}"
|
||||
unset LDFLAGS
|
||||
|
||||
tc-export CC NM OBJCOPY RANLIB STRIP
|
||||
tc-export BUILD_CC # Bug 485592
|
||||
|
||||
# Portage will take care of cleaning up GRUB_PLATFORMS
|
||||
MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
|
||||
grub_do grub_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Sandbox bug 404013.
|
||||
use libzfs && addpredict /etc/dfs:/dev/zfs
|
||||
|
||||
grub_do emake
|
||||
use doc && grub_do_once emake -C docs html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# The qemu dependency is a bit complex.
|
||||
# You will need to adjust QEMU_SOFTMMU_TARGETS to match the cpu/platform.
|
||||
grub_do emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
grub_do emake install DESTDIR="${D}" bashcompletiondir="$(get_bashcompdir)"
|
||||
use doc && grub_do_once emake -C docs install-html DESTDIR="${D}"
|
||||
|
||||
einstalldocs
|
||||
|
||||
dodoc "${FILESDIR}/grub.cfg.example"
|
||||
|
||||
if use multislot; then
|
||||
mv "${ED%/}"/usr/share/info/grub{,2}.info || die
|
||||
fi
|
||||
|
||||
insinto /etc/default
|
||||
newins "${FILESDIR}"/grub.default-3 grub
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "For information on how to configure GRUB2 please refer to the guide:"
|
||||
elog " https://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
|
||||
elog
|
||||
elog "For manual configuration, see /usr/share/doc/${PF}/grub.cfg.example"
|
||||
|
||||
if has_version 'sys-boot/grub:0'; then
|
||||
elog
|
||||
elog "A migration guide for GRUB Legacy users is available:"
|
||||
elog " https://wiki.gentoo.org/wiki/GRUB2_Migration"
|
||||
fi
|
||||
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]; then
|
||||
elog
|
||||
elog "You may consider installing the following optional packages:"
|
||||
optfeature "Detect other operating systems (grub-mkconfig)" sys-boot/os-prober
|
||||
optfeature "Create rescue media (grub-mkrescue)" dev-libs/libisoburn
|
||||
optfeature "Enable RAID device detection" sys-fs/mdadm
|
||||
fi
|
||||
}
|
Loading…
Reference in new issue