]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-08-25 Felix Zielcke <fzielcke@z-51.de>
authorfzielcke <fzielcke@localhost>
Tue, 25 Aug 2009 19:42:56 +0000 (19:42 +0000)
committerfzielcke <fzielcke@localhost>
Tue, 25 Aug 2009 19:42:56 +0000 (19:42 +0000)
* util/grub.d/00_header.in: Move check for the video backend of
gfxterm from here ...
* util/grub-mkconfig.in: ... to here.  Enable gfxterm if there's
a suitable video backend.

ChangeLog
util/grub-mkconfig.in
util/grub.d/00_header.in

index d30cfd1378290829be9315da76a441c57375b3b0..2236b61aaea7dbe56852b29ce3c4e2267c2841bf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-08-25  Felix Zielcke  <fzielcke@z-51.de>
+
+       * util/grub.d/00_header.in: Move check for the video backend of
+       gfxterm from here ...
+       * util/grub-mkconfig.in: ... to here.  Enable gfxterm if there's
+       a suitable video backend.
+
 2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>
 
        Fix breakage in grub-setup.
index 8e3c3372bb236ff15292939099c8a781b7f71760..d9640e91095d1c1486f0302a0295c38589efd4ac 100644 (file)
@@ -141,7 +141,24 @@ if [ "x${GRUB_TERMINAL}" != "x" ] ; then
 fi
 
 case x${GRUB_TERMINAL_OUTPUT} in
-  x | xconsole | xserial | xofconsole | xgfxterm) ;;
+  x | xgfxterm)
+    # If this platform supports gfxterm, try to use it.
+    if test -e ${grub_prefix}/gfxterm.mod ; then
+      GRUB_VIDEO_BACKEND=
+      for i in vbe ; do
+        if test -e ${grub_prefix}/$i.mod ; then
+          GRUB_VIDEO_BACKEND=$i
+          break
+        fi
+      done
+      if [ -n "${GRUB_VIDEO_BACKEND}" ] ; then
+        GRUB_TERMINAL_OUTPUT=gfxterm
+      elif [ "${GRUB_TERMINAL_OUTPUT}" = "gfxterm" ] ; then
+        echo "No suitable backend could be found for gfxterm." >&2 ; exit 1
+      fi
+    fi
+  ;;
+  xconsole | xserial | xofconsole) ;;
   *) echo "Invalid output terminal \"${GRUB_TERMINAL_OUTPUT}\"" >&2 ; exit 1 ;;
 esac
 
@@ -190,7 +207,8 @@ export GRUB_DEVICE \
   GRUB_DEVICE_BOOT_UUID \
   GRUB_FS \
   GRUB_FONT_PATH \
-  GRUB_PRELOAD_MODULES
+  GRUB_PRELOAD_MODULES \
+  GRUB_VIDEO_BACKEND
 
 # These are optional, user-defined variables.
 export GRUB_DEFAULT \
index 98c7c004be550fc4ba7af7e860ab8c74881fd996..9f421dc1c8f2e8c65ec6aac0ba04416f9b54083e 100644 (file)
@@ -73,23 +73,11 @@ case x${GRUB_TERMINAL_OUTPUT} in
     # Make the font accessible
     prepare_grub_to_access_device `${grub_probe} --target=device ${GRUB_FONT_PATH}`
 
-    # Pick a video backend
-    video_backend=
-    for i in vbe ; do
-      if test -e ${grub_prefix}/$i.mod ; then
-        video_backend=$i
-        break
-      fi
-    done
-    if ! [ "${video_backend}" ] ; then
-      echo "No suitable backend could be found for gfxterm." >&2 ; exit 1
-    fi
-
     cat << EOF
 if loadfont `make_system_path_relative_to_its_root ${GRUB_FONT_PATH}` ; then
   set gfxmode=${GRUB_GFXMODE}
   insmod gfxterm
-  insmod ${video_backend}
+  insmod ${GRUB_VIDEO_BACKEND}
   if terminal_output gfxterm ; then true ; else
     # For backward compatibility with versions of terminal.mod that don't
     # understand terminal_output