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.
This commit is contained in:
fzielcke 2009-08-25 19:42:56 +00:00
parent aea664ea28
commit 3b76e68ba7
3 changed files with 28 additions and 15 deletions

View File

@ -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.

View 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 \

View 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