[WSL] zypper dup to June 7 Tumbleweed snapshot - filesystem error "renameat2: Function not implemented"
![](https://seccdn.libravatar.org/avatar/0b35742a6662920fc76f33ff894ba2e7.jpg?s=120&d=mm&r=g)
Greetings! TL;DR: Latest tumbleweed update fails on WSL because Kernel for Windows Subsystem for Linux (WSL) on Windows 10 (Build 18363.1556) does not support function call "renameat2" which seems to be be required for migrating /bin to a symlink. Tumbleweed snapshot *20210605 *was released today. https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/R... ### Attempting upgrade from Tumbleweed snapshot version.. TUMBL_20210524:~ # grep VERSION_ID /etc/*-release VERSION_ID="*20210524*" ### "zypper -vvv dup" failed on package "filesystem" but ### errors did not indicate cause. ### Attempting to install "filesystem" package manually ### from subsequent cache ### produced the following (note bolded line) TUMBL_20210524:/var/cache/zypp/packages/repo-oss/x86_64 # rpm -Uvh /var/cache/zypp/packages/repo-oss/x86_64/filesystem-15.5-40.2.x86_64.rpm Verifying... ################################# [100%] Make a copy of `/bin'. Merge the copy with `/usr/bin'. Clean up duplicates in `/usr/bin'. Make a copy of `/sbin'. Merge the copy with `/usr/sbin'. Clean up duplicates in `/usr/sbin'. Make a copy of `/lib'. Merge the copy with `/usr/lib'. Clean up duplicates in `/usr/lib'. Make a copy of `/lib64'. Merge the copy with `/usr/lib64'. Clean up duplicates in `/usr/lib64'. Switch to new `/usr/bin'. *renameat2: Function not implemented* Something failed, cleaning up error: lua script failed: [string "%pretrans(filesystem-15.5-40.2.x86_64)"]:37: exit Preparing... ################################# [100%] file /bin from install of filesystem-15.5-40.2.x86_64 conflicts with file from package filesystem-15.5-40.1.x86_64 file /lib from install of filesystem-15.5-40.2.x86_64 conflicts with file from package filesystem-15.5-40.1.x86_64 file /lib64 from install of filesystem-15.5-40.2.x86_64 conflicts with file from package filesystem-15.5-40.1.x86_64 file /sbin from install of filesystem-15.5-40.2.x86_64 conflicts with file from package filesystem-15.5-40.1.x86_64 ### Some googling revealed that the kernel function "renameat2" ### is being used to help migrate /bin to be a symlink to /usr/bin ### Reference - https://en.opensuse.org/openSUSE:Usr_merge Some additional notes.. ### Only a handful of files are not symlinks in /bin TUMBL_20210524:~ # find /bin ! -type d -a ! -type l -ls 2814749767117550 16 -rwxr-xr-x 1 root root 14648 Apr 10 08:29 /bin/fsync 1407374883658168 40 -rwxr-xr-x 1 root root 39120 Apr 19 17:52 /bin/login 14073748835674995 32 -rwxr-xr-x 2 root root 31560 Apr 19 18:08 /bin/pgrep 14073748835674995 32 -rwxr-xr-x 2 root root 31560 Apr 19 18:08 /bin/pkill 5910974510926982 136 -rwxr-xr-x 1 root root 138464 Apr 19 18:08 /bin/ps 284852676431209902 16 -rwxr-xr-x 1 root root 14664 Apr 10 08:29 /bin/usleep --David Alston "Without rules there is no game." --SOv
![](https://seccdn.libravatar.org/avatar/0b35742a6662920fc76f33ff894ba2e7.jpg?s=120&d=mm&r=g)
Greetings! Also, thanks for all the great work! I've been a happy SUSE user for years! --David Alston "Without rules there is no game." --SOv On Mon, Jun 7, 2021 at 10:37 AM David Alston <david.alston@gmail.com> wrote:
Greetings!
TL;DR: Latest tumbleweed update fails on WSL because Kernel for Windows Subsystem for Linux (WSL) on Windows 10 (Build 18363.1556) does not support function call "renameat2" which seems to be be required for migrating /bin to a symlink.
Tumbleweed snapshot *20210605 *was released today.
https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/R...
### Attempting upgrade from Tumbleweed snapshot version.. TUMBL_20210524:~ # grep VERSION_ID /etc/*-release VERSION_ID="*20210524*"
### "zypper -vvv dup" failed on package "filesystem" but ### errors did not indicate cause. ### Attempting to install "filesystem" package manually ### from subsequent cache ### produced the following (note bolded line) TUMBL_20210524:/var/cache/zypp/packages/repo-oss/x86_64 # rpm -Uvh /var/cache/zypp/packages/repo-oss/x86_64/filesystem-15.5-40.2.x86_64.rpm Verifying... ################################# [100%] Make a copy of `/bin'. Merge the copy with `/usr/bin'. Clean up duplicates in `/usr/bin'. Make a copy of `/sbin'. Merge the copy with `/usr/sbin'. Clean up duplicates in `/usr/sbin'. Make a copy of `/lib'. Merge the copy with `/usr/lib'. Clean up duplicates in `/usr/lib'. Make a copy of `/lib64'. Merge the copy with `/usr/lib64'. Clean up duplicates in `/usr/lib64'. Switch to new `/usr/bin'. *renameat2: Function not implemented* Something failed, cleaning up error: lua script failed: [string "%pretrans(filesystem-15.5-40.2.x86_64)"]:37: exit Preparing... ################################# [100%] file /bin from install of filesystem-15.5-40.2.x86_64 conflicts with file from package filesystem-15.5-40.1.x86_64 file /lib from install of filesystem-15.5-40.2.x86_64 conflicts with file from package filesystem-15.5-40.1.x86_64 file /lib64 from install of filesystem-15.5-40.2.x86_64 conflicts with file from package filesystem-15.5-40.1.x86_64 file /sbin from install of filesystem-15.5-40.2.x86_64 conflicts with file from package filesystem-15.5-40.1.x86_64
### Some googling revealed that the kernel function "renameat2" ### is being used to help migrate /bin to be a symlink to /usr/bin ### Reference - https://en.opensuse.org/openSUSE:Usr_merge
Some additional notes..
### Only a handful of files are not symlinks in /bin TUMBL_20210524:~ # find /bin ! -type d -a ! -type l -ls 2814749767117550 16 -rwxr-xr-x 1 root root 14648 Apr 10 08:29 /bin/fsync 1407374883658168 40 -rwxr-xr-x 1 root root 39120 Apr 19 17:52 /bin/login 14073748835674995 32 -rwxr-xr-x 2 root root 31560 Apr 19 18:08 /bin/pgrep 14073748835674995 32 -rwxr-xr-x 2 root root 31560 Apr 19 18:08 /bin/pkill 5910974510926982 136 -rwxr-xr-x 1 root root 138464 Apr 19 18:08 /bin/ps 284852676431209902 16 -rwxr-xr-x 1 root root 14664 Apr 10 08:29 /bin/usleep
--David Alston "Without rules there is no game." --SOv
![](https://seccdn.libravatar.org/avatar/5fef0a66f37e981cea2b0ed8061fb67b.jpg?s=120&d=mm&r=g)
This will work, but only with WSLv2 ; I'm not sure the state of your WSL 'distro' at this point or you might already know this, but a v1 WSL 'distro' can be upgraded to v2 and then a zypper dup (that includes usrMerge) will work.
![](https://seccdn.libravatar.org/avatar/f9fb86af86ef66b34b610f49ebc61f39.jpg?s=120&d=mm&r=g)
David Alston wrote:
TL;DR: Latest tumbleweed update fails on WSL because Kernel for Windows Subsystem for Linux (WSL) on Windows 10 (Build 18363.1556) does not support function call "renameat2" which seems to be be required for migrating /bin to a symlink.
Yes, renameat2 is not implemented in WSL1. A fix to fall back to the non-atomic approach is already on the way and should be in the next TW release. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.com/ SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer HRB 36809 (AG Nürnberg)
![](https://seccdn.libravatar.org/avatar/a625dfaa887c4577f90ce41ee3da5e2a.jpg?s=120&d=mm&r=g)
22-06-2021 09:20 +0200, Ludwig Nussel wrote:
Yes, renameat2 is not implemented in WSL1. A fix to fall back to the non-atomic approach is already on the way and should be in the next TW release.
Thanks for that, I hit this issue and managed to destroy my WSL rootfs trying to work around it :) I have noticed that the latest WSL Tumbleweed image at [1] is sadly from a couple days _before_ the UsrMerge. In fact it looks like the entire build process for WSL Tumbleweed images has come to a halt around 2 months ago [2] . Anyone knows what is going with the Tumbleweed WSL images? Is there someone to ping or is this a known issue? [1] https://download.opensuse.org/tumbleweed/wsl/ [2] https://openqa.opensuse.org/group_overview/68 Javier.
![](https://seccdn.libravatar.org/avatar/5fef0a66f37e981cea2b0ed8061fb67b.jpg?s=120&d=mm&r=g)
On Mon, 2021-07-05 at 13:22 +0200, Javier wrote:
22-06-2021 09:20 +0200, Ludwig Nussel wrote:
Yes, renameat2 is not implemented in WSL1. A fix to fall back to the non-atomic approach is already on the way and should be in the next TW release.
Thanks for that, I hit this issue and managed to destroy my WSL rootfs trying to work around it :)
I have noticed that the latest WSL Tumbleweed image at [1] is sadly from a couple days _before_ the UsrMerge. In fact it looks like the entire build process for WSL Tumbleweed images has come to a halt around 2 months ago [2] .
Anyone knows what is going with the Tumbleweed WSL images? Is there someone to ping or is this a known issue?
[1] https://download.opensuse.org/tumbleweed/wsl/ [2] https://openqa.opensuse.org/group_overview/68
Javier.
They're being worked on and functional in all regards to UsrMerge - but as you found out, WSLv1 cannot complete that update; I wouldn't consider those 2 items you listed as official (or even unofficial) sources for .appx's to sideload. The issue in openQA is geared around it being in a state where it's using "root" (for whatever reason) and there aren't "needles" for that type of config - so it's failing. We have TW in the MS app store, but only for a specific flight group. It's currently my 'daily driver' WSL "distro". Works with WSLg also. This 20210628 is the "latest" TW .appx available: https://build.opensuse.org/package/binaries/openSUSE:Factory:WSL/kiwi-images... -- ~ Scott Bradnick |- Windows Subsystem for Linux (WSL) Developer |-- Tumbleweed: |--- Raspberry Pi 4 Model B Rev 1.2 (aarch64) |--- Dell Precision 5540 (NVIDIA Quadro T1000) https://keys.openpgp.org/ :: DBC5AA9A2D2BAEBC
![](https://seccdn.libravatar.org/avatar/f1d78e91b49772bc1ee655d00d0c7155.jpg?s=120&d=mm&r=g)
Hi, Am Freitag, 16. Juli 2021, 04:24:45 CEST schrieb Scott Bradnick:
On Mon, 2021-07-05 at 13:22 +0200, Javier wrote:
22-06-2021 09:20 +0200, Ludwig Nussel wrote:
Yes, renameat2 is not implemented in WSL1. A fix to fall back to the non-atomic approach is already on the way and should be in the next TW release.
Thanks for that, I hit this issue and managed to destroy my WSL rootfs trying to work around it :)
I have noticed that the latest WSL Tumbleweed image at [1] is sadly from a couple days _before_ the UsrMerge. In fact it looks like the entire build process for WSL Tumbleweed images has come to a halt around 2 months ago [2] .
Anyone knows what is going with the Tumbleweed WSL images? Is there someone to ping or is this a known issue?
The way the WSL image is built changed some time ago, and so did the location the .appx files end up. They're at https://download.opensuse.org/tumbleweed/appliances/?P=*.appx now and are released for every TW snapshot, the latest being 20210714. Cheers, Fabian
[1] https://download.opensuse.org/tumbleweed/wsl/ [2] https://openqa.opensuse.org/group_overview/68
Javier.
They're being worked on and functional in all regards to UsrMerge - but as you found out, WSLv1 cannot complete that update; I wouldn't consider those 2 items you listed as official (or even unofficial) sources for .appx's to sideload. The issue in openQA is geared around it being in a state where it's using "root" (for whatever reason) and there aren't "needles" for that type of config - so it's failing.
We have TW in the MS app store, but only for a specific flight group. It's currently my 'daily driver' WSL "distro". Works with WSLg also.
This 20210628 is the "latest" TW .appx available: https://build.opensuse.org/package/binaries/openSUSE:Factory:WSL/kiwi-images...
participants (5)
-
David Alston
-
Fabian Vogt
-
Javier
-
Ludwig Nussel
-
Scott Bradnick