One of the problems with virtio drivers install is that the configuration needed to get it done was scattered around the pretty large tests_base.cfg.sample file. So, separate the relevant configuration from that file and create a file dedicated to be the central point of configuration for virtio drivers install. The new file is hopefully well commented, and will be helpful in getting people started with virtio win drivers testing with kvm autotest. Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> --- client/tests/kvm/get_started.py | 2 +- client/tests/kvm/tests.cfg.sample | 1 + client/tests/kvm/tests_base.cfg.sample | 97 ------------- client/tests/kvm/virtio-win.cfg.sample | 235 ++++++++++++++++++++++++++++++++ 4 files changed, 237 insertions(+), 98 deletions(-) create mode 100644 client/tests/kvm/virtio-win.cfg.sample diff --git a/client/tests/kvm/get_started.py b/client/tests/kvm/get_started.py index 772f267..d97fd8a 100755 --- a/client/tests/kvm/get_started.py +++ b/client/tests/kvm/get_started.py @@ -86,7 +86,7 @@ if __name__ == "__main__": kvm_test_dir = os.path.dirname(sys.modules[__name__].__file__) kvm_test_dir = os.path.abspath(kvm_test_dir) config_file_list = ["build.cfg", "cdkeys.cfg", "tests_base.cfg", - "tests.cfg", "unittests.cfg"] + "tests.cfg", "unittests.cfg", "virtio-win.cfg"] for config_file in config_file_list: src_file = os.path.join(kvm_test_dir, "%s.sample" % config_file) dst_file = os.path.join(kvm_test_dir, config_file) diff --git a/client/tests/kvm/tests.cfg.sample b/client/tests/kvm/tests.cfg.sample index ef48a90..8e9fb1a 100644 --- a/client/tests/kvm/tests.cfg.sample +++ b/client/tests/kvm/tests.cfg.sample @@ -3,6 +3,7 @@ # This file contains the test set definitions. Define your test sets here. include tests_base.cfg include cdkeys.cfg +include virtio-win.cfg # Modify/comment the following lines if you wish to modify the paths of the # image files, ISO files or qemu binaries. diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample index a1f1ef0..5311629 100644 --- a/client/tests/kvm/tests_base.cfg.sample +++ b/client/tests/kvm/tests_base.cfg.sample @@ -2135,13 +2135,6 @@ variants: drive_index_winutils = 2 kernel = initrd = - # Turn install_virtio = yes if you want to install the - # Windows virtio drivers. It might be a lot of setup though :) - #install_virtio = no - #cdroms += " virtio" - #cdrom_virtio = isos/windows/virtio-win.iso - #drive_index_virtio = 3 - #virtio_floppy = /usr/share/virtio-win/virtio-drivers.vfd migrate: migration_test_command = ver && vol migration_bg_command = start ping -t localhost @@ -2261,12 +2254,6 @@ variants: md5sum_1m_cd1 = b473bf75af2d1269fec8958cf0202bfd unattended_file = unattended/winxp32.sif floppy = images/winXP-32/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_oemsetup_id = WXP32 - virtio_network_path = 'F:\NetKVM\xp\x86' - #virtio_network_installer_path = 'F:\RHEV-Network32.msi' whql.submission: desc_path_desc1 = $\WDK\Logo Type\Device Logo\Windows XP desc_path_desc2 = $\WDK\Logo Type\Systems Logo\Windows XP @@ -2297,12 +2284,6 @@ variants: md5sum_1m_cd1 = e812363ff427effc512b7801ee70e513 unattended_file = unattended/winxp64.sif floppy = images/winXP-64/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_oemsetup_id = WNET64 - virtio_network_path = 'F:\NetKVM\xp\amd64' - #virtio_network_installer_path = 'F:\RHEV-Network64.msi' whql.submission: desc_path_desc1 = $\WDK\Logo Type\Device Logo\Windows XP desc_path_desc2 = $\WDK\Logo Type\Systems Logo\Windows XP @@ -2348,12 +2329,6 @@ variants: #md5sum_1m_cd1 = 37c2fdec15ac4ec16aa10fdfdb338aa3 unattended_file = unattended/win2003-32.sif floppy = images/win2003-32/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_oemsetup_id = WNET32 - virtio_network_path = 'F:\NetKVM\2k3\x86' - #virtio_network_installer_path = 'F:\RHEV-Network32.msi' whql.submission: desc_path_desc1 = $\WDK\Logo Type\Device Logo\Windows Server 2003 dd_data_logoarch = X86 @@ -2390,12 +2365,6 @@ variants: #md5sum_1m_cd1 = 439393c384116aa09e08a0ad047dcea8 unattended_file = unattended/win2003-64.sif floppy = images/win2003-64/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_oemsetup_id = WNET64 - virtio_network_path = 'F:\NetKVM\2k3\amd64' - #virtio_network_installer_path = 'F:\RHEV-Network64.msi' whql.submission: desc_path_desc1 = $\WDK\Logo Type\Device Logo\Windows Server 2003 dd_data_logoarch = AMD64 @@ -2438,12 +2407,6 @@ variants: md5sum_1m_cd1 = c724e9695da483bc0fd59e426eaefc72 unattended_file = unattended/winvista-32-autounattend.xml floppy = images/winvista-sp1-32/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\w7\x86' - virtio_network_path = 'F:\NetKVM\w7\x86' - #virtio_network_installer_path = 'F:\RHEV-Network32.msi' whql.submission.device.net: image_name_supportvm = winvista-sp1-32-supportvm @@ -2457,12 +2420,6 @@ variants: sha1sum_1m_cd1 = a2afa4cffdc1c362dbf9e62942337f4f875a22cf unattended_file = unattended/winvista-32-autounattend.xml floppy = images/winvista-sp2-32/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\w7\x86' - virtio_network_path = 'F:\NetKVM\w7\x86' - #virtio_network_installer_path = 'F:\RHEV-Network32.msi' whql.submission.device.net: image_name_supportvm = winvista-sp2-32-supportvm @@ -2489,12 +2446,6 @@ variants: md5sum_1m_cd1 = 0947bcd5390546139e25f25217d6f165 unattended_file = unattended/winvista-64-autounattend.xml floppy = images/winvista-sp1-64/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\w7\amd64' - virtio_network_path = 'F:\NetKVM\w7\amd64' - #virtio_network_installer_path = 'F:\RHEV-Network64.msi' whql.submission.device.net: image_name_supportvm = winvista-sp1-64-supportvm @@ -2508,12 +2459,6 @@ variants: sha1sum_1m_cd1 = 1fd21bd3ce2a4de8856c7b8fe6fdf80260f6d1c7 unattended_file = unattended/winvista-64-autounattend.xml floppy = images/winvista-sp2-64/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\w7\amd64' - virtio_network_path = 'F:\NetKVM\w7\amd64' - #virtio_network_installer_path = 'F:\RHEV-Network64.msi' whql.submission.device.net: image_name_supportvm = winvista-sp2-64-supportvm @@ -2542,12 +2487,6 @@ variants: md5sum_1m_cd1 = 07d7f5006393f74dc76e6e2e943e2440 unattended_file = unattended/win2008-32-autounattend.xml floppy = images/win2008-sp1-32/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\2k8\x86' - virtio_network_path = 'F:\NetKVM\2k8\x86' - #virtio_network_installer_path = 'F:\RHEV-Network32.msi' - sp2: image_name += -sp2-32 @@ -2559,12 +2498,6 @@ variants: sha1sum_1m_cd1 = 9662ff7ed715faa00407e4befc484ea52a92a9fb unattended_file = unattended/win2008-32-autounattend.xml floppy = images/win2008-sp2-32/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\2k8\x86' - virtio_network_path = 'F:\NetKVM\2k8\x86' - #virtio_network_installer_path = 'F:\RHEV-Network32.msi' - 64: variants: @@ -2586,12 +2519,6 @@ variants: md5sum_1m_cd1 = efdcc11d485a1ef9afa739cb8e0ca766 unattended_file = unattended/win2008-64-autounattend.xml floppy = images/win2008-sp1-64/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\2k8\amd64' - virtio_network_path = 'F:\NetKVM\2k8\amd64' - #virtio_network_installer_path = 'F:\RHEV-Network64.msi' - sp2: image_name += -sp2-64 @@ -2603,12 +2530,6 @@ variants: sha1sum_1m_cd1 = 8fe08b03e3531906855a60a78020ac9577dff5ba unattended_file = unattended/win2008-64-autounattend.xml floppy = images/win2008-sp2-64/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\2k8\amd64' - virtio_network_path = 'F:\NetKVM\2k8\amd64' - #virtio_network_installer_path = 'F:\RHEV-Network64.msi' - r2: image_name += -r2-64 @@ -2620,12 +2541,6 @@ variants: sha1sum_1m_cd1 = 9194a3aabae25b36e5f73cad001314b2c8d07d14 unattended_file = unattended/win2008-r2-autounattend.xml floppy = images/win2008-r2-64/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\2k8\amd64' - virtio_network_path = 'F:\NetKVM\2k8\amd64' - #virtio_network_installer_path = 'F:\RHEV-Network64.msi' - Win7: image_name = win7 @@ -2648,12 +2563,6 @@ variants: sha1sum_1m_cd1 = 9f9c3780aebeb28a9bf22188eed6bc15475dc9c5 unattended_file = unattended/win7-32-autounattend.xml floppy = images/win7-32/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\w7\x86' - virtio_network_path = 'F:\NetKVM\w7\x86' - #virtio_network_installer_path = 'F:\RHEV-Network32.msi' whql.submission: dd_data_logoarch = X86 dd_data_logoos = Windows 7 @@ -2681,12 +2590,6 @@ variants: sha1sum_1m_cd1 = 4a3903bd5157de54f0702e5263e0a683c5775515 unattended_file = unattended/win7-64-autounattend.xml floppy = images/win7-64/answer.vfd - # Uncomment virtio_network_installer_path line if - # you have an msi installer, also make sure the - # paths are properly set in your virtio driver iso. - virtio_storage_path = 'F:\viostor\w7\amd64' - virtio_network_path = 'F:\NetKVM\w7\amd64' - #virtio_network_installer_path = 'F:\RHEV-Network64.msi' whql.submission: dd_data_logoarch = AMD64 dd_data_logoos = Windows 7 diff --git a/client/tests/kvm/virtio-win.cfg.sample b/client/tests/kvm/virtio-win.cfg.sample new file mode 100644 index 0000000..ce1bcf4 --- /dev/null +++ b/client/tests/kvm/virtio-win.cfg.sample @@ -0,0 +1,235 @@ +# Copy this file to virtio-win.cfg and edit it. +# This file intends to be a central point of configuration for folks wanting +# to install windows virtio drivers on windows guests + +# A bit of context on windows virtio drivers install +# -------------------------------------------------- +# This method of install so far covers the storage (viostor) and network +# (NetKVM) drivers. KVM autotest uses a boot floppy with a Windows answer +# file in order to perform unattended install of windows guests. For winXP +# and win2003, the unattended files are simple .ini files, while for win2008 +# and later, the unattended files are XML files. +# +# In order to install the virtio drivers during guest install, KVM autotest +# has to inform the windows install programs *where* to find the drivers. So, +# we work from the following assumptions: +# +# * You already have an iso file that contains windows virtio drivers +# (inf files) for both netkvm and viostor. If you are unsure how to generate +# that iso, there's an example script under contrib, inside the kvm test +# directory. If you take a look at the files inside this iso image, a small +# part of them should look like: +# +# ./wxp/x86/viostor.cat +# ./wxp/x86/viostor.inf +# ./wxp/x86/viostor.pdb +# ./wxp/x86/viostor.sys +# +# * If you are planning on installing WinXP or Win2003, you should also have +# a pre-made floppy disk image with the virtio drivers *and* a configuration +# file that the installer program will read to fetch the right drivers from it. +# Unfortunately, I don't have much info on how to build that file, you probably +# would have the image already assembled if you are willing to test those guest +# OS. +# +# So you have to map the paths of your cd containing the drivers on the config +# variables. More details below. + +Windows: + unattended_install.cdrom, whql.support_vm_install: + # In order to enable drivers install, turn the below to 'yes' + install_virtio = no + + # In order to enable drivers install, uncomment the assignment lines + # below. + + # This makes the vm to be started with the virtio iso file as an extra + # cdrom drive + #cdroms += " virtio" + + # This assumes the virtio iso will be at (/tmp/kvm_autotest_root/isos) + #cdrom_virtio = isos/virtio-win.iso + + # This ensures the iso will appear to the guest as F: + #drive_index_virtio = 3 + + # This assumes the virtio floppy will be at (/tmp/kvm_autotest_root/) + # This floppy is needed only if you desire to test virtio drivers + # install for WinXP and Win2003. If you don't, you can leave the line + # below uncommented + #virtio_floppy = virtio-drivers.vfd + + WinXP: + 32: + unattended_install.cdrom, whql.support_vm_install: + # This is a label used on the oemsetup.ini file, inside your + # virtio floppy. You might actually want to check what are + # the labels on yours + virtio_oemsetup_id = WXP32 + + # Look at your cd structure and see where the drivers are + # actually located + virtio_network_path = 'F:\xp\x86' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network32.msi' + + 64: + unattended_install.cdrom, whql.support_vm_install: + # This is a label used on the oemsetup.ini file, inside your + # virtio floppy. You might actually want to check what are + # the labels on yours + virtio_oemsetup_id = WNET64 + + # Look at your cd structure and see where the drivers are + # actually located + virtio_network_path = 'F:\xp\amd64' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network64.msi' + + Win2003: + 32: + unattended_install.cdrom, whql.support_vm_install: + # This is a label used on the oemsetup.ini file, inside your + # virtio floppy. You might actually want to check what are + # the labels on yours + virtio_oemsetup_id = WNET32 + + # Look at your cd structure and see where the drivers are + # actually located + virtio_network_path = 'F:\xp\x86' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network32.msi' + + 64: + unattended_install.cdrom, whql.support_vm_install: + # This is a label used on the oemsetup.ini file, inside your + # virtio floppy. You might actually want to check what are + # the labels on yours + virtio_oemsetup_id = WNET64 + + # Look at your cd structure and see where the drivers are + # actually located + virtio_network_path = 'F:\xp\amd64' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network64.msi' + + WinVista: + 32: + sp1: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\x86' + virtio_network_path = 'F:\vista\x86' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network32.msi' + + sp2: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\x86' + virtio_network_path = 'F:\vista\x86' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network32.msi' + + 64: + sp1: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\amd64' + virtio_network_path = 'F:\vista\amd64' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network64.msi' + + sp2: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\amd64' + virtio_network_path = 'F:\vista\amd64' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network64.msi' + + Win2008: + 32: + sp1: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\x86' + virtio_network_path = 'F:\vista\x86' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network32.msi' + + sp2: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\x86' + virtio_network_path = 'F:\vista\x86' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network32.msi' + + 64: + sp1: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\amd64' + virtio_network_path = 'F:\vista\amd64' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network64.msi' + + sp2: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\amd64' + virtio_network_path = 'F:\vista\amd64' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network64.msi' + + r2: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\amd64' + virtio_network_path = 'F:\vista\amd64' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network64.msi' + + Win7: + 32: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\x86' + virtio_network_path = 'F:\vista\x86' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network32.msi' + + 64: + unattended_install.cdrom, whql.support_vm_install: + # Look at your cd structure and see where the drivers are + # actually located (viostor and netkvm) + virtio_storage_path = 'F:\win7\amd64' + virtio_network_path = 'F:\vista\amd64' + + # Uncomment if you have a nw driver installer on the iso + #virtio_network_installer_path = 'F:\RHEV-Network64.msi' -- 1.7.6 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html