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.
Thanks, Jerry
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
On Wed, May 17, 2017 at 2:39 AM, George Dunlap dunlapg@umich.edu wrote:
On Wed, May 17, 2017 at 4:26 AM, Jerry jerryubi@gmail.com wrote:
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.
I'm looking at the system's console during installation. Sending it somewhere else is hiding it from me.
On bare metal, the console output can typically go two places:
- The screen
- 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
I get what these things are, but not what hvc0 is doing.
This system has built-in IPMI, the installation was done remotely using it.
Xen has the same two options above; but when Linux is running as a dom0 under Xen, there are three places to put it:
- The screen
- A serial line
- 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).
This is what's defined in /etc/default/grub following the install of the Xen:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all" GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 earlyprintk=xen nomodeset"
I didn't set these myself, this is what the xen package (or one of its dependencies) is doing.
I'm still not clear on why hvc0 is needed, or why it's being set, but what I do know for sure is it was causing the boot messages to be suppressed.
Thanks, Jerry
This is what's defined in /etc/default/grub following the install of the Xen:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all" GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 earlyprintk=xen nomodeset"
I didn't set these myself, this is what the xen package (or one of its dependencies) is doing.
I'm still not clear on why hvc0 is needed, or why it's being set, but what I do know for sure is it was causing the boot messages to be suppressed.
So the hvc0 is to use the PV console driver to pipe all the messages to the Xen one.
And Xen is configured to use the serial console (com1=115200,8n1).
Which means that all you Linux bootup info should be piped to that.
But Linux is pretty quiet unless you add 'loglevel=10' or 'debug' on the Linux command line.
Thanks, Jerry
CentOS-virt mailing list CentOS-virt@centos.org https://lists.centos.org/mailman/listinfo/centos-virt
On Wed, May 17, 2017 at 8:25 AM, Konrad Rzeszutek Wilk < konrad.wilk@oracle.com> wrote:
This is what's defined in /etc/default/grub following the install of the Xen:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo
com1=115200,8n1
console=com1,tty loglvl=all guest_loglvl=all" GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 earlyprintk=xen nomodeset"
I didn't set these myself, this is what the xen package (or one of its dependencies) is doing.
I'm still not clear on why hvc0 is needed, or why it's being set, but
what
I do know for sure is it was causing the boot messages to be suppressed.
So the hvc0 is to use the PV console driver to pipe all the messages to the Xen one.
And Xen is configured to use the serial console (com1=115200,8n1).
Which means that all you Linux bootup info should be piped to that.
So how would I properly configure it to still write to tty without disabling hvc0? Perhaps something like this?
GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0,tty earlyprintk=xen nomodeset"
Looks like I have some learning to do. Do you happen to know of a good article explaining how console redirection works?
But Linux is pretty quiet unless you add 'loglevel=10' or 'debug' on the Linux command line.
On Wed, May 17, 2017 at 08:37:13AM -0700, Jerry wrote:
On Wed, May 17, 2017 at 8:25 AM, Konrad Rzeszutek Wilk < konrad.wilk@oracle.com> wrote:
This is what's defined in /etc/default/grub following the install of the Xen:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo
com1=115200,8n1
console=com1,tty loglvl=all guest_loglvl=all" GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 earlyprintk=xen nomodeset"
I didn't set these myself, this is what the xen package (or one of its dependencies) is doing.
I'm still not clear on why hvc0 is needed, or why it's being set, but
what
I do know for sure is it was causing the boot messages to be suppressed.
So the hvc0 is to use the PV console driver to pipe all the messages to the Xen one.
And Xen is configured to use the serial console (com1=115200,8n1).
Which means that all you Linux bootup info should be piped to that.
So how would I properly configure it to still write to tty without disabling hvc0? Perhaps something like this?
GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0,tty earlyprintk=xen nomodeset"
console=hvc0 console=tty
And that should do it.
Looks like I have some learning to do. Do you happen to know of a good article explaining how console redirection works?
You add the 'console' and it will pipe date to it. If you add more, then it will duplicate it to those.
But Linux is pretty quiet unless you add 'loglevel=10' or 'debug' on the Linux command line.
CentOS-virt mailing list CentOS-virt@centos.org https://lists.centos.org/mailman/listinfo/centos-virt
On Wed, May 17, 2017 at 4:20 PM, Jerry jerryubi@gmail.com wrote:
On Wed, May 17, 2017 at 2:39 AM, George Dunlap dunlapg@umich.edu wrote:
On Wed, May 17, 2017 at 4:26 AM, Jerry jerryubi@gmail.com wrote:
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.
I'm looking at the system's console during installation. Sending it somewhere else is hiding it from me.
On bare metal, the console output can typically go two places:
- The screen
- 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
I get what these things are, but not what hvc0 is doing.
See below -- it sends the output to Xen; Xen will then forward it to the serial, the screen, or both.
This system has built-in IPMI, the installation was done remotely using it.
Xen has the same two options above; but when Linux is running as a dom0 under Xen, there are three places to put it:
- The screen
- A serial line
- 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).
This is what's defined in /etc/default/grub following the install of the Xen:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all" GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 earlyprintk=xen nomodeset"
I didn't set these myself, this is what the xen package (or one of its dependencies) is doing.
It's the CentOS Xen package setting this. But the Xen option "console=com1,tty" should make it such that Xen sends its output *both* to the serial line, *and* the monitor.
I take it you're not seeing any Xen output at all on your IPMI console?
-George
On Wed, May 17, 2017 at 8:44 AM, George Dunlap dunlapg@umich.edu wrote:
On Wed, May 17, 2017 at 4:20 PM, Jerry jerryubi@gmail.com wrote:
This is what's defined in /etc/default/grub following the install of the Xen:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo
com1=115200,8n1
console=com1,tty loglvl=all guest_loglvl=all" GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 earlyprintk=xen nomodeset"
I didn't set these myself, this is what the xen package (or one of its dependencies) is doing.
It's the CentOS Xen package setting this. But the Xen option "console=com1,tty" should make it such that Xen sends its output *both* to the serial line, *and* the monitor.
I take it you're not seeing any Xen output at all on your IPMI console?
-George
The boot messages are suppressed, but if it boots successfully the login prompt shows up. If I remove console=hvc0 both the boot messages and login prompt show up.
Note: the IPMI console I'm looking at is just the local monitor being redirected. It isn't a special device/driver.
I'll try what Konrad is suggesting, setting this:
console=hvc0 console=tty
And will see what happens. It'll be a few hours until I can try it out.
Thank you to every one that has responded, I appreciate the help.
Jerry.
On Wed, May 17, 2017 at 8:54 AM, Jerry jerryubi@gmail.com wrote:
On Wed, May 17, 2017 at 8:44 AM, George Dunlap dunlapg@umich.edu wrote:
On Wed, May 17, 2017 at 4:20 PM, Jerry jerryubi@gmail.com wrote:
This is what's defined in /etc/default/grub following the install of the Xen:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo
com1=115200,8n1
console=com1,tty loglvl=all guest_loglvl=all" GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 earlyprintk=xen nomodeset"
I didn't set these myself, this is what the xen package (or one of its dependencies) is doing.
It's the CentOS Xen package setting this. But the Xen option "console=com1,tty" should make it such that Xen sends its output *both* to the serial line, *and* the monitor.
I take it you're not seeing any Xen output at all on your IPMI console?
-George
The boot messages are suppressed, but if it boots successfully the login prompt shows up. If I remove console=hvc0 both the boot messages and login prompt show up.
Note: the IPMI console I'm looking at is just the local monitor being redirected. It isn't a special device/driver.
I'll try what Konrad is suggesting, setting this:
console=hvc0 console=tty
And will see what happens. It'll be a few hours until I can try it out.
Thank you to every one that has responded, I appreciate the help.
Jerry.
Setting both hvc0 and tty is working as desired. Thanks again to everyone that replied. I'm updating my kickstart script to include adding console=tty in addition to the other.
Jerry
On Wed, 17 May 2017 14:09:57 -0700 Jerry jerryubi@gmail.com wrote:
Setting both hvc0 and tty is working as desired. Thanks again to everyone that replied. I'm updating my kickstart script to include adding console=tty in addition to the other.
Should it be set by default then?
Regards, Nerijus
On Wed, May 17, 2017 at 2:17 PM, Nerijus Baliunas < nerijus@users.sourceforge.net> wrote:
On Wed, 17 May 2017 14:09:57 -0700 Jerry jerryubi@gmail.com wrote:
Setting both hvc0 and tty is working as desired. Thanks again to
everyone
that replied. I'm updating my kickstart script to include adding console=tty in addition to the other.
Should it be set by default then?
Regards, Nerijus
I'd say so. The addition of console=hvc0 to the grub configuration seems to be a pretty new thing (didn't have this issue with Xen on CentOS 6, so possibly limited to CentOS 7).
Jerry
Jerry, Refer to console=hvc0 from (https://wiki.xen.org/wiki/Xen_FAQ_Console)which is dedicated for domO after Xen kernel loaded, so if it hangs it means somewhere the booting process with xen is not right.
Suggest you to close look at the dmsg or log for debugging. Hope that helps and cheers.
Xlord
On Wed, May 17, 2017 at 11: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.
Thanks, Jerry
CentOS-virt mailing list CentOS-virt@centos.org https://lists.centos.org/mailman/listinfo/centos-virt
On Wed, May 17, 2017 at 3:02 AM, Mark L Sung xlord.sl@gmail.com wrote:
Jerry, Refer to console=hvc0 from (https://wiki.xen.org/wiki/ Xen_FAQ_Console)which is dedicated for domO after Xen kernel loaded, so if it hangs it means somewhere the booting process with xen is not right.
I might be missing something, but that article makes no mention of using hvc0 on dom0.
Jerry
On Tue, May 16, 2017 at 10:26 PM, 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.
...
Check the BIOS to see if Hyperthreading is disabled. If so, enable it. I had some Dell server (Dell R710s and R610s) that I finally figured out would not boot like you describe when HT is off for some reason. PJ
On Wed, May 17, 2017 at 3:43 AM, PJ Welsh pjwelsh@gmail.com wrote:
On Tue, May 16, 2017 at 10:26 PM, 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.
...
Check the BIOS to see if Hyperthreading is disabled. If so, enable it. I had some Dell server (Dell R710s and R610s) that I finally figured out would not boot like you describe when HT is off for some reason. PJ
I found what my issue was with it not booting, when the 4.9 kernel was installed it didn't include the mpt3sas driver. I posted the solution to the mailing list earlier with the subject:
4.9 kernel fails to boot because it didn't have the mpt3sas module
This post is just asking what the purpose of console=hvc0 is.
Thanks, Jerry