From b7c0628ad5123a5fcf5d8911df39871f7c32b865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 6 Dec 2017 12:23:00 +0300 Subject: [PATCH] grub2 update --- system/boot/grub2/actions.py | 9 +-- system/boot/grub2/files/gfxpayload.patch | 29 ++++++++ .../files/grub-2.02_beta2-KERNEL_GLOBS.patch | 67 +++++++++++++++++++ system/boot/grub2/pspec.xml | 19 +++++- 4 files changed, 117 insertions(+), 7 deletions(-) create mode 100644 system/boot/grub2/files/gfxpayload.patch create mode 100644 system/boot/grub2/files/grub-2.02_beta2-KERNEL_GLOBS.patch diff --git a/system/boot/grub2/actions.py b/system/boot/grub2/actions.py index bb6c9261..fcbbd287 100644 --- a/system/boot/grub2/actions.py +++ b/system/boot/grub2/actions.py @@ -9,19 +9,19 @@ from pisi.actionsapi import autotools from pisi.actionsapi import pisitools from pisi.actionsapi import shelltools -WorkDir="grub-%s" % (get.srcVERSION().replace("_", "~")) +#WorkDir="grub-%s" % (get.srcVERSION().replace("_", "~")) def setup(): shelltools.copy("../unifont*.bdf", "./unifont.bdf") - shelltools.export("GRUB_CONTRIB", "%s/grub-%s/grub-extras" % (get.workDIR(), get.srcVERSION())) + shelltools.export("GRUB_CONTRIB", "%s/grub-2.02/grub-extras" % (get.workDIR())) pisitools.cflags.remove("-fstack-protector", "-fasynchronous-unwind-tables", "-fexceptions", "-fPIC") pisitools.cflags.sub("\s?(-O[\ds]|-D_FORTIFY_SOURCE=\d)\s?", " ") #shelltools.system("./linguas.sh") - shelltools.system("./autogen.sh") + #shelltools.system("./autogen.sh") autotools.configure("--disable-werror \ --with-grubdir=grub2 \ --program-transform-name='s,grub,grub2,'\ @@ -33,7 +33,7 @@ def setup(): shelltools.copytree("../grub-%s" % (get.srcVERSION().replace("_", "~")), "../grub-%s-efi" % get.srcVERSION()) shelltools.cd("../grub-%s-efi" % get.srcVERSION()) - shelltools.system("./autogen.sh") + #shelltools.system("./autogen.sh") autotools.configure("--disable-werror \ --with-grubdir=grub2 \ --program-transform-name='s,grub,grub2,'\ @@ -50,6 +50,7 @@ def build(): #make-dist for creating all updated translation files #autotools.make("dist") autotools.make() + shelltools.cd("../grub-%s-efi" % get.srcVERSION()) autotools.make() shelltools.cd("..") diff --git a/system/boot/grub2/files/gfxpayload.patch b/system/boot/grub2/files/gfxpayload.patch new file mode 100644 index 00000000..6c63ef88 --- /dev/null +++ b/system/boot/grub2/files/gfxpayload.patch @@ -0,0 +1,29 @@ +From e2d5bf1bc6aaaabeba538c1ca94ea8601e4e1474 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +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 + diff --git a/system/boot/grub2/files/grub-2.02_beta2-KERNEL_GLOBS.patch b/system/boot/grub2/files/grub-2.02_beta2-KERNEL_GLOBS.patch new file mode 100644 index 00000000..c66ee68d --- /dev/null +++ b/system/boot/grub2/files/grub-2.02_beta2-KERNEL_GLOBS.patch @@ -0,0 +1,67 @@ +From 43e3295aaad5278a1e53c5282e2660b72cd76d28 Mon Sep 17 00:00:00 2001 +From: "Robin H. Johnson" +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 +--- + 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 + diff --git a/system/boot/grub2/pspec.xml b/system/boot/grub2/pspec.xml index e73efa13..dfb02b75 100644 --- a/system/boot/grub2/pspec.xml +++ b/system/boot/grub2/pspec.xml @@ -12,10 +12,10 @@ app:gui GNU GRUB is a Multiboot boot loader. GNU GRUB (short for GNU GRand Unified Bootloader) is a boot loader package from the GNU Project. - ftp://alpha.gnu.org/gnu/grub/grub-2.02~rc2.tar.xz - http://source.pisilinux.org/1.0/grub2_extras_915resolution_r10.tar.xz + http://ftp.gnu.org/gnu/grub/grub-2.02.tar.xz + http://source.pisilinux.org/1.0/grub2_extras_915resolution_r10.tar.xz http://ftp.gnu.org/gnu/unifont/unifont-6.3.20131217/unifont-6.3.20131217.bdf.gz - https://sourceforge.net/projects/pisilinux/files/source/grub2-theme-pisilinux-0.4.tar.xz + https://sourceforge.net/projects/pisilinux/files/source/grub2-theme-pisilinux-0.4.tar.xz autogen binutils @@ -33,11 +33,17 @@ device-mapper-devel gettext-devel noto-fonts + efivar-devel + efibootmgr-devel + mtools + dosfstools grub + gfxpayload.patch + grub-2.02_beta2-KERNEL_GLOBS.patch mkconfig-fix.patch pisi_name_and_initramfs.patch @@ -79,6 +85,13 @@ + + 2017-12-06 + 2.02 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2017-06-19 2.02_rc2