* util/grub-mkconfig.in: Stop setting GRUB_VIDEO_BACKEND. Make it

available as a user override instead.  Replace the gfxterm backend
check with a check that ${GRUB_PREFIX}/video.lst is non-empty.
* util/grub.d/00_header.in (load_video): New generated function.
Call it before loading gfxterm rather than loading
${GRUB_VIDEO_BACKEND}.
* util/grub.d/10_linux.in (linux_entry): Call load_video.
* util/grub.d/30_os-prober.in (osx_entry): Likewise.
* docs/grub.texi (Simple configuration): Document
GRUB_VIDEO_BACKEND.
This commit is contained in:
Colin Watson 2010-06-17 16:01:17 +01:00
parent d49703d151
commit e4311a9f0f
5 changed files with 35 additions and 17 deletions

View file

@ -66,6 +66,9 @@ linux_entry ()
# Use ELILO's generic "efifb" when it's known to be available.
# FIXME: We need an interface to select vesafb in case efifb can't be used.
if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
cat << EOF
load_video
EOF
if grep -qx "CONFIG_FB_EFI=y" /boot/config-${version} 2> /dev/null \
&& grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" /boot/config-${version} 2> /dev/null; then
cat << EOF
@ -78,16 +81,6 @@ EOF
EOF
fi
# Load video drivers, which may be needed to allow the loader to program
# modes for the kernel.
# TODO: Other kernels may need the same mode programming, especially on
# EFI. Should we move this somewhere more generic?
for module in $(cat ${GRUB_PREFIX}/video.lst); do
cat << EOF
insmod $module
EOF
done
if [ -z "${prepare_boot_cache}" ]; then
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
fi