Bug 30978 - Grub menu not visible in Citrix XenServer
Grub menu not visible in Citrix XenServer
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Grub
UCS 3.1
Other Linux
: P5 normal (vote)
: UCS 4.0
Assigned To: Felix Botner
Drees Dormann
: interim-3
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-04-04 15:28 CEST by Stefan Gohmann
Modified: 2015-11-24 08:45 CET (History)
7 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
Screenshot of stuck boot in Xen Server (81.42 KB, image/png)
2013-10-18 12:21 CEST, Moritz Muehlenhoff
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2013-04-04 15:28:43 CEST
The grub menu of the installation DVD and of the installed system is not visible in Citrix XenServer 6.1.

I've installed UCS with the template "Other install media".
Comment 1 Moritz Muehlenhoff univentionstaff 2013-05-31 10:43:18 CEST
We will not ship a UCS 3.1-2 release; the next UCS release will be UCS 3.2.

As such, this bug is moved to the new target milestone.
Comment 2 Liam Schwez univentionstaff 2013-08-07 14:04:39 CEST
In order to see grub menu in XenCenter console following steps should to be performed first:

- establish an ssh connection to the XenServer
- find out an "UUID" of your desired VM "xe vm-list"
- change to a stdvga interface "xe vm-param-set uuid=... platform:vga=std"
- if necessery increase video memory using "xe vm-param-set uuid=... platform:videoram=32"

btw (the defaults if unchanged are: vga=cirrus and videoram=4)
Comment 3 Moritz Muehlenhoff univentionstaff 2013-08-12 12:06:59 CEST
This still occurs with Xen Server 3.2.

The initial grub configuration is done through univention-installer/boot/grub/grub.cfg

I suspect that removing "insmod gfxterm" and changing "terminal_output gfxterm" to "terminal_output vga_text" will fix this.

