[dts] [PATCH] qemu-kvm: Add support to provide Kernel Image explicitly to boot VM
pvukkisala at marvell.com
pvukkisala at marvell.com
Thu Jun 27 10:32:52 CEST 2019
From: Phanendra Vukkisala <pvukkisala at marvell.com>
Enables option to boot VM with Kernel Image which is not part of VM image.
Enables provding kernel boot parameters from configs
Signed-off-by: Phanendra Vukkisala <pvukkisala at marvell.com>
---
conf/sriov_kvm.cfg | 10 ++++++++++
framework/qemu_kvm.py | 26 ++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/conf/sriov_kvm.cfg b/conf/sriov_kvm.cfg
index a7ba884..8106e04 100644
--- a/conf/sriov_kvm.cfg
+++ b/conf/sriov_kvm.cfg
@@ -98,6 +98,16 @@
# note:
# By default VM will start with the daemonize status.
# Not support starting it on the stdin now.
+#
+#kernel
+# kernel_img: <path of kernel image>
+# note: adding kernel_img use this kernel and following argument to as
+# kernel boot command args
+# console: ttyS0
+# baudrate: 115200
+# root: /dev/sda2 rw rootwait
+# note: along with root path, can provide any other extra parameters
+#
# vm configuration for pmd sriov case
diff --git a/framework/qemu_kvm.py b/framework/qemu_kvm.py
index 80a39c8..8408795 100644
--- a/framework/qemu_kvm.py
+++ b/framework/qemu_kvm.py
@@ -483,6 +483,32 @@ class QEMUKvm(VirtBase):
elif options['type'] in ['tap', 'bridge']:
self.net_type = 'bridge'
+ def add_vm_kernel(self, **options):
+ """
+ Add Kernel Image explicitly
+ kernel_img: path to kernel Image
+ console: console details in kernel boot args
+ baudrate: console access baudrate in kernel boot args
+ root: root partition details in kernel boot args
+ """
+ print options
+ if 'kernel_img' in options.keys() and options['kernel_img']:
+ kernel_boot_line = '-kernel %s' % options['kernel_img']
+ else:
+ return False
+ self.__add_boot_line(kernel_boot_line)
+ kernel_args = ""
+ if 'console' in options.keys() and options['console']:
+ kernel_args = "console=%s" %options['console']
+ if 'baudrate' in options.keys() and options['baudrate']:
+ kernel_args += "," + options['baudrate']
+ if 'root' in options.keys() and options['root']:
+ kernel_args += " root=%s" %options['root']
+ if kernel_args:
+ append_boot_line = '--append \"%s\"' %kernel_args
+ self.__add_boot_line(append_boot_line)
+
+
def __add_vm_net_nic(self, **options):
"""
type: nic
--
1.7.9.5
More information about the dts
mailing list