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
diff --git a/src/how-to-create-custom-images-5104.md b/src/how-to-create-custom-images-5104.md
index a815c61..3cd9773 100644
--- a/src/how-to-create-custom-images-5104.md
+++ b/src/how-to-create-custom-images-5104.md
@@ -1247,44 +1247,90 @@ The custom RHEL image can be uploaded to MAAS, but note that the name **must** s
12471247
1248<a href="#heading--custom-windows-images"><h3 id="heading--custom-windows-images">How to create Windows images</h3></a>1248<a href="#heading--custom-windows-images"><h3 id="heading--custom-windows-images">How to create Windows images</h3></a>
12491249
1250Since 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.1250Since 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.
1251
1252You can obtain Windows ISO images at the Microsoft Evaluation Center:
1253
1254https://www.microsoft.com/en-us/evalcenter
1255
1256<b>Windows editions</b>
1257
1258There are several Windows editions/install options supported by `maas-image-builder` (`--windows-edition` options):
1259
1260- `win2008r2`
1261- `win2008hvr2`
1262- `win2012`
1263- `win2012hv`
1264- `win2012r2`
1265- `win2012hvr2`
1266- `win2016`
1267- `win2016-core`
1268- `win2016hv`
1269- `win2016dc`
1270- `win2016dc-core`
1271- `win2019`
1272- `win2019-core`
1273- `win2019dc`
1274- `win2019dc-core`
1275- `win10ent`
1276- `win10ent-eval`
1277- `win2022`
1278- `win2022-core`
1279
1280The examples in this section use Windows Hyper-V 2012 R2.
12511281
1252<b>Hyper-V 2012 R2</b>1282<h4 id="heading--mib-windows">Image Builder</h4>
1253In 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:
1254
1255http://technet.microsoft.com/en-US/evalcenter/dn205299.aspx
1256
1257There are several other supported versions (for --windows-edition):
12581283
1259- win20121284MAAS Image Builder (also known as "MIB") can automate the process of generating images for MAAS and <code>curtin</code>.
1260- win2012r2
1261- win2012hv
1262- win2012hvr2
1263- win2016
1264- win2016hv
12651285
1266<h4 id="heading--mib-windows">Image Builder</h4>1286Note, though, you may need Windows drivers to deploy the image on your specific hardware (see the `--windows-drivers` option).
12671287
1268MAAS 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:1288In 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).
12691289
1270 sudo maas-image-builder -o windows-win2012hvr2-amd64-root-dd windows \1290Important: <b>UEFI and BIOS</b> systems require different Windows images, built with or without the `--uefi` option, respectively.
1271 --windows-iso ~/Downloads/2012hvr2.ISO \1291(Windows ISO images in UEFI mode usually require connecting using a VNC client early to press any key to start Windows setup; see below.)
1272 --windows-edition win2012hvr2 [--windows-updates] \
1273 [--windows-drivers <folder/>] [--windows-language en-US]
12741292
1275As an example, consider:1293Important: <b>LXD Virtual Machines</b> require an UEFI image (`--uefi`) and VirtIO drivers (`--windows-drivers`).
1294(In order to use/test the VirtIO drivers during image build, not just during image deploy, use `--virtio` and `--driver-store`.)
12761295
1277 sudo maas-image-builder -o windows-win2012hvr2-amd64-root-dd windows \1296 sudo maas-image-builder -o windows-win2012hvr2-amd64-root-dd windows \
1278 --windows-iso win2012hvr2.iso --windows-edition win2012hvr2 \1297 --windows-iso win2012hvr2.iso --windows-edition win2012hvr2 \
1279 --windows-updates --windows-drivers ~/Win2012hvr2_x64/DRIVERS/ --windows-language en-US1298 --windows-language en-US \
1299 [--windows-drivers ~/Win2012hvr2_x64/DRIVERS/] \
1300 [--windows-updates] [--disk-size 128G] \
1301 [--uefi] [--virtio] [--driver-store]
1302
1303<h4 id="heading--mib-options-windows">Image Builder options for Windows</h4>
1304
1305MAAS Image Builder options for Windows images can be listed with the following command:
12801306
1281Please 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>.1307 sudo maas-image-builder -o windows --help
12821308
1283Also 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.1309Note that this is different from the MAAS Image Builder generic/image-independent options, which can be listed with the following command:
1310
1311 sudo maas-image-builder --help
1312
1313Some of the Windows-specific options include:
1314
1315- `--windows-iso`: path to the Windows ISO image.
1316- `--windows-edition`: identifier for the Windows edition/option being installed (see above).
1317- `--windows-license-key`: Windows license key (required with non-evaluation editions)
1318- `--windows-language`: Windows installation language (default: `en-US`)
1319- `--windows-updates`: download and install Windows Updates (requires internet access; might require a larger `--disk-size` option)
1320- `--windows-drivers`: path to directory with Windows drivers to be installed (requires internet access; uses the Windows Driver Kit, by default)
1321- `--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).
1322
1323Some Windows-specific platform options:
1324
1325- `--uefi`: use UEFI partition layout and firmware
1326- `--virtio`: use paravirtualized VirtIO SCSI and VirtIO NET devices (instead of emulated devices) for installation (requires `--windows-drivers`)
1327- `--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)
12841328
1285<h4 id="heading--mib-debug-windows">Debug</h4>1329<h4 id="heading--mib-debug-windows">Debug</h4>
12861330
1287You can debug the Windows installation process by connecting to <code>localhost:5901</code> using a VNC client.1331You can debug the Windows installation process by connecting to <code>localhost:5901</code> using a VNC client (e.g., `vncviewer`).
1332
1333You can pause the Windows installation process at the last step for inspection/debugging in PowerShell with the `--powershell` option.
12881334
1289<h4 id="heading--windows-image-install">Install into MAAS</h4>1335<h4 id="heading--windows-image-install">Install into MAAS</h4>
12901336
@@ -1307,4 +1353,4 @@ As an example:
13071353
1308 maas admin boot-resources create name=custom1 \1354 maas admin boot-resources create name=custom1 \
1309 title=”Ubuntu Custom Image” architecture=amd64/generic \1355 title=”Ubuntu Custom Image” architecture=amd64/generic \
1310 content@=/home/ubuntu/ubuntu-custom-root-tgz
1311\ No newline at end of file1356\ No newline at end of file
1357 content@=/home/ubuntu/ubuntu-custom-root-tgz

Subscribers

People subscribed via source and target branches