* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Cleanup for review
* Update ServiceMain.cpp comment
* Remove duplicated definitions from wslservice.idl
* poc: Prototype interactive shell improvments
* Format
* Merge
* Save state
* Correctly configure terminal
* Format
* PR feedback
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Cleanup for review
* Update ServiceMain.cpp comment
* Remove duplicated definitions from wslservice.idl
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)
* Save state
* Save state
* Save state
* Get the VM booting
* VM booting
* Disk mounting
* CreateLinuxProcess
* Move to a proper API
* Implement env
* Progress on fd
* Redesign fork model
* Add process wait & signal
* Include nuget package
* Format
* Format
* Format
* Cleanup
* Format
* Format
* Format
* Fix nuspec
* Implement VM termination
* Add lsw dll
* Implement termination callbacks
* Save state
* Various fixes in API header
* Save state
* Test coverage
* Don't block all signals by default
* Writeable overlay
* Add struct keyword
* rename WslCreateVirualMachine -> WslCreateVirtualMachine
* rename Environmnent -> Environment
* rename HandleToUlong -> HandleToULong
* ensure correct amount of memory is used to create the LSW VM
* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission
* Add missing struct keyword
* PR feedback
* PR review
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Implement WSL for apps TCP port forwarding (#13299)
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)
* Save state
* Save state
* Save state
* Get the VM booting
* VM booting
* Disk mounting
* CreateLinuxProcess
* Move to a proper API
* Implement env
* Progress on fd
* Redesign fork model
* Add process wait & signal
* Include nuget package
* Format
* Format
* Format
* Cleanup
* Format
* Format
* Format
* Fix nuspec
* Implement VM termination
* Add lsw dll
* Implement termination callbacks
* Save state
* Various fixes in API header
* Save state
* Test coverage
* Don't block all signals by default
* Writeable overlay
* Add struct keyword
* rename WslCreateVirualMachine -> WslCreateVirtualMachine
* rename Environmnent -> Environment
* rename HandleToUlong -> HandleToULong
* ensure correct amount of memory is used to create the LSW VM
* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission
* Add missing struct keyword
* PR feedback
* PR review
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Save state
* Progress
* Save state
* Move tests to socat
* Increase test coverage
* More test coverage
* Cleanup before PR
* Cleanup before PR
* Refresh branch
* Update comment
* Only run LSW tests on wsl2
* Fix missing '.0' in flight-stage.yml
* Revert "Fix missing '.0' in flight-stage.yml"
This reverts commit 9b3e9ae38f5086b201f2100bf4196a7afe14d9eb.
* PR suggestions
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Various fixes and improvements to the WSLA VM logic (#13338)
* Various fixes in the WSLA VM logic
* Update tests
* Fix ARM build
* LF
* Disable Firewall in WSLA VM config (#13345)
* Disable Firewall in WSLA VM config
* Add a version check
* Update setup-vm-for-tests.ps1 to include WSLA dll (#13362)
* Implement WSLA API's to query installed components, and install them when needed (#13363)
* Save state
* Save state
* Add tests
* Finalize tests
* Remove test logic
* Implement WSLA API to unmount & detach disks (#13364)
* Implement WSLA API to unmount & detach disks
* Add WSL2_TEST_ONLY();
* Fix wslg path
* Extend WslWaitForLinuxProcess test coverage (#13366)
* Add pipeline logic to publish nuget packages in the nightly pipeline (#13337)
* Add pipeline logic to publish nuget packages in the nightly pipeline
* Yaml
* Remove condition
* Fix version number
* Fix path
* Fix path
* Add support for using Linux files as processes' file descriptors (#13382)
* Save state
* Save state
* Add support for using Linux files as processes' file descriptors
* Cosmetics
* Missing return
* Signal the VM termination event to unblock any pending call when the service stops (#13389)
* Implement WSLA API to mount and unmount Windows folders via plan9 (#13393)
* Implement WSLA API to mount and unmount Windows folders via plan9
* Better handle when the folder is manually unmounted from the guest
* Add a test case to cover non plan9 mounts
* Update test
* wsla: do not leak fd's to user processes (#13406)
* Remove leftover logline in WSLA init (#13407)
* Implement WSLA GPU support (#13400)
* Implement WSLA GPU support
* Spelling
* Fix remaining typos
* More typos
* Merge
* Remove extra logline
* wsla: Refactor API to define `wsl` prefix on all types (#13410)
* Implement WSLA GPU support
* Spelling
* Fix remaining typos
* More typos
* Merge
* Remove extra logline
* Save state
* Reduce enum name
* Format
* Merge
* Fix merge
* Prepare for PR
* Update nuspec
* Pipeline update
* Implement WSL package version check (#13457)
* wsla: Mount the target on / when the chroot flag is set (#13455)
* wsla: Mount the target on / when the chroot flag is set
* Reuse existing helper
* wsa: Signa wsaclient.dll when building for release (#13466)
* wsa: Signal wsaclient.dll when building for release
* Typo
* Debug
* Debug
* Explicitely set targets to be built
* Build bundle
* Build tests before msipackage
* Build tests before msipackage
* Simplify
* Simplify
* wsla: Use a mount timeout when mounting a disk (#13471)
* Add an option to put a nuget suffix in the release pipeline parameters (#13474)
* Add an option to put a nuget suffix in the release pipeline parameters
* Yaml
* Yaml
* Yaml
* wsla: Implement writeable overlayfs support for GPU mounts
* Cleanup
* Typo
* Conflicts
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* wsa: Signal wsaclient.dll when building for release
* Typo
* Debug
* Debug
* Explicitely set targets to be built
* Build bundle
* Build tests before msipackage
* Build tests before msipackage
* Simplify
* Simplify
* Implement WSLA API to mount and unmount Windows folders via plan9
* Better handle when the folder is manually unmounted from the guest
* Add a test case to cover non plan9 mounts
* Update test
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)
* Save state
* Save state
* Save state
* Get the VM booting
* VM booting
* Disk mounting
* CreateLinuxProcess
* Move to a proper API
* Implement env
* Progress on fd
* Redesign fork model
* Add process wait & signal
* Include nuget package
* Format
* Format
* Format
* Cleanup
* Format
* Format
* Format
* Fix nuspec
* Implement VM termination
* Add lsw dll
* Implement termination callbacks
* Save state
* Various fixes in API header
* Save state
* Test coverage
* Don't block all signals by default
* Writeable overlay
* Add struct keyword
* rename WslCreateVirualMachine -> WslCreateVirtualMachine
* rename Environmnent -> Environment
* rename HandleToUlong -> HandleToULong
* ensure correct amount of memory is used to create the LSW VM
* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission
* Add missing struct keyword
* PR feedback
* PR review
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Save state
* Progress
* Save state
* Move tests to socat
* Increase test coverage
* More test coverage
* Cleanup before PR
* Cleanup before PR
* Refresh branch
* Update comment
* Only run LSW tests on wsl2
* Fix missing '.0' in flight-stage.yml
* Revert "Fix missing '.0' in flight-stage.yml"
This reverts commit 9b3e9ae38f5086b201f2100bf4196a7afe14d9eb.
* PR suggestions
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Save state
* Save state
* Save state
* Get the VM booting
* VM booting
* Disk mounting
* CreateLinuxProcess
* Move to a proper API
* Implement env
* Progress on fd
* Redesign fork model
* Add process wait & signal
* Include nuget package
* Format
* Format
* Format
* Cleanup
* Format
* Format
* Format
* Fix nuspec
* Implement VM termination
* Add lsw dll
* Implement termination callbacks
* Save state
* Various fixes in API header
* Save state
* Test coverage
* Don't block all signals by default
* Writeable overlay
* Add struct keyword
* rename WslCreateVirualMachine -> WslCreateVirtualMachine
* rename Environmnent -> Environment
* rename HandleToUlong -> HandleToULong
* ensure correct amount of memory is used to create the LSW VM
* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission
* Add missing struct keyword
* PR feedback
* PR review
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Configure defender process exceptions when running tests
* Use explicit %ls
* Save state
* Save state
* Add exceptions before the package is installed
* Remove extra call
* logging: add more settings to vm create begin / end events.
* pr feedback, less string allocations'
* Handle empty user module list differently
* pr feedback
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
The existing AMD64 link (using the release name - noble in this case) will
break next year as it did two weeks ago when Ubuntu 24.04.3 LTS was
released.
The link I propose here will remain stable when the next point release
comes out, following the same pattern already in place for ARM64.
To prove my point we can use this pattern to fetch the previous version
of Ubuntu 24.04:
- This works:
https://releases.ubuntu.com/24.04.2/ubuntu-24.04.2-wsl-amd64.wsl
- This doesn't:
https://releases.ubuntu.com/noble/ubuntu-24.04.2-wsl-amd64.wsl