scripts/runqemu: avoid overridden user input for bootparams

Currently runqemu hardcodes the "ip=" kernel boot parameter
when configuring QEMU to use tap or slirp networking. This makes
the guest system to have a network interface pre-configured
by kernel and causes systemd to fail renaming the interface
to whatever pleases it:

  Feb 21 10:10:20 intel-corei7-64 systemd-udevd[201]: Error changing
      net interface name 'eth0' to 'enp0s3': Device or resource busy,

Always append user input for kernel boot params after the ones
added by the script. This way user input has priority over runqemu's
default params.

(From OE-Core rev: 3f68b5c8d24b52aed5bb3ed970dd8f779b65b1b3)

Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dmitry Rozhkov 2017-02-21 17:18:08 +02:00 committed by Richard Purdie
parent 86d6b790eb
commit b4b2d6dec4
1 changed files with 5 additions and 2 deletions

View File

@ -188,6 +188,7 @@ class BaseConfig(object):
self.kernel = ''
self.kernel_cmdline = ''
self.kernel_cmdline_script = ''
self.bootparams = ''
self.dtb = ''
self.fstype = ''
self.kvm_enabled = False
@ -411,7 +412,7 @@ class BaseConfig(object):
elif arg.startswith('qemuparams='):
self.qemu_opt_script += ' %s' % arg[len('qemuparams='):]
elif arg.startswith('bootparams='):
self.kernel_cmdline_script += ' %s' % arg[len('bootparams='):]
self.bootparams = arg[len('bootparams='):]
elif os.path.exists(arg) or (re.search(':', arg) and re.search('/', arg)):
self.check_arg_path(os.path.abspath(arg))
elif re.search(r'-image-|-image$', arg):
@ -1091,7 +1092,9 @@ class BaseConfig(object):
def start_qemu(self):
if self.kernel:
kernel_opts = "-kernel %s -append '%s %s %s'" % (self.kernel, self.kernel_cmdline, self.kernel_cmdline_script, self.get('QB_KERNEL_CMDLINE_APPEND'))
kernel_opts = "-kernel %s -append '%s %s %s %s'" % (self.kernel, self.kernel_cmdline,
self.kernel_cmdline_script, self.get('QB_KERNEL_CMDLINE_APPEND'),
self.bootparams)
if self.dtb:
kernel_opts += " -dtb %s" % self.dtb
else: