Merge ~mfo/maas-doc:mib-update-options into maas-doc:master

Proposed by Mauricio Faria de Oliveira
Status: Merged
Approved by: Bill Wear
Approved revision: 3f82f6304b7602476cac5ed7c7c7e9f44680a44b
Merge reported by: Mauricio Faria de Oliveira
Merged at revision: 3f82f6304b7602476cac5ed7c7c7e9f44680a44b
Proposed branch: ~mfo/maas-doc:mib-update-options
Merge into: maas-doc:master
Diff against target: 126 lines (+71/-25)
1 file modified
src/how-to-create-custom-images-5104.md (+71/-25)
Reviewer Review Type Date Requested Status
Bill Wear Pending
Review via email: mp+431304@code.launchpad.net

Description of the change

This PR makes the Windows images docs up-to-date with maas-image-builder,
listing usage/options, and (hidden) caveats for UEFI systems and LXD VMs.

This should help not only with documentation, but also deflection of
user-education support tickets, and publishing internal expertise
that are non-trivial for external/users to realize (e.g., for LXD VMs,
which are now the default in MAAS, vs. libvirt VMs).

To post a comment you must log in.
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/how-to-create-custom-images-5104.md b/src/how-to-create-custom-images-5104.md
2index a815c61..3cd9773 100644
3--- a/src/how-to-create-custom-images-5104.md
4+++ b/src/how-to-create-custom-images-5104.md
5@@ -1247,44 +1247,90 @@ The custom RHEL image can be uploaded to MAAS, but note that the name **must** s
6
7 <a href="#heading--custom-windows-images"><h3 id="heading--custom-windows-images">How to create Windows images</h3></a>
8
9-Since Windows is a proprietary operating system, MAAS can't download these images. You need to manually generate images to use with MAAS. On the upside, the end result will be much simpler, since there are CLI and WebUI tools to upload a Windows ISO -- which _helps_ automate the process.
10+Since Windows is a proprietary operating system, MAAS can't download these images. You need to manually generate images to use with MAAS by using Windows ISO images. On the upside, the end result will be much simpler, since there are CLI and WebUI tools to upload a Windows image -- which _helps_ automate the process.
11+
12+You can obtain Windows ISO images at the Microsoft Evaluation Center:
13+
14+https://www.microsoft.com/en-us/evalcenter
15+
16+<b>Windows editions</b>
17+
18+There are several Windows editions/install options supported by `maas-image-builder` (`--windows-edition` options):
19+
20+- `win2008r2`
21+- `win2008hvr2`
22+- `win2012`
23+- `win2012hv`
24+- `win2012r2`
25+- `win2012hvr2`
26+- `win2016`
27+- `win2016-core`
28+- `win2016hv`
29+- `win2016dc`
30+- `win2016dc-core`
31+- `win2019`
32+- `win2019-core`
33+- `win2019dc`
34+- `win2019dc-core`
35+- `win10ent`
36+- `win10ent-eval`
37+- `win2022`
38+- `win2022-core`
39+
40+The examples in this section use Windows Hyper-V 2012 R2.
41
42-<b>Hyper-V 2012 R2</b>
43-In this example, Windows Hyper-V 2012 R2 is used, but rest assured that multiple versions are supported. Download the Hyper-V 2012 R2 ISO from Microsoft, so it can be used in the image generation process. You can obtain the download at:
44-
45-http://technet.microsoft.com/en-US/evalcenter/dn205299.aspx
46-
47-There are several other supported versions (for --windows-edition):
48+<h4 id="heading--mib-windows">Image Builder</h4>
49
50-- win2012
51-- win2012r2
52-- win2012hv
53-- win2012hvr2
54-- win2016
55-- win2016hv
56+MAAS Image Builder (also known as "MIB") can automate the process of generating images for MAAS and <code>curtin</code>.
57
58-<h4 id="heading--mib-windows">Image Builder</h4>
59+Note, though, you may need Windows drivers to deploy the image on your specific hardware (see the `--windows-drivers` option).
60
61-MAAS Image builder can automate the process of generating images for MAAS and <code>curtin</code>. In this instance, though, you need Windows drivers for your specific hardware. You can obtain these windows drivers with the following command:
62+In order to obtain Windows updates, provide the <code>--windows-updates</code> option (and sufficient disk space, depending on the Windows edition/updates size, with the <code>--disk-size</code> option). This requires access to a bridged connection with a DHCP server (provide a network interface with the <code>maas-image-builder -i</code> option).
63
64- sudo maas-image-builder -o windows-win2012hvr2-amd64-root-dd windows \
65- --windows-iso ~/Downloads/2012hvr2.ISO \
66- --windows-edition win2012hvr2 [--windows-updates] \
67- [--windows-drivers <folder/>] [--windows-language en-US]
68+Important: <b>UEFI and BIOS</b> systems require different Windows images, built with or without the `--uefi` option, respectively.
69+(Windows ISO images in UEFI mode usually require connecting using a VNC client early to press any key to start Windows setup; see below.)
70
71-As an example, consider:
72+Important: <b>LXD Virtual Machines</b> require an UEFI image (`--uefi`) and VirtIO drivers (`--windows-drivers`).
73+(In order to use/test the VirtIO drivers during image build, not just during image deploy, use `--virtio` and `--driver-store`.)
74
75 sudo maas-image-builder -o windows-win2012hvr2-amd64-root-dd windows \
76 --windows-iso win2012hvr2.iso --windows-edition win2012hvr2 \
77- --windows-updates --windows-drivers ~/Win2012hvr2_x64/DRIVERS/ --windows-language en-US
78+ --windows-language en-US \
79+ [--windows-drivers ~/Win2012hvr2_x64/DRIVERS/] \
80+ [--windows-updates] [--disk-size 128G] \
81+ [--uefi] [--virtio] [--driver-store]
82+
83+<h4 id="heading--mib-options-windows">Image Builder options for Windows</h4>
84+
85+MAAS Image Builder options for Windows images can be listed with the following command:
86
87-Please note that this will not <em>install</em> any Windows updates. In order to obtain an up-to-date image of Windows, be sure provide the <code>--windows-updates</code> flag. This requires access to a bridged connection with a DHCP server, an interface that can be specified with <code>-i</code>.
88+ sudo maas-image-builder -o windows --help
89
90-Also note that you may be required to have specific Windows drivers for this image to work in your hardware. Be sure you inject those drivers when installing them. Those drivers are the default <code>*.inf</code> files.
91+Note that this is different from the MAAS Image Builder generic/image-independent options, which can be listed with the following command:
92+
93+ sudo maas-image-builder --help
94+
95+Some of the Windows-specific options include:
96+
97+- `--windows-iso`: path to the Windows ISO image.
98+- `--windows-edition`: identifier for the Windows edition/option being installed (see above).
99+- `--windows-license-key`: Windows license key (required with non-evaluation editions)
100+- `--windows-language`: Windows installation language (default: `en-US`)
101+- `--windows-updates`: download and install Windows Updates (requires internet access; might require a larger `--disk-size` option)
102+- `--windows-drivers`: path to directory with Windows drivers to be installed (requires internet access; uses the Windows Driver Kit, by default)
103+- `--driver-store`: combined with `--windows-drivers`, uses the Windows Driver Store to install drivers early into Windows Setup and image (does not require internet access; does not use the Windows Driver Kit).
104+
105+Some Windows-specific platform options:
106+
107+- `--uefi`: use UEFI partition layout and firmware
108+- `--virtio`: use paravirtualized VirtIO SCSI and VirtIO NET devices (instead of emulated devices) for installation (requires `--windows-drivers`)
109+- `--disk-size`: specify the (virtual) disk size for Windows setup (must be larger for `--windows-updates`; increases deployment/copy-to-disk time, and is expanded to physical disk size during deployment)
110
111 <h4 id="heading--mib-debug-windows">Debug</h4>
112
113-You can debug the Windows installation process by connecting to <code>localhost:5901</code> using a VNC client.
114+You can debug the Windows installation process by connecting to <code>localhost:5901</code> using a VNC client (e.g., `vncviewer`).
115+
116+You can pause the Windows installation process at the last step for inspection/debugging in PowerShell with the `--powershell` option.
117
118 <h4 id="heading--windows-image-install">Install into MAAS</h4>
119
120@@ -1307,4 +1353,4 @@ As an example:
121
122 maas admin boot-resources create name=custom1 \
123 title=”Ubuntu Custom Image” architecture=amd64/generic \
124- content@=/home/ubuntu/ubuntu-custom-root-tgz
125\ No newline at end of file
126+ content@=/home/ubuntu/ubuntu-custom-root-tgz

Subscribers

People subscribed via source and target branches