[virt-manager PATCH 3/7] unattended: Adapt for Windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The main differences are:
- Windows unattended installation will be performed via "floppy"
  injection instead of "initrd";
- Windows target disk must be a letter ("C", in our case);
- Windows requires a product-key to be passed

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 virtinst/unattended.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/virtinst/unattended.py b/virtinst/unattended.py
index 74043c36..15e0b2b9 100644
--- a/virtinst/unattended.py
+++ b/virtinst/unattended.py
@@ -79,6 +79,8 @@ def _make_installconfig(script, osobj, unattended_data, arch, hostname, url):
     # Note: this is linux specific and will require some changes whenever
     # support for Windows will be added.
     tgt = "/dev/vda" if osobj.supports_virtiodisk() else "/dev/sda"
+    if osobj.is_windows():
+        tgt = "C"
     config.set_target_disk(tgt)
 
     # Set hardware architecture and hostname
@@ -114,6 +116,9 @@ def _make_installconfig(script, osobj, unattended_data, arch, hostname, url):
     if url:
         config.set_installation_url(url)  # pylint: disable=no-member
 
+    if unattended_data.product_key:
+        config.set_reg_product_key(unattended_data.product_key)
+
     logging.debug("InstallScriptConfig created with the following params:")
     logging.debug("username: %s", config.get_user_login())
     logging.debug("realname: %s", config.get_user_realname())
@@ -127,6 +132,7 @@ def _make_installconfig(script, osobj, unattended_data, arch, hostname, url):
     logging.debug("keyboard: %s", config.get_l10n_keyboard())
     logging.debug("url: %s",
             config.get_installation_url())  # pylint: disable=no-member
+    logging.debug("product-key: %S", config.get_reg_product_key())
 
     return config
 
@@ -245,7 +251,8 @@ def prepare_install_script(guest, unattended_data, url=None, os_media=None):
 
     # For all tree based installations we're going to perform initrd injection
     # and install the systems via network.
-    script.set_preferred_injection_method("initrd")
+    injection_method = "floppy" if guest.osinfo.is_windows() else "initrd"
+    script.set_preferred_injection_method(injection_method)
 
     installationsource = _get_installation_source(os_media)
     script.set_installation_source(installationsource)
-- 
2.20.1

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list




[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux