aboutsummaryrefslogtreecommitdiff
path: root/gnu/system/grub.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-01-03 18:14:50 +0100
committerLudovic Courtès <ludo@gnu.org>2017-01-03 18:16:01 +0100
commit4d0a3d8e9fca6dd45cfc9a5b49bce9b9f151b5e7 (patch)
tree42c86f226b5939859f7cf24991fe68ad045f1508 /gnu/system/grub.scm
parent70c63411109de5a6098f9d8396eed6cd569dc5e8 (diff)
downloadguix-4d0a3d8e9fca6dd45cfc9a5b49bce9b9f151b5e7.tar
guix-4d0a3d8e9fca6dd45cfc9a5b49bce9b9f151b5e7.tar.gz
system: grub: Load relevant EFI modules on EFI systems.
* gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Add 'insmod' invocations when ${grub_platform} is "efi".
Diffstat (limited to 'gnu/system/grub.scm')
-rw-r--r--gnu/system/grub.scm17
1 files changed, 13 insertions, 4 deletions
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index 4657b06b5f..067b291a5c 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -177,9 +177,9 @@ STORE-MOUNT-POINT is its mount point; these are used to determine where the
background image and fonts must be searched for. SYSTEM must be the target
system string---e.g., \"x86_64-linux\"."
(define setup-gfxterm-body
- ;; Intel systems need to be switched into graphics mode, whereas most
- ;; other modern architectures have no other mode and therefore don't need
- ;; to be switched.
+ ;; Intel and EFI systems need to be switched into graphics mode, whereas
+ ;; most other modern architectures have no other mode and therefore don't
+ ;; need to be switched.
(if (string-match "^(x86_64|i[3-6]86)-" system)
"
# Leave 'gfxmode' to 'auto'.
@@ -188,6 +188,15 @@ system string---e.g., \"x86_64-linux\"."
insmod video_bochs
insmod video_cirrus
insmod gfxterm
+
+ if [ \"${grub_platform}\" == efi ]; then
+ # This is for (U)EFI systems (these modules are unavailable in the
+ # non-EFI GRUB.) If we don't load them, GRUB boots in \"blind mode\",
+ # which isn't convenient.
+ insmod efi_gop
+ insmod efi_uga
+ fi
+
terminal_output gfxterm
"
""))