[virt-tools-list] [virt-manager PATCH 3/7] unattended: Adapt for Windows
Fabiano Fidêncio
fidencio at redhat.com
Fri Mar 29 13:34:32 UTC 2019
On Thu, Mar 28, 2019 at 10:45 PM Fabiano Fidêncio <fidencio at redhat.com> wrote:
>
> 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 at redhat.com>
> ---
> 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())
Argh, "%S" is a typo and it should be "%s".
>
> 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
>
More information about the virt-tools-list
mailing list