Trouble with GRUB2, no USB keyboard and ignores Xen boot parameters

Installed openSUSE 13.2 on Dell PowerEdge 6800 around December of last year. Had been running openSUSE 12.3 before that, but backed up and then completely wiped all the storage on my server. Did fresh install, and installed Xen hypervisor. Everything seemed fine. I do not know for certain that I had keyboard control of GRUB2 initially or not, or whether the Xen boot parameters were being loaded by GRUB2 either. I did notice these problems recently and have had no luck fixing them. Tried different USB ports. The USB keyboard works fine in the BIOS and various firmware utilities before GRUB2 starts, and works fine after openSUSE starts. Xen works great, except that I can’t set any boot parameters. Well, I can set them in /etc/default/grub and then run the utility to rebuild the GRUB2 config, but it doesn’t result in the parameters being used. The normal Linux boot parameters set in the grub file work fine though. So, what do I do first to start figuring this out?

For details on how the server is configured: created a hardware RAID 1 set and carved it into the root partition and swap partition. Created two other hardware RAID 5 sets and turned them into LVM volume groups. Two SATA drives in an external eSATA enclosure were made into a software RAID 1 mirror and turned in to volume group as well.

As far as I know, grub2 uses BIOS calls to read the keyboard. So if grub2 cannot see the keyboard, that would seem to be a BIOS problem.

Check if the BIOS has a fast boot option. If it does, try disabling that. It might be that the BIOS skips initializing USB devices, and speeds up boot by leaving that job to the operating system that is being loaded.

I wish. :confused: I’ve got fast boot disabled already. Also the keyboard works fine in the BIOS setup, the PERC4i configuration screens, the DRAC4 screens, the BMC screens, and the firmware interface for my external drive array. All of which come up before GRUB2. I think something fundamental may be broken with the GRUB2 install. Is there anything can look for in journalctl, or whatever?

It’s not the Windows fast boot that matters. It’s the BIOS. Perhaps it is called FAST POST or such.

Also the keyboard works fine in the BIOS setup.

Sure. When you get into BIOS setup, it makes sure that it initializes the keyboard functionality.

All of which come up before GRUB2.

Not really. On a normal boot, there is no BIOS setup screen. You get straight into grub. If you first go into BIOS setup, then it reboots before it takes you to grub.

I think something fundamental may be broken with the GRUB2 install. Is there anything can look for in journalctl, or whatever?

Why is nobody else having this problem? Grub has finished its work before journalctl even comes into play.

Okay, there’s a possibility that I’m misunderstanding your problem. Try removing (or renaming) “/boot/grub2/grubenv” and see if that fixes the problem. (I suggest renaming, so that you can rename it back if that doesn’t help).

Which utility? Please copy and paste exact command invocation and its output.

Sorry, I should have mentioned this from the start: I’m thinking that there is a problem with MY installation of GRUB2, not the software itself. :slight_smile: Also, while I mentioned the keyboard problem first, the “ignores Xen boot parameters” is what is the biggest immediate problem. I’m just wondering if they are somehow both linked.
Renaming grubenv didn’t fix it. :frowning:

Here is the command I ran after editing /etc/default/grub → grub2-mkconfig -o /boot/grub2/grub.cfg

Here is the output -

Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Skip xenlinux kernel /boot/vmlinuz-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-24-desktop
Found initrd image: /boot/initrd-3.16.7-24-desktop
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Skip xenlinux kernel /boot/vmlinuz-3.16.7-21-xen
Found linux image: /boot/vmlinuz-3.16.7-21-desktop
Found initrd image: /boot/initrd-3.16.7-21-desktop
Found linux image: /boot/vmlinuz-xen
Skip xenlinux kernel /boot/vmlinuz-xen
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Found initrd image: /boot/initrd-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Found initrd image: /boot/initrd-3.16.7-21-xen
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Found initrd image: /boot/initrd-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Found initrd image: /boot/initrd-3.16.7-21-xen
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Found initrd image: /boot/initrd-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Found initrd image: /boot/initrd-3.16.7-21-xen
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Found initrd image: /boot/initrd-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Found initrd image: /boot/initrd-3.16.7-21-xen
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Found initrd image: /boot/initrd-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Found initrd image: /boot/initrd-3.16.7-21-xen
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Found initrd image: /boot/initrd-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Found initrd image: /boot/initrd-3.16.7-21-xen
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Found initrd image: /boot/initrd-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Found initrd image: /boot/initrd-3.16.7-21-xen
Found linux image: /boot/vmlinuz-3.16.7-24-xen
Found initrd image: /boot/initrd-3.16.7-24-xen
Found linux image: /boot/vmlinuz-3.16.7-21-xen
Found initrd image: /boot/initrd-3.16.7-21-xen
done

And just in case it helps, here is my /etc/default/grub file contents -

Modified by YaST2. Last modification on Tue Aug 18 17:46:17 EDT 2015

THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader

For the new kernel it try to figure out old parameters. In case we are not able to recognize it (e.g. change of flavor or strange install order ) it it use as fallback installation parameters from /etc/sysconfig/bootloader

Modified by YaST3. Last modification on Sat Aug 15 04:30:40 EDT 2015

If you change this file, run ‘grub2-mkconfig -o /boot/grub2/grub.cfg’ afterwards to update

/boot/grub2/grub.cfg.

GRUB_DISTRIBUTOR=openSUSE
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=300
GRUB_CMDLINE_LINUX_DEFAULT=" resume=/dev/sdb1 vga=normal"

kernel command line options for failsafe mode

GRUB_CMDLINE_LINUX_RECOVERY=“showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe”
GRUB_CMDLINE_LINUX=""

Uncomment to enable BadRAM filtering, modify to suit your needs

This works with Linux (no patch required) and with any kernel that obtains

the memory map information from GRUB (GNU Mach, kernel of FreeBSD …)

#GRUB_BADRAM=0x01234567,0xfefefefe,0x89abcdef,0xefefefef

Uncomment to disable graphical terminal (grub-pc only)

GRUB_TERMINAL=console

The resolution used on graphical terminal

note that you can use only modes which your graphic card supports via VBE

you can see them in real GRUB with the command `vbeinfo’

GRUB_GFXMODE=auto

Uncomment if you don’t want GRUB to pass “root=UUID=xxx” parameter to Linux

#GRUB_DISABLE_LINUX_UUID=true

Uncomment to disable generation of recovery mode menu entries

#GRUB_DISABLE_LINUX_RECOVERY=true

Uncomment to get a beep at grub start

#GRUB_INIT_TUNE=“480 440 1”

Skip 30_os-prober if you experienced very slow in probing them

WARNING foregin OS menu entries will be lost if set true here

GRUB_DISABLE_OS_PROBER=true

Set to ‘y’ for grub to be installed on an encrypted partition

GRUB_ENABLE_CRYPTODISK=n
SUSE_BTRFS_SNAPSHOT_BOOTING=true
GRUB_BACKGROUND=/boot/grub2/themes/openSUSE/background.png
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt

Xen boot parameters for all Xen boots

GRUB_CMDLINE_XEN=""

Xen boot parameters for non-recovery Xen boots (in addition to GRUB_CMDLINE_XEN)

GRUB_CMDLINE_XEN_DEFAULT=“dom1_mem=2048M,max:2048M console=none”

Anything else I can try? Help?

Just to be sure - are you using BIOS or EFI boot?

I apologize for being a doofus :shame: and not responding earlier. No, the PowerEdge 6800 is regular BIOS not EFI. What should I try?