# 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'