Bug 231428 - extra kernel command line parameters in xen config file don't get passed to guest kernels
extra kernel command line parameters in xen config file don't get passed to g...
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: xen (Show other bugs)
5.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Xen Maintainance List
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-03-08 00:14 EST by Brendan Bouffler
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-03-08 18:11:32 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
xen guest domain config file (343 bytes, text/plain)
2007-03-08 18:06 EST, Brendan Bouffler
no flags Details
xend log from /var/log/xen/xend.log (8.83 KB, text/plain)
2007-03-08 18:07 EST, Brendan Bouffler
no flags Details

  None (edit)
Description Brendan Bouffler 2007-03-08 00:14:52 EST
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 07:02:29 EST
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 18:06:42 EST
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 18:07:34 EST
Created attachment 149656 [details]
xend log from /var/log/xen/xend.log
Comment 4 Brendan Bouffler 2007-03-08 18:08:42 EST
Logs attached. Lemmy know if you need any more.
Comment 5 Daniel Berrange 2007-03-08 18:11:32 EST
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-08 19:19:08 EST
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.