Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 5 product line. The current stable release is 5.10. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 231428

Summary: extra kernel command line parameters in xen config file don't get passed to guest kernels
Product: Red Hat Enterprise Linux 5 Reporter: Brendan Bouffler <brendan.bouffler>
Component: xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-08 23:11:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
xen guest domain config file
none
xend log from /var/log/xen/xend.log none

Description Brendan Bouffler 2007-03-08 05:14:52 UTC
Description of problem:
If I provide some command-line paramters in my xen guest config file (in
/etc/xen/hostname, for instance), they don't show up in the guest kernel's
/proc/cmdline.

I traced through as much of the python as I could (given I'm not a python
hacker) and it looks very much like the contents of 'extra' aren't making it to
the boot loader at all. In fact, the pygrub boot loader isn't interested in any
extra parameters anyhow - it only uses what's in the guest's /etc/grub.conf
file, which it extracts from the boot partition in the guest's disk image.

Version-Release number of selected component (if applicable):
# rpm -q xen
xen-3.0.3-25.el5
# rpm -q kernel
kernel-2.6.18-8.el5
# uname -a
Linux b 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:42:21 EST 2007 i686 i686 i386 GNU/Linux


How reproducible:


Steps to Reproduce:
1. create a xen guest using the virt-manager wizard.
2. edit the /etc/xen config file it creates
3. add thew following to the end of the file:

    extra = "some_param=x"

4. boot the domain
5. check /proc/cmdline - the "some_param=x" isn't there.
 
Actual results:

/proc/cmdline contains exactly what the guest domain's /etc/grub.conf contained
for the kernel entry.

Expected results:

Expecting the contents of the extra variable from the config file to show up in
the /proc/cmdline contents.

Additional info:

# rpm -q redhat-release
redhat-release-5Server-5.0.0.9

The Xen guests are all RHEL4u5 (also beta), tho I don't expect this is going to
have an impact.

Comment 1 Daniel Berrangé 2007-03-08 12:02:29 UTC
Please attach the config file you are using from /etc/xen, and the log file
/var/log/xen/xend.log after attempting to start the guest.


Comment 2 Brendan Bouffler 2007-03-08 23:06:42 UTC
Created attachment 149655 [details]
xen guest domain config file 

shows the use of the 'extra' parameter to try and pass extra kernel command
options to the guest.

Comment 3 Brendan Bouffler 2007-03-08 23:07:34 UTC
Created attachment 149656 [details]
xend log from /var/log/xen/xend.log

Comment 4 Brendan Bouffler 2007-03-08 23:08:42 UTC
Logs attached. Lemmy know if you need any more.

Comment 5 Daniel Berrangé 2007-03-08 23:11:32 UTC
Your guest config file is setup to start the guest using a bootloader - pygrub.
If using the bootloader, then the 'kernel', 'ramdisk' and 'extra' config files
parameters are irrelevant - all this info is extracted by pygrub.

For example, the xend.log shows it pull out the following kernel, initrd &
command line args:

[2007-03-09 10:03:09 xend 2872] DEBUG (image:200) image          =
/var/lib/xen/vmlinuz.MnAks0
[2007-03-09 10:03:09 xend 2872] DEBUG (image:201) store_evtchn   = 1
[2007-03-09 10:03:09 xend 2872] DEBUG (image:202) console_evtchn = 2
[2007-03-09 10:03:09 xend 2872] DEBUG (image:203) cmdline        =  ro
root=/dev/VolGroup00/LogVol00 rhgb quiet
[2007-03-09 10:03:09 xend 2872] DEBUG (image:204) ramdisk        =
/var/lib/xen/initrd.ID40M_

So, if you need to pass boot command line parameters, they need to be added to
/etc/grub.conf  inside the guest OS image itself.

Comment 6 Brendan Bouffler 2007-03-09 00:19:08 UTC
My bad - I read the docs to mean that the extra stuff would get passed to the
boot loader - which would be a really useful feature, btw - in case you needed
to do something unusual to the guest - the pygrub bootloader doesn't hang around
for long waiting for user input ... at least not long enough for me to kick up a
VNC window over my VPN and catch it before it boots...

Another feature for another day.

Thanks & sorry for the false alarm.