[Bug 1826453] Re: Grub2 Booting in blind mode due to "invalid video mode specification `text'"
Mathieu Trudel-Lapierre
mathieu.tl at gmail.com
Mon Apr 29 18:14:56 UTC 2019
Dexuan,
To be clear, while there is no further point-release to be published for
16.04, we can still fix the bug. The patch will be available to users
updating their systems normally while 16.04 is supported, so daily
images may receive the fix (if this is applicable to clouds) and after
an update of grub, one should no longer see the error.
** Description changed:
+ [Impact]
+ UEFI users booting VMs on Hyper-V
+
+ [Test case]
+ 1) Install Ubuntu 16.04 in a Gen2 VM on Hyper-V (Windows)
+ 2) After install; edit /etc/default/grub to add:
+ GRUB_GFXPAYLOAD_LINUX="text"
+ 3) Run 'sudo update-grub'
+ 4) Reboot
+
+ Verify whether the system writes an error/warning on console during boot
+ (this shows up and disappears quickly, one must watch the console
+ attentively):
+
+ error: invalid video mode specification `text'.
+ Booting in blind mode
+
+
+ [Regression potential]
+ There is minimal risk of regression; this is a patch that has been succesfully used in other releases to address the same issue (see bug 1711452). It only affects graphical payload selection in grub to avoid a value that is clearly invalid, thus skipping the error value and falling back to the default text-mode. Care should be taking while testing to identify any possible issues with displaying the grub menu or outputting information from the kernel at console as the system boots (if applicable).
+
+ ---
+
In a Ubuntu 16.04.6 VM, which runs as a Gen2 VM on Hyper-V, I add
GRUB_GFXPAYLOAD_LINUX="text" into /etc/default/grub and run update-grub;
next, grub2 prints the below error:
- error: invalid video mode specification `text'.
- Booting in blind mode
+ error: invalid video mode specification `text'.
+ Booting in blind mode
This means grub2 passes a zero value for the "lfb_base" to Linux kernel,
which then fails to reserve the framebuffer MMIO range in
drivers/hv/vmbus_drv.c: vmbus_reserve_fb(); as a result, when we pass
through a PCIe device to the VM, the PCIe device may get a PCI MMIO BAR
in the FB MMIO range, causing a conflict, and the PCIe device can not
work in the VM.
- The issue can not reproduce with Ubuntu 18.04. It turns out the grub2 in Ubuntu 18.04 has the below fix:
- video: skip 'text' gfxpayload if not supported, to fallback to default (https://git.launchpad.net/~ubuntu-core-dev/grub/+git/ubuntu/commit/?id=38d9e2f862a96a039ae8ca8b87b8615d154ceda4).
+ The issue can not reproduce with Ubuntu 18.04. It turns out the grub2 in Ubuntu 18.04 has the below fix:
+ video: skip 'text' gfxpayload if not supported, to fallback to default (https://git.launchpad.net/~ubuntu-core-dev/grub/+git/ubuntu/commit/?id=38d9e2f862a96a039ae8ca8b87b8615d154ceda4).
I'm asking the patch author (Mathieu Trudel-Lapierre) to submit the
patch to the upstream grub and this is the upstream bug link:
https://savannah.gnu.org/bugs/?56217 .
Here this launchpad bug is for Ubuntu 16.04 and 14.04.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1826453
Title:
Grub2 Booting in blind mode due to "invalid video mode specification
`text'"
Status in grub2 package in Ubuntu:
Fix Released
Status in grub2 source package in Trusty:
New
Status in grub2 source package in Xenial:
In Progress
Bug description:
[Impact]
UEFI users booting VMs on Hyper-V
[Test case]
1) Install Ubuntu 16.04 in a Gen2 VM on Hyper-V (Windows)
2) After install; edit /etc/default/grub to add:
GRUB_GFXPAYLOAD_LINUX="text"
3) Run 'sudo update-grub'
4) Reboot
Verify whether the system writes an error/warning on console during
boot (this shows up and disappears quickly, one must watch the console
attentively):
error: invalid video mode specification `text'.
Booting in blind mode
[Regression potential]
There is minimal risk of regression; this is a patch that has been succesfully used in other releases to address the same issue (see bug 1711452). It only affects graphical payload selection in grub to avoid a value that is clearly invalid, thus skipping the error value and falling back to the default text-mode. Care should be taking while testing to identify any possible issues with displaying the grub menu or outputting information from the kernel at console as the system boots (if applicable).
---
In a Ubuntu 16.04.6 VM, which runs as a Gen2 VM on Hyper-V, I add
GRUB_GFXPAYLOAD_LINUX="text" into /etc/default/grub and run update-
grub; next, grub2 prints the below error:
error: invalid video mode specification `text'.
Booting in blind mode
This means grub2 passes a zero value for the "lfb_base" to Linux
kernel, which then fails to reserve the framebuffer MMIO range in
drivers/hv/vmbus_drv.c: vmbus_reserve_fb(); as a result, when we pass
through a PCIe device to the VM, the PCIe device may get a PCI MMIO
BAR in the FB MMIO range, causing a conflict, and the PCIe device can
not work in the VM.
The issue can not reproduce with Ubuntu 18.04. It turns out the grub2 in Ubuntu 18.04 has the below fix:
video: skip 'text' gfxpayload if not supported, to fallback to default (https://git.launchpad.net/~ubuntu-core-dev/grub/+git/ubuntu/commit/?id=38d9e2f862a96a039ae8ca8b87b8615d154ceda4).
I'm asking the patch author (Mathieu Trudel-Lapierre) to submit the
patch to the upstream grub and this is the upstream bug link:
https://savannah.gnu.org/bugs/?56217 .
Here this launchpad bug is for Ubuntu 16.04 and 14.04.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1826453/+subscriptions
More information about the foundations-bugs
mailing list