Bug 1027562 - Kernel arguments "console=ttyS0" blocks direct kernel boot for rhel guest.
Kernel arguments "console=ttyS0" blocks direct kernel boot for rhel guest.
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virt-manager (Show other bugs)
7.0
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: virt-mgr-maint
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-07 00:43 EST by hyao@redhat.com
Modified: 2013-11-12 05:48 EST (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-12 05:48:00 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
the console output when installation stops (5.16 KB, image/png)
2013-11-07 00:43 EST, hyao@redhat.com
no flags Details

  None (edit)
Description hyao@redhat.com 2013-11-07 00:43:33 EST
Created attachment 820886 [details]
the console output when installation stops

Description
On latest RHEL7 host, kernel arguments "console==ttySO" blocks rhel6.5 guest direct kernel boot.
Without the argument, direct kernel boot goes on smoothly. Add "console==ttySO" into grub.conf once the guest is installed, user is capable to visit the guest by #virsh console $guestname.  



Version:
kernel-3.10.0-33.el7.x86_64
libvirt-1.1.1-11.el7.x86_64
virt-manager-0.10.0-5.el7.noarch


How reproducible:
100%

Steps to Reproduce:
1. download the initrd and vmlinux to /var/lib/libvirt/boot.
#wget http://download.englab.nay.redhat.com/pub/rhel/rel-eng/RHEL6.5-20131024.1/6.5/Server/x86_64/os/images/pxeboot/initrd.img http://download.englab.nay.redhat.com/pub/rhel/rel-eng/RHEL6.5-20131024.1/6.5/Server/x86_64/os/images/pxeboot/vmlinuz
2. Create a new guest. Add the direct kernel boot options and kernel arguments "console=ttyS0" when customizing the configuration.
 #virsh dumpxml KER6
 <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <kernel>/var/lib/libvirt/boot/vmlinuz</kernel>
    <initrd>/var/lib/libvirt/boot/initrd.img</initrd>
    <cmdline>console=ttyS0</cmdline>
    <boot dev='hd'/>
    <boot dev='network'/>
    <bootmenu enable='yes'/>
  </os>


3. Begin installing the guest. and the installation doesn't proceed down by getting the following output in the guest:
probe edd (edd=off to disable) ...ok
 
4. Create a new guest. Add the direct kernel boot options but WITHOUT kernel arguments "console=ttyS0" when customizing the configuration.
 #virsh dumpxml KER6
 <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <kernel>/var/lib/libvirt/boot/vmlinuz</kernel>
    <initrd>/var/lib/libvirt/boot/initrd.img</initrd>
    <boot dev='hd'/>
    <boot dev='network'/>
    <bootmenu enable='yes'/>
  </os>
5. Begin installing the guest, get a health guest after the installation done. Add the kernel arguments "console=ttyS0" to /boot/grub/grub.conf in the guest.
Reboot the guest.

6.On the host, #virsh console KER6 to check the guest status. Get the guest boot process on the console and login in the guest correctly.

Actual results:
Kernel arguments "console=ttyS0" blocks direct kernel boot for rhel6.5 guest.


Expected results:
Kernel arguments "console=ttyS0" will not block direct kernel boot for rhel6.5 guest and it's added in the grub configure file.


Additional info:
Comment 1 Martin Kletzander 2013-11-07 05:03:10 EST
Does this really depend on the host and not the guest?  Have you tried the same steps with rhel6.5 as host or fedora 19 for example?  Does this reproduce without virt-manager?  Without libvirt?  Does it not work with different guests?  And idfferent guest kernels?
Comment 2 hyao@redhat.com 2013-11-11 01:57:03 EST
Hi Martin, 

I have rechecked the issue with RHEL6.4 and RHEL6.5 host, the bug also is reproduced. "console=ttyS0" will block the installation of guest(rhel6.4 and rhel7).  And the installation fails when create a guest by virsh or virt-install. 


I use virsh command #virsh create guest by xml containing following lines:
...
<os>
    <type arch='x86_64' machine='rhel6.4.0'>hvm</type>
    <kernel>/var/lib/libvirt/boot/rhel65/vmlinuz</kernel>
    <initrd>/var/lib/libvirt/boot/rhel65/initrd.img</initrd>
    <cmdline>console=ttyS0</cmdline>
    <boot dev='hd'/>
  </os>
...

The installation stops by "probe edd (edd=off to disable) ...ok"

I use virt-install to install the guest: 
# virt-install --name hello --ram 512 --disk /var/lib/libvirt/images/ker.img --boot kernel=/var/lib/libvirt/boot/vmlinuz,initrd=/var/lib/libvirt/boot/initrd.img,kernel_args="console=ttyS0"

The installation stops by "probe edd (edd=off to disable) ...ok"
Comment 3 Martin Kletzander 2013-11-11 03:59:11 EST
The kernel outputs everything to the console given by the parameter, after that, the installation starts and anaconda uses the same console for installation (You can see that by doing 'virsh console hello'.  I won't try to elaborate on whether this is intended or not, but kernel/anaconda is the right place to ask.  Please move this bug to the component on which you think the problem is.
Comment 4 hyao@redhat.com 2013-11-12 05:48:00 EST
Use virsh console $guestname, I can install the guest on the console of the host. 
So close it as notabug.

Note You need to log in before you can comment on or make changes to this bug.