From 3f68b5c8d24b52aed5bb3ed970dd8f779b65b1b3 Mon Sep 17 00:00:00 2001 From: Dmitry Rozhkov Date: Tue, 21 Feb 2017 17:18:08 +0200 Subject: 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. Signed-off-by: Dmitry Rozhkov Signed-off-by: Ross Burton --- scripts/runqemu | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'scripts/runqemu') diff --git a/scripts/runqemu b/scripts/runqemu index b6c6a8747c..c5fa88e341 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -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: -- cgit 1.2.3-korg