[CentOS-virt] What is the purpose setting console=hvc0 in the dom0 grub config?
dunlapg at umich.edu
Wed May 17 09:39:37 UTC 2017
On Wed, May 17, 2017 at 4:26 AM, Jerry <jerryubi at gmail.com> wrote:
> 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).
More information about the CentOS-virt