diff options
7 files changed, 224 insertions, 267 deletions
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD index 4d686cd11..5f801f6f9 100644 --- a/libre/grub/PKGBUILD +++ b/libre/grub/PKGBUILD @@ -75,21 +75,24 @@ 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-10_linux-detect-parabola-initramfs.patch' + 'grub-10_linux-20_linux_xen-detect-parabola-initramfs.patch' 'grub-add-GRUB_COLOR_variables.patch' '60_memtest86+' 'grub.default' - 'grub-10_linux-rebrand-free-distros.patch') + 'grub-10_linux-20_linux_xen-detect-devicetree-dir.patch' + 'grub-10_linux-20_linux_xen-rebrand-free-distros.patch') md5sums=('SKIP' 'SKIP' '728b7439ac733a7c0d56049adec364c7' 'SKIP' - 'df4c560c566bf5b21d122990cbc85a38' + '55f2290e5768d0d59a3e5f7ad83324bc' 'e506ae4a9f9f7d1b765febfa84e10d48' 'be55eabc102f2c60b38ed35c203686d6' '8d1dd54ae4a1b550c097e056892ce953' - 'c8ac993bc9c0fe288c177a20630ccc46') + 'f29e2d541f651dbdf4992b42e6cf0d6e' + 'e0133ad89ab3014210d4599f396a556e') + validpgpkeys=('95D2E9AB8740D8046387FD151A09227B1F435A33') #Paul Hardy _pkgver() { @@ -101,7 +104,7 @@ prepare() { cd "${srcdir}/grub-${_pkgver}/" msg "Patch to detect of Parabola GNU/Linux-libre initramfs images by grub-mkconfig" - patch -Np1 -i "${srcdir}/grub-10_linux-detect-parabola-initramfs.patch" + patch -Np1 -i "${srcdir}/grub-10_linux-20_linux_xen-detect-parabola-initramfs.patch" echo msg "Patch to enable GRUB_COLOR_* variables in grub-mkconfig" @@ -112,10 +115,14 @@ prepare() { 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}/grub-10_linux-rebrand-free-distros.patch" - echo - + msg "Patch to detect devicetree files (dtb)" + patch -Np1 -i "${srcdir}/grub-10_linux-20_linux_xen-detect-devicetree-dir.patch" + echo + + msg "Rebranding for some free distros" + patch -Np1 -i "${srcdir}/grub-10_linux-20_linux_xen-rebrand-free-distros.patch" + echo + msg "Fix mkinitcpio 'rw' FS#36275" sed 's| ro | rw |g' -i "${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in" diff --git a/libre/grub/grub-10_linux-20_linux_xen-detect-devicetree-dir.patch b/libre/grub/grub-10_linux-20_linux_xen-detect-devicetree-dir.patch new file mode 100644 index 000000000..002bc4c02 --- /dev/null +++ b/libre/grub/grub-10_linux-20_linux_xen-detect-devicetree-dir.patch @@ -0,0 +1,56 @@ +diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in +--- a/util/grub.d/10_linux.in 2015-09-27 14:14:45.544730230 -0300 ++++ b/util/grub.d/10_linux.in 2015-09-27 15:15:26.759140186 -0300 +@@ -138,6 +138,13 @@ + echo '$(echo "$message" | grub_quote)' + initrd ${rel_dirname}/${initrd} + EOF ++ if test -d "${dirname}/dtb/${version}" ; then ++ # TRANSLATORS: Device tree path isn't identifier. Should be translated. ++ message="$(gettext_printf "Loading devices tree path ...")" ++ sed "s/^/$submenu_indentation/" << EOF ++ echo '$(echo "$message" | grub_quote)' ++ devicetree ${dirname}/dtb/${version} ++EOF + fi + sed "s/^/$submenu_indentation/" << EOF + } +@@ -222,6 +229,10 @@ + linux_root_device_thisversion=${GRUB_DEVICE} + fi + ++ if test -d "${dirname}/dtb/${version}" ; then ++ gettext_printf "Found device tree directory: %s\n" "${dirname}/dtb/${version}" >&2 ++ fi ++ + if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then + linux_entry "${OS}" "${version}" simple \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" +diff -Nur a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in +--- a/util/grub.d/20_linux_xen.in 2015-09-27 14:14:45.544730230 -0300 ++++ b/util/grub.d/20_linux_xen.in 2015-09-27 15:15:26.760140194 -0300 +@@ -131,6 +131,13 @@ + echo '$(echo "$message" | grub_quote)' + module --nounzip ${rel_dirname}/${initrd} + EOF ++ if test -d "${dirname}/dtb/${version}" ; then ++ # TRANSLATORS: Device tree path isn't identifier. Should be translated. ++ message="$(gettext_printf "Loading devices tree path ...")" ++ sed "s/^/$submenu_indentation/" << EOF ++ echo '$(echo "$message" | grub_quote)' ++ devicetree ${dirname}/dtb/${version} ++EOF + fi + sed "s/^/$submenu_indentation/" << EOF + } +@@ -235,6 +242,10 @@ + linux_root_device_thisversion=${GRUB_DEVICE} + fi + ++ if test -d "${dirname}/dtb/${version}" ; then ++ gettext_printf "Found device tree directory: %s\n" "${dirname}/dtb/${version}" >&2 ++ fi ++ + if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then + linux_entry "${OS}" "${version}" "${xen_version}" simple \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" diff --git a/libre/grub/grub-10_linux-20_linux_xen-detect-parabola-initramfs.patch b/libre/grub/grub-10_linux-20_linux_xen-detect-parabola-initramfs.patch new file mode 100644 index 000000000..49ee47159 --- /dev/null +++ b/libre/grub/grub-10_linux-20_linux_xen-detect-parabola-initramfs.patch @@ -0,0 +1,108 @@ +diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in +--- a/util/grub.d/10_linux.in 2015-09-27 14:14:45.544730230 -0300 ++++ b/util/grub.d/10_linux.in 2015-09-27 14:44:29.727866307 -0300 +@@ -80,9 +80,11 @@ + if [ x$type != xsimple ] ; then + case $type in + recovery) +- title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;; ++ title="$(gettext_printf "%s, %s kernel (recovery mode)" "${os}" "${version}")" ;; ++ fallback) ++ title="$(gettext_printf "%s, %s kernel (fallback initramfs)" "${os}" "${version}")" ;; + *) +- title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;; ++ title="$(gettext_printf "%s, %s kernel" "${os}" "${version}")" ;; + esac + if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then + replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')" +@@ -126,7 +128,7 @@ + fi + printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" + fi +- message="$(gettext_printf "Loading Linux %s ..." ${version})" ++ message="$(gettext_printf "Loading %s kernel ..." ${version})" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' + linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} +@@ -182,7 +184,7 @@ + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` +- version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` ++ version=`echo $basename | sed -e "s,vmlinuz-,,g"` + alt_version=`echo $version | sed -e "s,\.old$,,g"` + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + +@@ -238,6 +240,18 @@ + + linux_entry "${OS}" "${version}" advanced \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" ++ ++ if test -e "${dirname}/initramfs-${version}-fallback.img" ; then ++ initrd="initramfs-${version}-fallback.img" ++ ++ if test -n "${initrd}" ; then ++ gettext_printf "Found fallback initramfs image: %s\n" "${dirname}/${initrd}" >&2 ++ fi ++ ++ linux_entry "${OS}" "${version}" fallback \ ++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" ++ fi ++ + if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then + linux_entry "${OS}" "${version}" recovery \ + "single ${GRUB_CMDLINE_LINUX}" +diff -Nur a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in +--- a/util/grub.d/20_linux_xen.in 2015-09-27 14:14:45.544730230 -0300 ++++ b/util/grub.d/20_linux_xen.in 2015-09-27 14:55:33.602636996 -0300 +@@ -88,9 +88,11 @@ + fi + if [ x$type != xsimple ] ; then + if [ x$type = xrecovery ] ; then +- title="$(gettext_printf "%s, with Xen %s and Linux %s (recovery mode)" "${os}" "${xen_version}" "${version}")" ++ title="$(gettext_printf "%s, with Xen %s and %s kernel (recovery mode)" "${os}" "${xen_version}" "${version}")" ++ if [ x$type = xfallback ] ; then ++ title="$(gettext_printf "%s, with Xen %s and %s kernel (fallback initramfs)" "${os}" "${xen_version}" "${version}")" + else +- title="$(gettext_printf "%s, with Xen %s and Linux %s" "${os}" "${xen_version}" "${version}")" ++ title="$(gettext_printf "%s, with Xen %s and %s kernel" "${os}" "${xen_version}" "${version}")" + fi + replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')" + if [ x"Xen ${xen_version}>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then +@@ -112,7 +114,7 @@ + fi + printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" + xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})" +- lmessage="$(gettext_printf "Loading Linux %s ..." ${version})" ++ lmessage="$(gettext_printf "Loading %s kernel ..." ${version})" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$xmessage" | grub_quote)' + if [ "\$grub_platform" = "pc" -o "\$grub_platform" = "" ]; then +@@ -210,7 +212,7 @@ + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` +- version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` ++ version=`echo $basename | sed -e "s,vmlinuz-,,g"` + alt_version=`echo $version | sed -e "s,\.old$,,g"` + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + +@@ -252,6 +254,18 @@ + + linux_entry "${OS}" "${version}" "${xen_version}" advanced \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" ++ ++ if test -e "${dirname}/initramfs-${version}-fallback.img" ; then ++ initrd="initramfs-${version}-fallback.img" ++ ++ if test -n "${initrd}" ; then ++ gettext_printf "Found fallback initramfs image: %s\n" "${dirname}/${initrd}" >&2 ++ fi ++ ++ linux_entry "${OS}" "${version}" "${xen_version}" fallback \ ++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" ++ fi ++ + if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then + linux_entry "${OS}" "${version}" "${xen_version}" recovery \ + "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}" diff --git a/libre/grub/grub-10_linux-20_linux_xen-rebrand-free-distros.patch b/libre/grub/grub-10_linux-20_linux_xen-rebrand-free-distros.patch new file mode 100644 index 000000000..47added0d --- /dev/null +++ b/libre/grub/grub-10_linux-20_linux_xen-rebrand-free-distros.patch @@ -0,0 +1,44 @@ +diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in +--- a/util/grub.d/10_linux.in 2015-09-27 14:14:45.544730230 -0300 ++++ b/util/grub.d/10_linux.in 2015-09-27 14:58:23.533917184 -0300 +@@ -31,7 +31,17 @@ + if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then + OS=GNU/Linux + else +- OS="${GRUB_DISTRIBUTOR} GNU/Linux" ++ if echo ${GRUB_DISTRIBUTOR} | grep -qi Parabola ; then ++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre" ++ elif echo ${GRUB_DISTRIBUTOR} | grep -qi Blag ; then ++ OS="${GRUB_DISTRIBUTOR} Linux and GNU" ++ elif echo ${GRUB_DISTRIBUTOR} | grep -qi Musix ; then ++ OS="${GRUB_DISTRIBUTOR} GNU+Linux" ++ elif echo ${GRUB_DISTRIBUTOR} | grep -qi 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 -Nur a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in +--- a/util/grub.d/20_linux_xen.in 2015-09-27 14:14:45.544730230 -0300 ++++ b/util/grub.d/20_linux_xen.in 2015-09-27 14:59:16.319319658 -0300 +@@ -31,7 +31,17 @@ + if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then + OS=GNU/Linux + else +- OS="${GRUB_DISTRIBUTOR} GNU/Linux" ++ if echo ${GRUB_DISTRIBUTOR} | grep -qi Parabola ; then ++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre" ++ elif echo ${GRUB_DISTRIBUTOR} | grep -qi Blag ; then ++ OS="${GRUB_DISTRIBUTOR} Linux and GNU" ++ elif echo ${GRUB_DISTRIBUTOR} | grep -qi Musix ; then ++ OS="${GRUB_DISTRIBUTOR} GNU+Linux" ++ elif echo ${GRUB_DISTRIBUTOR} | grep -qi 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/grub-10_linux-detect-parabola-initramfs.patch b/libre/grub/grub-10_linux-detect-parabola-initramfs.patch deleted file mode 100644 index b486374e4..000000000 --- a/libre/grub/grub-10_linux-detect-parabola-initramfs.patch +++ /dev/null @@ -1,65 +0,0 @@ -From b470ffd22e43acc7c11231180187a720efd88de1 Mon Sep 17 00:00:00 2001 -From: Keshav Amburay <the.ridikulus.rat@gmail.com> -Date: Sat, 5 Apr 2014 20:40:51 -0400 -Subject: [PATCH] 10_linux: Detect Parabola GNU/Linux-libre main and fallback initramfs - images - ---- - util/grub.d/10_linux.in | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index 00d1931..7d4086b 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -81,6 +81,8 @@ linux_entry () - case $type in - recovery) -- title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;; -+ title="$(gettext_printf "%s, %s kernel (recovery mode)" "${os}" "${version}")" ;; -+ fallback) -+ title="$(gettext_printf "%s, %s kernel (fallback initramfs)" "${os}" "${version}")" ;; - *) -- title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;; -+ title="$(gettext_printf "%s, %s kernel" "${os}" "${version}")" ;; - esac -@@ -126,7 +128,7 @@ while [ "x$list" != "x" ] ; do - fi - printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" - fi -- message="$(gettext_printf "Loading Linux %s ..." ${version})" -+ message="$(gettext_printf "Loading %s kernel ..." ${version})" - sed "s/^/$submenu_indentation/" << EOF - echo '$(echo "$message" | grub_quote)' - linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} -@@ -180,7 +182,7 @@ while [ "x$list" != "x" ] ; do - basename=`basename $linux` - dirname=`dirname $linux` - rel_dirname=`make_system_path_relative_to_its_root $dirname` -- version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` -+ version=`echo $basename | sed -e "s,vmlinuz-,,g"` - alt_version=`echo $version | sed -e "s,\.old$,,g"` - linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" - -@@ -236,6 +238,18 @@ while [ "x$list" != "x" ] ; do - - linux_entry "${OS}" "${version}" advanced \ - "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ -+ if test -e "${dirname}/initramfs-${version}-fallback.img" ; then -+ initrd="initramfs-${version}-fallback.img" -+ -+ if test -n "${initrd}" ; then -+ gettext_printf "Found fallback initramfs image: %s\n" "${dirname}/${initrd}" >&2 -+ fi -+ -+ linux_entry "${OS}" "${version}" fallback \ -+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ fi -+ - if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then - linux_entry "${OS}" "${version}" recovery \ - "single ${GRUB_CMDLINE_LINUX}" --- -1.9.1 - diff --git a/libre/grub/grub-10_linux-rebrand-free-distros.patch b/libre/grub/grub-10_linux-rebrand-free-distros.patch deleted file mode 100644 index 7edb22a1f..000000000 --- a/libre/grub/grub-10_linux-rebrand-free-distros.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index 00d1931..23de7ce 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -31,7 +31,17 @@ CLASS="--class gnu-linux --class gnu --class os" - if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then - OS=GNU/Linux - else -- OS="${GRUB_DISTRIBUTOR} GNU/Linux" -+ if echo ${GRUB_DISTRIBUTOR} | grep -qi Parabola ; then -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre" -+ elif echo ${GRUB_DISTRIBUTOR} | grep -qi Blag ; then -+ OS="${GRUB_DISTRIBUTOR} Linux and GNU" -+ elif echo ${GRUB_DISTRIBUTOR} | grep -qi Musix ; then -+ OS="${GRUB_DISTRIBUTOR} GNU+Linux" -+ elif echo ${GRUB_DISTRIBUTOR} | grep -qi 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/parabola_grub_mkconfig_fixes.patch b/libre/grub/parabola_grub_mkconfig_fixes.patch deleted file mode 100644 index 6e3a524f0..000000000 --- a/libre/grub/parabola_grub_mkconfig_fixes.patch +++ /dev/null @@ -1,170 +0,0 @@ -diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in -index 016ee82..2cdbdd8 100644 ---- a/util/grub-mkconfig.in -+++ b/util/grub-mkconfig.in -@@ -214,6 +214,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/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index e27d6f7..a946e71 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -31,7 +31,25 @@ CLASS="--class gnu-linux --class gnu --class os" - 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 - -@@ -87,6 +105,8 @@ linux_entry () - case $type in - recovery) - title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;; -+ fallback) -+ title="$(gettext_printf "%s, with Linux %s (Fallback initramfs)" "${os}" "${version}")" ;; - *) - title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;; - esac -@@ -100,7 +120,7 @@ linux_entry () - else - echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/" - fi -- if [ x$type != xrecovery ] ; then -+ if [ x$type != xrecovery ] && [ x$type != xfallback ] ; then - save_default_entry | grub_add_tab - fi - -@@ -132,7 +152,8 @@ linux_entry () - fi - printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" - fi -- message="$(gettext_printf "Loading Linux %s ..." ${version})" -+ -+ message="$(gettext_printf "Loading Linux %s ..." "${version}")" - sed "s/^/$submenu_indentation/" << EOF - echo '$(echo "$message" | grub_quote)' - linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} -@@ -190,7 +211,22 @@ while [ "x$list" != "x" ] ; do - alt_version=`echo $version | sed -e "s,\.old$,,g"` - linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" - -+ if test -e "/etc/parabola-release" ; then -+ if echo "${basename}" | grep -q 'vmlinuz-linux-libre' ; then -+ version="`echo "${basename}" | sed -e 's,vmlinuz-linux-libre,,g'`" -+ -+ if [ "x${version}" = "x" ] ; then -+ version="libre kernel" -+ else -+ version="`echo "${version}" | sed -e 's,-,,g'`" -+ version="libre ${version} kernel" -+ fi -+ fi -+ fi -+ - initrd= -+ initrd_arch="`echo "${basename}" | sed -e 's,vmlinuz,initramfs,g'`" -+ - for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \ - "initrd-${version}" "initramfs-${version}.img" \ - "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ -@@ -198,7 +234,8 @@ while [ "x$list" != "x" ] ; do - "initramfs-genkernel-${version}" \ - "initramfs-genkernel-${alt_version}" \ - "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \ -- "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do -+ "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \ -+ "${initrd_arch}.img" ; do - if test -e "${dirname}/${i}" ; then - initrd="$i" - break -@@ -226,6 +263,22 @@ while [ "x$list" != "x" ] ; do - linux_root_device_thisversion=${GRUB_DEVICE} - fi - -+ if test -e "/etc/parabola-release" ; then -+ is_first_entry="false" -+ -+ linux_entry "${OS}" "${version}" true \ -+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ -+ for i in "${initrd_arch}-fallback.img" "initramfs-${version}-fallback.img" ; do -+ if test -e "${dirname}/${i}" ; then -+ initrd="${i}" -+ linux_entry "${OS}" "${version}" fallback \ -+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ break -+ fi -+ done -+ fi -+ - if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then - linux_entry "${OS}" "${version}" simple \ - "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -@@ -240,8 +293,11 @@ while [ "x$list" != "x" ] ; do - is_top_level=false - fi - -+ if ! test -e "/etc/parabola-release" ; then - linux_entry "${OS}" "${version}" advanced \ - "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -+ fi -+ - if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then - linux_entry "${OS}" "${version}" recovery \ - "single ${GRUB_CMDLINE_LINUX}" -@@ -252,8 +308,10 @@ done - - # If at least one kernel was found, then we need to - # add a closing '}' for the submenu command. -+if ! test -e "/etc/parabola-release" ; then - if [ x"$is_top_level" != xtrue ]; then - echo '}' - fi -+fi - - echo "$title_correction_code" |