eng/scripts/Install-WSL.ps1 (19 lines of code) (raw):
[console]::OutputEncoding = New-Object System.Text.UnicodeEncoding
# Workaround from https://github.com/actions/runner-images/issues/6844#issuecomment-1367225048
# At the time of this comment (30-12-2022) this only works on Azure DevOps hosted
# agents and doesn't work on 1ES images
Write-Host "wsl --update --web-download"
wsl --update --web-download | Out-String
Write-Host "wsl --version"
wsl --version
write-host "WSL install of ubuntu."
wsl --install -d Ubuntu-20.04 --web-download
write-host "Launch WSL."
$wsl = wsl -l -v | out-string
write-host $wsl
while ($wsl -notmatch 'Ubuntu-20.04.*running') {
start-sleep -seconds 1
$wsl = wsl -l -v | out-string
write-host $wsl
}
write-host "Ubuntu installed."