This means that the initial menu in the installer (where you can choose between "Univention Installer", "Additional options" and "Boot from first harddisk partition") will be in black and white instead of colored.
Comment 4 Sönke Schwardt-Krummrich univentionstaff 2013-08-12 12:11:51 CEST
(In reply to Moritz Muehlenhoff from comment #3)
> This still occurs with Xen Server 3.2.
> 
> The initial grub configuration is done through
> univention-installer/boot/grub/grub.cfg
> 
> I suspect that removing "insmod gfxterm" and changing "terminal_output
> gfxterm" to "terminal_output vga_text" will fix this.
> 
> This means that the initial menu in the installer (where you can choose
> between "Univention Installer", "Additional options" and "Boot from first
> harddisk partition") will be in black and white instead of colored.

Another possibility:
Removing "insmod video_cirrus" from grub.cfg forces grub to use plain vga which brings the expected green graphical grub menu to the screen.

Otherwise see comment 2 for a fix, that does not alter the installation DVD.
Comment 5 Philipp Hahn univentionstaff 2013-08-12 13:13:06 CEST
FYI:

<http://wiki.gentoo.org/wiki/QEMU/Options#Graphics_card>
-vga cirrus - Simple graphics card. Every guest OS has a built-in driver.
-vga std - Support resolutions >= 1280x1024x16. Linux, Windows XP and newer guest have a built-in driver.

From qemu-devel:

Message-ID: <CA+aC4ksx7dyUQkpkTi1bH_Lp9X04VFKgRPZ0TBS4f=jzhU2Wog@mail.gmail.com>
> Windows XP uses VGA planar mode during boot up.   This means that to set a pixel requires 3 MMIO operations (one for the red pixel, one for the green pixel, one for the blue pixel).


Message-ID: <CA+aC4kvnqOECrjoW2C90QhRzLSu0+rNhBuQE9Ld=-mPxFqKHyA@mail.gmail.com>
> Cirrus predates VESA.  VESA has a linear framebuffer mode and WinXP can use VESA modes (provided that VESA drivers are installed).  A linear framebuffer mode requires no [VM] exits to update individual pixels.


Message-ID: <20130727115118.GM2924@reaktio.net>
> One of the reasons to use emulated Cirrus is that there's a KMS driver for it.
Comment 6 Moritz Muehlenhoff univentionstaff 2013-08-15 11:30:09 CEST
The Grub module for cirrus has been removed and the display depth is now set to 32 bits. The Grub menu is now directly visible in Xen Center 6.2.

In addition the Installer has been successfully tested on the following systems/platforms:

- Hardware system from the training room (ATI Radeon graphics adapter)
- Hardware system from the test lab (xen10) (Nvidia graphics adapter)
- Virtual KVM machine on UCS 3.2 UVMM
- Virtual Xen machine on UCS 3.2 UVMM
- VirtualBox 4.1.8 running on Debian Wheezy
- VMware Player 5.0 running on Windows 7

For the QA:
You can use my Xen Server 6.2 installation running on xen6. With a standad 3.1-1 installation DVD when clicking on "Console" only a black screen is displayed. If you press Enter you can navigate blindly into the main installer menu. With a UCS 3.2 starting with ucs_3.2-0-20130814155937-dvd-amd64.iso the "green" installer start page is directly shown.
Comment 7 Erik Damrose univentionstaff 2013-08-22 16:09:53 CEST
Grub menu is visible on Citrix Xenserver with the latest build. Other platforms work as before.

-> Verified
Comment 8 Felix Botner univentionstaff 2013-09-12 14:45:32 CEST
(In reply to Stefan Gohmann from comment #0)
> The grub menu of the installation DVD and of the installed system is not
> visible in Citrix XenServer 6.1.

grub menu is still not visible on the installed system
Comment 9 Philipp Hahn univentionstaff 2013-09-19 08:08:31 CEST
Why was the resolution increased from 800×600 to 1024×768@32 in r44067?
The installer still switches to 800×600@16 as the kernel command line still uses the (deprecated) vga=788 (see Bug #28604).

This might be problematic, as this requires more Video RAM, which can be problematic for VMs: On xen-devel there's currently a long thread called "Allow 4 MB of video RAM for Cirrus graphics on traditional QEMU", where the change from qemu-dm to upstream-qemu changes the default VRAM size, which suddenly breaks existings VMs, since the new model has less VRAM and can no longer display the high resolution screen.
Comment 10 Moritz Muehlenhoff univentionstaff 2013-09-19 08:22:31 CEST
(In reply to Philipp Hahn from comment #9)
> Why was the resolution increased from 800×600 to 1024×768@32 in r44067?

Otherwise XenServer doesn't show the boot screen.
Comment 11 Philipp Hahn univentionstaff 2013-09-19 08:57:33 CEST
(In reply to Moritz Muehlenhoff from comment #10)
> (In reply to Philipp Hahn from comment #9)
> > Why was the resolution increased from 800×600 to 1024×768@32 in r44067?
> 
> Otherwise XenServer doesn't show the boot screen.

comment #8 claims, that is still does not work with 1024×768.
I didn't test this myself, but only noticed the new resolution and the mismatch between GRUB and Linux.
Comment 12 Stefan Gohmann univentionstaff 2013-09-19 09:01:21 CEST
(In reply to Philipp Hahn from comment #11)
> comment #8 claims, that is still does not work with 1024×768.
> I didn't test this myself, but only noticed the new resolution and the
> mismatch between GRUB and Linux.

In case we change the grub menu to 1024x768 we should change the linux boot to 1024x768 as well.
Comment 13 Moritz Muehlenhoff univentionstaff 2013-09-19 09:06:25 CEST
(In reply to Philipp Hahn from comment #11)
> (In reply to Moritz Muehlenhoff from comment #10)
> > (In reply to Philipp Hahn from comment #9)
> > > Why was the resolution increased from 800×600 to 1024×768@32 in r44067?
> > 
> > Otherwise XenServer doesn't show the boot screen.
> 
> comment #8 claims, that is still does not work with 1024×768.
> I didn't test this myself, but only noticed the new resolution and the
> mismatch between GRUB and Linux.

It does work in XenServer starting with univention-grub 7.0.0-3
Comment 14 Moritz Muehlenhoff univentionstaff 2013-09-19 11:17:16 CEST
Grub is currently updated to 2.0, this should be rechecked with the new version in interim-3
Comment 15 Sönke Schwardt-Krummrich univentionstaff 2013-10-13 21:21:51 CEST
Grub has been updated. Please note that according to
http://www.gnu.org/software/grub/manual/html_node/gfxmode.html
the option gfxmode has to be set as "WIDTHxHEIGHTxDEPTH" and *not* as "WIDTHxHEIGHT@DEPTH".

The installer/system will be started with vga=788 (→ 800x600x16) resp. 
vga=789 (→ 800x600x24).
Comment 16 Moritz Muehlenhoff univentionstaff 2013-10-18 12:19:13 CEST
With Grub 1.98 and the changes from https://forge.univention.org/bugzilla/show_bug.cgi?id=30978#c6 the Grub menu was displayed, but that's no longer the case with Grub 2:

With this configuration (as currently in SVN), the "blind" installation (as described in https://forge.univention.org/bugzilla/show_bug.cgi?id=30978#c6) works:

if loadfont /boot/grub/unicode.pf2 ; then
        set gfxmode=800x600x32
        insmod gfxterm
        insmod vbe
        insmod vga
fi
terminal_output gfxterm

I've tried many other Grub configurations, (e.g. 1024x768x32, 800x600x24, 800x600x16), but in these cases the installer was always stuck in the BIOS stage, see attached screenshot. Unfortunately there're no known debugging facilities at that stage.
Comment 17 Moritz Muehlenhoff univentionstaff 2013-10-18 12:21:07 CEST
Created attachment 5524 [details]
Screenshot of stuck boot in Xen Server
Comment 18 Moritz Muehlenhoff univentionstaff 2013-10-18 12:21:25 CEST
This is Xen Server 6.2 on xen15.
Comment 19 Moritz Muehlenhoff univentionstaff 2013-10-18 12:50:49 CEST
xe vm-param-set uuid=... platform:vga=std 

fixes the boot display, but requires command line changes on the Xen Server installation. We could document it, but chances are that people miss it.

It is not configurable through the Xen Server management client in Windows.
Comment 20 Moritz Muehlenhoff univentionstaff 2013-10-18 13:32:47 CEST
I found a blog posting which indicated that it might be related to too little video memory in the emulated Cirrus card:
http://www.ingmarverheij.com/32bpp-in-xenserver-virtual-machine/

I tried to configure 800x600x16 to minimise video memory consumption, but that doesn't help either.
Comment 21 Sönke Schwardt-Krummrich univentionstaff 2013-10-21 18:08:42 CEST
The graphic modules "efi_gop" and "efi_uga" have been (re)added to the grub.cfg of the installer DVD. Otherwise the UEFI DVD uses a grey on black GRUB and fails to show the installer.
Comment 22 Moritz Muehlenhoff univentionstaff 2013-10-22 08:06:58 CEST
(In reply to Moritz Muehlenhoff from comment #19)
> xe vm-param-set uuid=... platform:vga=std 

This is now documented in the release notes:
http://docs.univention.de/release-notes-3.2-de.html#relnotes:xenserver

I'll file a bug at Citrix to get the cirrus driver sorted out
Comment 23 Moritz Muehlenhoff univentionstaff 2013-10-22 08:31:27 CEST
(In reply to Moritz Muehlenhoff from comment #22)
> I'll file a bug at Citrix to get the cirrus driver sorted out

There's no direct way to report bugs other than escalating them through a support request; for now I've reported this in the forums:

http://forums.citrix.com/thread.jspa?threadID=338963
Comment 24 Stefan Gohmann univentionstaff 2014-01-14 07:06:43 CET
This issue was reported twice this week:
 2014011021013212 and 2014011321005645

Maybe we find a different solution.
Comment 25 Philipp Hahn univentionstaff 2014-03-31 15:41:07 CEST
Maybe disable the graphical grub & splash?
Several customers and technical training course participant have asked several times me over the past years, why we have that "splash-screen hiding data" making debugging of boot problems harder than necessary.
We no longer target the desktop market with Univention Corporatre *Server*, so it's probably less important to not confuse the user with some kernel messages.

A text console with more then 80x25 might be the most important point for a graphical screen.
Comment 26 Moritz Muehlenhoff univentionstaff 2014-04-01 06:13:43 CEST
(In reply to Philipp Hahn from comment #25)
> Maybe disable the graphical grub & splash?
> Several customers and technical training course participant have asked
> several times me over the past years, why we have that "splash-screen hiding
> data" making debugging of boot problems harder than necessary.

I agree, that happens frequently (ca. 1 of 3 trainings).
Comment 27 Daniel Orrego univentionstaff 2014-07-23 12:15:16 CEST
I got the same report again in 2014071621000222.

The problem here is that (besides the black screen in the console) the installed UCS never boots (or at least I can't reach it via UCS, nor SSH. but it was possible to ping during installation).

It was an UCS 3.2-2 (+updates after install) in a 
XenServer release 6.2.0-70446c (xenenterprise)
Comment 28 Stefan Gohmann univentionstaff 2014-09-19 06:54:30 CEST
Should be re-checked with the UCS 4 installation dvd.
Comment 29 Felix Botner univentionstaff 2014-10-21 15:42:26 CEST
DVD boot menu works with XenServer 6.2

UCS 4.0 Xen HVM grub boot menu only works with grub/gfxmode=text => univention-grub now sets grub/gfxmode="text" if the system is a Xen HVM system

Bootsplash (gfxpayload=800x600@24...) works fine with Xen HVM

Can be tested in 10.200.7.5 (XenServer 6.2)
Comment 30 Drees Dormann univentionstaff 2014-11-05 13:54:43 CET
grub menu displayed on xenserver 6.2 

grub/gfxmode="text" is set if HVM

changelog ok
Comment 31 Stefan Gohmann univentionstaff 2014-11-26 06:54:58 CET
UCS 4.0-0 has been released:
 http://docs.univention.de/release-notes-4.0-0-en.html
 http://docs.univention.de/release-notes-4.0-0-de.html

If this error occurs again, please use "Clone This Bug".