John Levon
2007-Jan-04 19:18 UTC
[Xen-devel] [3.0.4 PATCH] fix kernel cmdline compatibility
# HG changeset patch # User john.levon@sun.com # Date 1167936545 28800 # Node ID acda3f65d9797126035cc8cae65d8804415c6036 # Parent 97a82d6d6cf4fa55a9c6a14a50a786dbff6134c0 Xen 3.0.3 pre-pended all configuration prior to the user-specified args in the boot cmdline. Restore this behaviour to fix incompatabilities with fragile parsers in some domU kernels. Signed-off-by: John Levon <john.levon@sun.com> diff --git a/tools/python/xen/xend/XendConfig.py b/tools/python/xen/xend/XendConfig.py --- a/tools/python/xen/xend/XendConfig.py +++ b/tools/python/xen/xend/XendConfig.py @@ -1104,15 +1104,20 @@ class XendConfig(dict): self[''PV_kernel''] = sxp.child_value(image_sxp, ''kernel'','''') self[''PV_ramdisk''] = sxp.child_value(image_sxp, ''ramdisk'','''') - kernel_args = sxp.child_value(image_sxp, ''args'', '''') + kernel_args = "" # attempt to extract extra arguments from SXP config arg_ip = sxp.child_value(image_sxp, ''ip'') if arg_ip and not re.search(r''ip=[^ ]+'', kernel_args): - kernel_args += '' ip=%s'' % arg_ip + kernel_args += ''ip=%s'' % arg_ip arg_root = sxp.child_value(image_sxp, ''root'') if arg_root and not re.search(r''root='', kernel_args): kernel_args += '' root=%s'' % arg_root + + # user-specified args must come last: previous releases did this and + # some domU kernels rely upon the ordering. + kernel_args += " %s" % sxp.child_value(image_sxp, ''args'', '''') + self[''PV_args''] = kernel_args # Store image SXP in python dictionary format _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel