diff --git a/ChangeLog b/ChangeLog index 6d9ffdcc1..58543267b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-04-24 Vladimir Serbinenko + + * grub-core/loader/i386/linux.c (grub_linux_boot): Default to + gfxpayload=keep if cbfb is active. + 2013-04-24 Vladimir Serbinenko * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly. diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c index db81ca1cc..106496b86 100644 --- a/grub-core/loader/i386/linux.c +++ b/grub-core/loader/i386/linux.c @@ -503,15 +503,20 @@ grub_linux_boot (void) #endif grub_free (tmp); } - else - { + else /* We can't go back to text mode from coreboot fb. */ +#ifdef GRUB_MACHINE_COREBOOT + if (grub_video_get_driver_id () == GRUB_VIDEO_DRIVER_COREBOOT) + err = GRUB_ERR_NONE; + else +#endif + { #if ACCEPTS_PURE_TEXT - err = grub_video_set_mode (DEFAULT_VIDEO_MODE, 0, 0); + err = grub_video_set_mode (DEFAULT_VIDEO_MODE, 0, 0); #else - err = grub_video_set_mode (DEFAULT_VIDEO_MODE, + err = grub_video_set_mode (DEFAULT_VIDEO_MODE, GRUB_VIDEO_MODE_TYPE_PURE_TEXT, 0); #endif - } + } if (err) {