Project

General

Profile

Actions

action #175797

closed

coordination #175608: [WSL][epic] Unattended installation

[WSL] Move unattended XML recipe to media storage

Added by pherranz 3 months ago. Updated 23 days ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
Start date:
2025-01-20
Due date:
% Done:

100%

Estimated time:
Tags:

Description

As suggested by @favogt, the .xml file can be used from a mounted drive instead of modifying the whole ISO. This would simplify the process a lot, as there won't be need to edit the ISO file every time a new version is released.

More info about the process can be found here:
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-automation-overview?view=windows-11


Files


Related issues 4 (1 open3 closed)

Related to Containers and images - action #176097: [WSL] Windows Update Agent API Deprecation Prevents Script Execution on Windows 24H2Resolvedpherranz2025-01-23

Actions
Related to Containers and images - action #175800: [WSL] Add installation for aarch64 on OSDBlocked2025-01-20

Actions
Related to Containers and images - action #175614: [WSL] Extract `prepare_wsl` module from every test suiteResolvedpherranz2025-01-16

Actions
Has duplicate Containers and images - action #176358: [WSL] Windows 11 Installation failsRejected2025-01-30

Actions
Actions #1

Updated by pherranz 3 months ago

  • Status changed from Workable to In Progress
  • Assignee set to pherranz

This can be done by mounting an additional CDROM drive with an ISO containing the Autounattend.xml file. The next command shall be used to generate the ISO properly:

mkisofs -J -graft-points -o autounattend_uefi.iso Autounattend.xml=Autounattend_UEFI.xml

Take into account that the language of the downloaded ISO has to match the one specified in the xml file. In our case it should be en-US, not international en-GB.

Actions #2

Updated by pherranz 3 months ago

For adding a third CD drive it's been necessary to switch CDMODEL variable from ide-cd to scsi-cd. This revealed that the virtio drivers need to be updated to add the scsi ones, as the installation is not getting the drivers if so. The drivers are placed under vioscsi\....

Actions #3

Updated by pherranz 3 months ago

There are plenty of issues trying to address more than two CDROM in scsi format, so I'm trying to use the two usual disks used for Windows ISO and VirtIO drivers, and then add a third one with a autounattend_<bios/uefi>.raw image. The disk can be added with: HDD_2=autounattend_bios.raw HDDMODEL_2=usb-storage,removable=true NUMDISKS=2.

Actions #4

Updated by pherranz 3 months ago

  • Status changed from In Progress to Blocked

There's no way of making this work by now. I'd focus on fixing the current installation for 24H2 as stated in #176097 and then I'd come back to improving this process.

Actions #5

Updated by pherranz 3 months ago

  • Related to action #176097: [WSL] Windows Update Agent API Deprecation Prevents Script Execution on Windows 24H2 added
Actions #6

Updated by favogt 3 months ago

pherranz wrote in #note-4:

There's no way of making this work by now.

Why? The HDD_2=autounattend_bios.raw HDDMODEL_2=usb-storage,removable=true NUMDISKS=2 works fine here.

Actions #7

Updated by etchubykalo 3 months ago

  • Has duplicate action #176358: [WSL] Windows 11 Installation fails added
Actions #8

Updated by ph03nix 2 months ago

  • Tags set to WSL
Actions #9

Updated by pherranz about 1 month ago

  • Status changed from Blocked to In Progress

Well, finally and with @favogt's help, I've managed to run the tests by attaching the autounattend_<mode>.raw as an external USB drive. Here are some examples:

Actions #10

Updated by favogt about 1 month ago

Win11 24H2 ARM64 (❌ has never worked)

I think it works but you just don't see anything. You might have to either set QEMU_VIDEO_DEVICE=ramfb or use both ramfb + virtio-gpu-pci and switch between them.

Actions #11

Updated by favogt about 1 month ago

Win11 24H2 ARM64 (❌ has never worked)

BTW, you don't want to run the installation with software emulation, that's way too slow. So far I used HW emulation for installation and only used TCG for WSL2 if necessary.

Actions #12

Updated by pherranz about 1 month ago

Some tips and advice has been given here for the installation of aarch64, so I'd mention the #175800 ticket to have it related :)

Actions #13

Updated by pherranz about 1 month ago

  • Related to action #175800: [WSL] Add installation for aarch64 on OSD added
Actions #14

Updated by ph03nix about 1 month ago

  • Related to action #175614: [WSL] Extract `prepare_wsl` module from every test suite added
Actions #15

Updated by ph03nix about 1 month ago

  • Subject changed from [WSL] Improve Windows Unattend installation to [WSL] Move unattended XML recipe to media storage
Actions #16

Updated by ph03nix about 1 month ago

  • Priority changed from Normal to High
Actions #17

Updated by pherranz about 1 month ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

This is working as expected now:

Actions #18

Updated by dimstar 27 days ago

This seems to be responsible for all the Windows boot/login failures seen in the snapshot 20250320 QA run of Tumbleweed

Actions #19

Updated by ph03nix 24 days ago

dimstar wrote in #note-18:

This seems to be responsible for all the Windows boot/login failures seen in the snapshot 20250320 QA run of Tumbleweed

Needle mismatch, should be fixed now.

Actions #20

Updated by pherranz 23 days ago

  • Status changed from Workable to Resolved
Actions

Also available in: Atom PDF