Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 231428 - extra kernel command line parameters in xen config file don't get passed to guest kernels
Summary: extra kernel command line parameters in xen config file don't get passed to g...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: xen
Version: 5.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Xen Maintainance List
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-03-08 05:14 UTC by Brendan Bouffler
Modified: 2007-11-30 22:07 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-03-08 23:11:32 UTC


Attachments (Terms of Use)
xen guest domain config file (deleted)
2007-03-08 23:06 UTC, Brendan Bouffler
no flags Details
xend log from /var/log/xen/xend.log (deleted)
2007-03-08 23:07 UTC, Brendan Bouffler
no flags Details

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 Berrange 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 Berrange 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.


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