On Wed, May 17, 2017 at 4:26 AM, Jerry jerryubi@gmail.com wrote:
Howdy,
I recently went through a frustrating experience trying to get Xen 4 running on a CentOS 7 system. After a fresh install, fully updating the system, rebooting, then trying to install Xen4CentOS it would fail to boot into the 4.9 kernel, sitting there with a blinking cursor indefinitely.
I thought it was a failure with grub, but it turns out this was set in the grub config:
GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 ..."
So the kernel was loading successfully, but it was failing boot properly (hanging because it couldn't find the / file system, but that's a different story). Boot messages were not being displayed on my console because of the console=hvc0 setting, hampering the troubleshooting process.
What is the purpose of setting console=hvc0? I removed it so I could trouble shoot this problem, but I didn't re-add it and the system booted fine, Xen is working. Is there something that depends on this?
I always disable "rhgb quiet" on a fresh install because I don't like boot messages being hidden from me, and now this other thing does it. I like details, I need the details, don't hide them from me.
I feel the same way about 'rhgb quiet'. :-)
The 'console=hvc0' setting doesn't hide them from you, it just sends them somewhere you're not looking.
On bare metal, the console output can typically go two places: 1. The screen 2. A serial port
For server applications serial has several advantages over the screen: * You can capture the output to more easily report bugs * If you're capturing it you can keep things that would have scrolled off-screen, or been erased due to a reboot * In a datacenter it's faster, more convenient, and cheaper than an IP-based KVM switch
Xen has the same two options above; but when Linux is running as a dom0 under Xen, there are three places to put it: 1. The screen 2. A serial line 3. Send it to Xen to put wherever Xen is putting it
#1 is easy, but #2 is tricky because Xen is likely to be already using the serial port you want to use.
"console=hvc0" is #3.
What's your Xen command-line look like? The default should be "console=com1,tty", so Xen's output should show up both places (and so should Linux's if it's set to console=hvc0).
-George