> Can you elaborate on what will happen to users of older versions of wsl if they apply this update? Do they need to take some manual action? What will stop working or break?
Definetely! What happens depend on which version. Prior to WSL 2.5.1 ------------------- With the removal of the systemd-binfmt.service override it's possible for that service to break interop (the ability of launching Windows apps from the Linux shell) anytime it restarts. At boot time WSL implements some logic to perform the binfmt_registration that handles Windows executables after that unit starts so it shouldn't break by default at startup. But any action that causes systemd to restart it would break interop, for example installing qemu-user-static or python or any package that comes with binfmt_misc handlers. WSL 2.5.1 to WSL 2.5.6 ---------------------- WSL places a hook that runs together with systemd-binfmt.service such that once it restarts the hook acts and restores the WSL binfmt_misc registration, so interop wouldn't break. But the hook is removed when `systemctl daemon-load`, thus installing a combination of packages that causes systemd to reload daemons followed by a package that comes with binfmt_misc registration still break interop. One example of such combination is `binfmt-support` and `qemu-user-static`, common for users willing to debug ARM64 native binaries on AMD64 for instance. WSL 2.5.7 and later --------------------- WSL injects a systemd generator, thus reloading daemons recreates the hook that registers WSL binfmt_misc handler, thus interop is effectively protected. Updates to the WSL platform are released in a flexible cadence, always as pre-release until they mature a feature or fix and then they release a stable version. Users can opt-in for the pre-release versions by doing `wsl --update --pre-release`, otherwise they only receive stable versions. Since the systemd generator was implemented there were already 4 releases, two being marked as stable (one in April and another in June). So when I say that "We no longer consider those to be our main users, as there were already two stable releases of WSL since the fix was implemented." I mean that our main users are on the latest stable versions of WSL, most likely at the latest one. For those who opt for staying in older versions for whatever reasons, they will find documentation about what to do if interop becomes broken due systemd-binfmt.service. The way to handle that varies, some options are: - do nothing if the user doesn't care about interop at all - mask or disable systemd-binfmt.service if the user doesn't rely on it to register binfmt_misc handlers - re-gistering the binfmt handler manually (by writing a file at /proc/sys/fs/binfmt_misc/ with the correct settings) if it breaks once in a lifetime - or creating a systemd generator script that does the registration when systemd-binfmt.service starts (like the newer versions of WSL do) But most importantly we encourage our users to stay in the latest stable versions of the WSL platform and take advantage from the latest fixes and features unlocking new or previously blocked use cases. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2118617 Title: [SRU] Ubuntu on WSL install fails on non-ASCII usernames To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/wsl-setup/+bug/2118617/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs