summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/grub/09_parabola178
-rw-r--r--libre/grub/10_linux.in.patch31
-rw-r--r--libre/grub/PKGBUILD115
-rw-r--r--libre/grub/grub-add-GRUB_COLOR_variables.patch32
-rw-r--r--libre/grub/grub.default3
5 files changed, 294 insertions, 65 deletions
diff --git a/libre/grub/09_parabola b/libre/grub/09_parabola
new file mode 100644
index 000000000..49cbad4ba
--- /dev/null
+++ b/libre/grub/09_parabola
@@ -0,0 +1,178 @@
+#!/usr/bin/env bash
+
+##
+## grub-mkconfig helper script specific to Parabola GNU/Linux-libre
+## Contributed by "Keshav Padram Amburay" <the ddoott ridikulus ddoott rat aatt geemmayil ddoott ccoomm>
+## Rebranded for Parabola by "André Silva" <emulatorman@parabola.nu>
+##
+## Script based on do_grub_config() function in Arch Archboot ISO Installer/Setup script
+## Some parts taken from /etc/grub.d/10_linux script shipped by GRUB(2) upstream
+##
+## This script can be freely distributed and/or modified
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This script 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.
+##
+
+_FUNC_GRUB_FILE_PRESENT() {
+
+ [[ -z "${GRUB_PLATFORM}" ]] && GRUB_PLATFORM="x86"
+
+ if [[ "${GRUB_PLATFORM}" == "x86" ]]; then
+ check="--is-x86-linux32"
+ elif [[ "${GRUB_PLATFORM}" == "i386-xen-pae" ]]; then
+ check="--is-i386-xen-pae-domu"
+ elif [[ "${GRUB_PLATFORM}" == "x86_64-xen" ]]; then
+ check="--is-x86_64-xen-domu"
+ else
+ check="--is-${GRUB_PLATFORM}-linux"
+ fi
+
+ case "${GRUB_PLATFORM}" in
+ x86)
+ list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do
+ if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi
+ done)" ;;
+ *)
+ list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do
+ if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi
+ done)" ;;
+ esac
+}
+
+set -e
+
+prefix="/usr"
+exec_prefix="${prefix}"
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+sysconfdir="/etc"
+
+. "${datarootdir}/grub/grub-mkconfig_lib"
+
+. "${sysconfdir}/default/grub"
+
+export TEXTDOMAIN="grub"
+export TEXTDOMAINDIR="${datarootdir}/locale"
+
+CLASS="--class parabola --class gnu-linux --class gnu --class os"
+
+[[ "${grub_file}" != "" ]] && _FUNC_GRUB_FILE_PRESENT
+
+BOOT_PART_FS_UUID="$(${grub_probe} --target="fs_uuid" "/boot" 2>/dev/null)"
+BOOT_PART_HINTS_STRING="$(${grub_probe} --target="hints_string" "/boot" 2>/dev/null)"
+BOOT_PART_FS="$(${grub_probe} --target="fs" "/boot" 2>/dev/null)"
+
+ROOT_PART_FS_UUID="$(${grub_probe} --target="fs_uuid" "/" 2>/dev/null)"
+ROOT_PART_HINTS_STRING="$(${grub_probe} --target="hints_string" "/" 2>/dev/null)"
+ROOT_PART_FS="$(${grub_probe} --target="fs" "/" 2>/dev/null)"
+
+if [[ "${ROOT_PART_FS_UUID}" == "${BOOT_PART_FS_UUID}" ]]; then
+ SUBDIR="/boot"
+else
+ SUBDIR=""
+fi
+
+if [[ "${GRUB_LINUX_ROOT_DEVICE}" == "" ]]; then
+ if [[ "${GRUB_DEVICE_UUID}" == "" ]] || \
+ [[ "${GRUB_DISABLE_LINUX_UUID}" == "true" ]] || \
+ [[ ! -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ]] || \
+ uses_abstraction "${GRUB_DEVICE}" lvm ; then
+ GRUB_LINUX_ROOT_DEVICE="${GRUB_DEVICE}"
+ else
+ GRUB_LINUX_ROOT_DEVICE="UUID=${GRUB_DEVICE_UUID}"
+ fi
+fi
+
+[[ "${GRUB_LINUX_PARAMS}" == "" ]] && GRUB_LINUX_PARAMS="${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+
+for _KERNEL_ in ${list} ; do
+
+ echo "Found linux image: ${_KERNEL_}" >&2
+
+ _KERNEL_FILE_="$(echo ${_KERNEL_} | sed 's,/boot/,,g')"
+ _KERNEL_PKG_="pkg-$(echo ${_KERNEL_FILE_} | sed 's,vmlinuz-,,g')"
+
+ _INITRAMFS_="${_KERNEL_FILE_/vmlinuz-/initramfs-}.img"
+
+ if [[ -e "/boot/${_INITRAMFS_}" ]]; then
+
+ echo "Found initramfs image: /boot/${_INITRAMFS_}" >&2
+
+cat << EOF
+
+menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel" ${CLASS} {
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...'
+ linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel initramfs ...'
+ initrd ${SUBDIR}/${_INITRAMFS_}
+}
+
+EOF
+ fi
+
+ _INITRAMFS_FALLBACK_="${_KERNEL_FILE_/vmlinuz-/initramfs-}-fallback.img"
+
+ if [[ -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then
+
+ echo "Found fallback initramfs image: /boot/${_INITRAMFS_FALLBACK_}" >&2
+
+cat << EOF
+
+menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel (fallback initramfs)" ${CLASS} {
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...'
+ linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel fallback initramfs ...'
+ initrd ${SUBDIR}/${_INITRAMFS_FALLBACK_}
+}
+
+EOF
+ fi
+
+ if [[ ! -e "/boot/${_INITRAMFS_}" ]] && [[ ! -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then
+cat << EOF
+
+menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel (no initramfs)" ${CLASS} {
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...'
+ linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+}
+
+EOF
+ fi
+
+done
diff --git a/libre/grub/10_linux.in.patch b/libre/grub/10_linux.in.patch
new file mode 100644
index 000000000..c9285e699
--- /dev/null
+++ b/libre/grub/10_linux.in.patch
@@ -0,0 +1,31 @@
+diff -Nur grub.orig/util/grub.d/10_linux.in grub/util/grub.d/10_linux.in
+--- grub.orig/util/grub.d/10_linux.in 2014-01-11 06:07:40.750886565 -0200
++++ grub/util/grub.d/10_linux.in 2014-01-11 06:14:19.032955542 -0200
+@@ -30,8 +30,25 @@
+
+ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
+ OS=GNU/Linux
+-else
+- OS="${GRUB_DISTRIBUTOR} GNU/Linux"
++ if [ "${GRUB_DISTRIBUTOR}" = "Parabola" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "parabola" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Blag" ] ; then
++ OS="${GRUB_DISTRIBUTOR} Linux and GNU"
++ elif [ "${GRUB_DISTRIBUTOR}" = "blag" ] ; then
++ OS="${GRUB_DISTRIBUTOR} Linux and GNU"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Musix" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU+Linux"
++ elif [ "${GRUB_DISTRIBUTOR}" = "musix" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU+Linux"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Dragora" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "dragora" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ else
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux"
++ fi
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
+ fi
+
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index a4a17b4c8..c82b41a13 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -4,18 +4,18 @@
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
# Contributor (Parabola): Márcio Silva <coadde@parabola.nu>
-_pkgver="2.00"
-_GRUB_GIT_COMMIT="5ae5c54c7e5cb048cdd78a53181cee0da698a953"
+_pkgver="2.02"
+_GRUB_GIT_TAG="grub-2.02-beta2"
-## grub-extras gpxe is not needed
+_UNIFONT_VER="6.3.20131217"
[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"
pkgname="grub"
pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)"
-pkgver=2.00.1282.g5ae5c54
-pkgrel=1.3
+pkgver=2.02.beta2
+pkgrel=1
epoch="1"
url="https://www.gnu.org/software/grub/"
arch=('x86_64' 'i686')
@@ -28,9 +28,8 @@ conflicts=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}" 'grub-legacy')
replaces=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
provides=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
-makedepends=('git' 'bzr' 'rsync' 'xz' 'freetype2' 'ttf-dejavu'
- 'python2' 'autogen' 'texinfo' 'help2man'
- 'gettext' 'device-mapper' 'fuse')
+makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen'
+ 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse')
depends=('sh' 'xz' 'gettext' 'device-mapper')
optdepends=('freetype2: For grub-mkfont usage'
'fuse: For grub-mount usage'
@@ -40,59 +39,62 @@ optdepends=('freetype2: For grub-mkfont usage'
'os-prober: To detect other OSes when generating grub.cfg in BIOS systems'
'mtools: For grub-mkrescue FAT FS support')
-# source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
-source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#commit=${_GRUB_GIT_COMMIT}"
- 'http://unifoundry.com/unifont-5.1.20080820.bdf.gz'
- 'parabola_grub_mkconfig_fixes.patch'
+source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#tag=${_GRUB_GIT_TAG}"
+ "grub-extras::git+git://git.sv.gnu.org/grub-extras.git#branch=master"
+ "http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz"
+ "http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz.sig"
+ 'grub-add-GRUB_COLOR_variables.patch'
+ '09_parabola'
'60_memtest86+'
- 'grub.default')
-
+ 'grub.default'
+ '10_linux.in.patch')
md5sums=('SKIP'
- '6b8263ceccef33bd633aa019d74b7943'
- 'aec37e36ba7806217be33d12a7eed062'
- 'be55eabc102f2c60b38ed35c203686d6'
- 'a9ef0067f6824944fa1ae22a5162d7d4'
'SKIP'
+ '728b7439ac733a7c0d56049adec364c7'
'SKIP'
- 'SKIP')
-
-for _DIR_ in 915resolution lua ntldr-img ; do
- source+=("grub-extras-${_DIR_}::bzr+bzr://bzr.savannah.gnu.org/grub-extras/${_DIR_}/#revision=")
-done
+ 'e506ae4a9f9f7d1b765febfa84e10d48'
+ 'd272e5fa811859838cfb60cc656d66ed'
+ 'be55eabc102f2c60b38ed35c203686d6'
+ '52d374e0194e3f2e39ff7c92ecd58a6c'
+ 'b23a144b7001c88734b79ed3bec491c4')
pkgver() {
cd "${srcdir}/grub-${_pkgver}/"
- echo "$(git describe --tags)" | sed -e 's|-|\.|g'
+ echo "$(git describe --tags)" | sed -e 's|grub.||g' -e 's|-|\.|g'
}
prepare() {
cd "${srcdir}/grub-${_pkgver}/"
- msg "Patch to enable grub-mkconfig detect Parabola kernels and initramfs"
- patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
+ msg "Patch to enable GRUB_COLOR_* variables in grub-mkconfig"
+ ## Based on http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html
+ patch -Np1 -i "${srcdir}/grub-add-GRUB_COLOR_variables.patch"
+ echo
msg "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme"
sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub-${_pkgver}/configure.ac"
+ msg "Rebranding for some free distros"
+ patch -Np1 -i "${srcdir}/10_linux.in.patch"
+ echo
+
msg "Fix mkinitcpio 'rw' FS#36275"
sed 's| ro | rw |g' -i "${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in"
- msg "autogen.sh requires python (2/3). since bzr is in makedepends, use python2 and no need to pull python3"
- sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh"
+ # msg "autogen.sh requires python (2/3). since bzr is in makedepends, use python2 and no need to pull python3"
+ # sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh"
msg "Pull in latest language files"
./linguas.sh
echo
- msg "Remove non working langs which need LC_ALL=C.UTF-8"
+ msg "Remove not working langs which need LC_ALL=C.UTF-8"
sed -e 's#en@cyrillic en@greek##g' -i "${srcdir}/grub-${_pkgver}/po/LINGUAS"
msg "Avoid problem with unifont during compile of grub, http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847"
- cp "${srcdir}/unifont-5.1.20080820.bdf" "${srcdir}/grub-${_pkgver}/unifont.bdf"
+ cp "${srcdir}/unifont-${_UNIFONT_VER}.bdf" "${srcdir}/grub-${_pkgver}/unifont.bdf"
- msg "Fix freetype header path file"
- sed 's|freetype/ftsynth[.]h|freetype2/ftsynth.h|g' -i "${srcdir}/grub-${_pkgver}/util/grub-"{gen-{asciih,widthspec},mkfont}.c
}
_build_grub-common_and_bios() {
@@ -104,16 +106,14 @@ _build_grub-common_and_bios() {
_EFIEMU="--disable-efiemu"
fi
- msg "Copy the source for building the bios package"
+ msg "Copy the source for building the bios part"
cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-bios"
cd "${srcdir}/grub-${_pkgver}-bios/"
msg "Add the grub-extra sources for bios build"
install -d "${srcdir}/grub-${_pkgver}-bios/grub-extras"
- for _DIR_ in 915resolution ntldr-img ; do
- cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${_pkgver}-bios/grub-extras/${_DIR_}"
- done
- export GRUB_CONTRIB="${srcdir}/grub-bios/grub-extras/"
+ cp -r "${srcdir}/grub-extras/915resolution" "${srcdir}/grub-${_pkgver}-bios/grub-extras/915resolution"
+ export GRUB_CONTRIB="${srcdir}/grub-${_pkgver}-bios/grub-extras/"
msg "Unset all compiler FLAGS for bios build"
unset CFLAGS
@@ -161,31 +161,24 @@ _build_grub-common_and_bios() {
_build_grub-efi() {
- msg "Copy the source for building the efi package"
- cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-efi"
- cd "${srcdir}/grub-${_pkgver}-efi/"
-
- msg "Add the grub-extra sources for efi build"
- install -d "${srcdir}/grub-${_pkgver}-efi/grub-extras/"
- for _DIR_ in lua ; do
- cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${_pkgver}-efi/grub-extras/${_DIR_}"
- done
- # export GRUB_CONTRIB="${srcdir}/grub-efi/grub-extras/"
+ msg "Copy the source for building the ${_EFI_ARCH} efi part"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}"
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
- msg "Unset all compiler FLAGS for efi build"
+ msg "Unset all compiler FLAGS for ${_EFI_ARCH} efi build"
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
unset MAKEFLAGS
- cd "${srcdir}/grub-${_pkgver}-efi/"
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
- msg "Run autogen.sh for efi build"
+ msg "Run autogen.sh for ${_EFI_ARCH} efi build"
./autogen.sh
echo
- msg "Run ./configure for efi build"
+ msg "Run ./configure for ${_EFI_ARCH} efi build"
./configure \
--with-platform="efi" \
--target="${_EFI_ARCH}" \
@@ -211,7 +204,7 @@ _build_grub-efi() {
--disable-werror
echo
- msg "Run make for efi build"
+ msg "Run make for ${_EFI_ARCH} efi build"
make
echo
@@ -225,7 +218,7 @@ build() {
_build_grub-common_and_bios
echo
- msg "Build grub efi stuff"
+ msg "Build grub ${_EFI_ARCH} efi stuff"
_build_grub-efi
echo
@@ -244,38 +237,36 @@ _package_grub-common_and_bios() {
rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true
rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true
+ msg "Install 09_parabola helper script for grub-mkconfig"
+ install -D -m0755 "${srcdir}/09_parabola" "${pkgdir}/etc/grub.d/09_parabola"
+
msg "Install extra /etc/grub.d/ files"
install -D -m0755 "${srcdir}/60_memtest86+" "${pkgdir}/etc/grub.d/60_memtest86+"
msg "Install /etc/default/grub (used by grub-mkconfig)"
install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
- msg "Add msdos.mod symlink"
- ln -s "msdospart.mod" "${pkgdir}/usr/lib/grub/i386-pc/msdos.mod" || true
}
_package_grub-efi() {
- cd "${srcdir}/grub-${_pkgver}-efi/"
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
- msg "Run make install for efi build"
+ msg "Run make install for ${_EFI_ARCH} efi build"
make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
- msg "Remove gdb debugging related files for efi build"
+ msg "Remove gdb debugging related files for ${_EFI_ARCH} efi build"
rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.module || true
rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.image || true
rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
- msg "Add msdos.mod symlink"
- ln -s "msdospart.mod" "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi/msdos.mod" || true
-
}
package() {
- msg "Package grub efi stuff"
+ msg "Package grub ${_EFI_ARCH} efi stuff"
_package_grub-efi
msg "Package grub bios stuff"
diff --git a/libre/grub/grub-add-GRUB_COLOR_variables.patch b/libre/grub/grub-add-GRUB_COLOR_variables.patch
new file mode 100644
index 000000000..c113a81d5
--- /dev/null
+++ b/libre/grub/grub-add-GRUB_COLOR_variables.patch
@@ -0,0 +1,32 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 3390ba9..c416489 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -218,6 +218,8 @@ export GRUB_DEFAULT \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
+ GRUB_DISABLE_OS_PROBER \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index d2e7252..8259f45 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -125,6 +125,14 @@ cat <<EOF
+
+ EOF
+
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++ cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
diff --git a/libre/grub/grub.default b/libre/grub/grub.default
index 38bb4a57f..8455b67dd 100644
--- a/libre/grub/grub.default
+++ b/libre/grub/grub.default
@@ -45,6 +45,3 @@ GRUB_COLOR_HIGHLIGHT="white/magenta"
#GRUB_INIT_TUNE="480 440 1"
#GRUB_SAVEDEFAULT="true"
-
-# Disable advanced submenu, due 10_linux script file generates submenu without closing bracket with grub-mkconfig
-GRUB_DISABLE_SUBMENU="y"