From 29b5a5692421b57b8bebd8096604a507487a9111 Mon Sep 17 00:00:00 2001 From: alihanozturk Date: Sun, 21 Aug 2016 12:51:02 +0300 Subject: [PATCH] grub2 add new theme and script --- system/boot/grub2/files/30_uefi-firmware | 79 ++++++++++++++++++++++++ system/boot/grub2/pspec.xml | 16 +++-- 2 files changed, 91 insertions(+), 4 deletions(-) create mode 100755 system/boot/grub2/files/30_uefi-firmware diff --git a/system/boot/grub2/files/30_uefi-firmware b/system/boot/grub2/files/30_uefi-firmware new file mode 100755 index 00000000..4593173c --- /dev/null +++ b/system/boot/grub2/files/30_uefi-firmware @@ -0,0 +1,79 @@ +#! /bin/sh +set -e + +# grub-mkconfig helper script. +# Copyright (C) 2012 Free Software Foundation, Inc. +# +# GRUB 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 +# (at your option) any later version. +# +# GRUB 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 GRUB. If not, see . + +prefix="/usr" +exec_prefix="/usr" +datarootdir="/usr/share" + +export TEXTDOMAIN=grub +export TEXTDOMAINDIR="${datarootdir}/locale" + +. "${datarootdir}/grub/grub-mkconfig_lib" + +efi_vars_dir=/sys/firmware/efi/vars +EFI_GLOBAL_VARIABLE=8be4df61-93ca-11d2-aa0d-00e098032b8c +OsIndications="$efi_vars_dir/OsIndicationsSupported-$EFI_GLOBAL_VARIABLE/data" + +if [ -e "$OsIndications" ] && \ + [ "$(( $(printf 0x%x \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then + LABEL="System setup" + + gettext_printf "Adding boot menu entry for EFI firmware configuration\n" >&2 + + onstr="$(gettext_printf "(on %s)" "${DEVICE}")" + + cat << EOF +menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' { + fwsetup +} +EOF +fi + +#See for EFI present +if [ -d /sys/firmware/efi ]; then + +. "/usr/share/grub/grub-mkconfig_lib" + +#See for Windows EFI string in EFI BIOS +WINDOWS_EFI=$(/usr/sbin/efibootmgr -v | grep -E -m 1 '(WINDOWS|Windows Boot Manager)' | sed 's/.*\(HD([^()]*)File([^()]*)\).*/\1/i') +if [ -z "$WINDOWS_EFI" ]; then + exit 0 +fi +WIN_EFI_PATH_LINUX=/EFI/Microsoft/Boot/bootmgfw.efi + +#Determine EFI UUID +WIN_EFI_UUID=$(grub2-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi) + +ESP_SEARCH_HINTS=$(grub2-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi) + +cat << EOF +menuentry "Windows Boot Manager" { +EOF +save_default_entry | sed -e "s/^/ /" +cat << EOF + insmod part_gpt + insmod fat + insmod search_fs_uuid + insmod chain + search --fs-uuid --set=root ${ESP_SEARCH_HINTS} ${WIN_EFI_UUID} + chainloader $WIN_EFI_PATH_LINUX +} +EOF + +fi diff --git a/system/boot/grub2/pspec.xml b/system/boot/grub2/pspec.xml index 1e9f873b..fb312ae9 100644 --- a/system/boot/grub2/pspec.xml +++ b/system/boot/grub2/pspec.xml @@ -15,7 +15,7 @@ ftp://alpha.gnu.org/gnu/grub/grub-2.02~beta2.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.3.tar.xz + https://sourceforge.net/projects/pisilinux/files/source/grub2-theme-pisilinux-0.4.tar.xz autogen binutils @@ -73,19 +73,27 @@ pisi-grub-bg.png grub-defaults + 30_uefi-firmware update-grub - + + 2016-08-21 + 2.02_beta2 + New theme + PisiLinux Community + admin@pisilinux.org + + 2016-07-30 2.02_beta2 Add windows 42_custom remove PisiLinux Community admin@pisilinux.org - + 2016-07-12 2.02_beta2 Add windows 42_custom @@ -105,7 +113,7 @@ Release Bump PisiLinux Community admin@pisilinux.org - + 2016-04-20 2.02_beta2