-
Notifications
You must be signed in to change notification settings - Fork 286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Startup Bootloop with WSL update after WSL Kernel Update #14282
Comments
After all the evening thrown to the bin, installing, uninstalling, and testing dozens of versions of WSL & Docker Desktop, I've finally discovered the issue: For some stupid reason WSL 2.3.17.0 DOWNGRADES default Kernel version to 5.15.153.1, because WSL 2.3.14.0 has, by default Kernel 6.6.36.3-1. Why? Noone knows. So basically, I downgraded to WSL 2.3.14.0 and now everything is working well again. Anyway, I think that it is very weird that a completely default compilation of 6.6.36.3-1 breaks Docker Desktop (also under WSL 2.3.14.0), but using default kernel, it works. So I will leave this issue open for future review because there is clearly a bug with using the WSL custom kernel functionality (not because of a custom kernel itself, because, as I say, it's 100% default settings provided in |
Please have a look over here https://wsl.dev/wslcilium/ I haven't tried this out, but it might be because of mismatching Kernel headers and modules of the wsl. |
Thanks for the link, I was following some very similar (with the -j part included to speed up things) https://github.com/kevin-doolaeghe/wsl-kernel-modules But that is not the biggest problem here. There are many reports for this issue with custom Kernel. I'm wondering whats going on. Surely they have to update this Because I'm 90% confident that the issue here is a missing module that is not being checked and is critical for this to work. |
It seems the issue is in wsl. The latest released wsl version is 2.2.4 at the moment, with kernel 5.15 . The kernel 6.6.36 has been added and later reverted in wsl 2.3.17 pre-release, it doesn't say what was the problem, I suspect what we're having here. |
It's working for me:
But NOT with the same Kernel compiled by myself with default WSL parameters (+ So no, it's not a WSL problem but a Docker Desktop issue. As I said, I'm 90% confident, that there is some kernel module that must be loaded but |
And if you want build custom kernel like https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.10.7.tar.xz ? Does the same procedure work? |
According to the WSL site, generic kernels wont work well with WSL itself. Only WSL kernels seems to be working. Try to see if you WSL boots first with a fully custom non-WSL kernel. |
I'll try it. |
Description
WSL: 2.3.17
Kernel: 6.6.36.6
Docker Desktop: 4.33.1
After I updated the kernel with the
.wslconfig
fileUp to the latest official 6.6.36.6, technically is not a "Custom Kernel" but the latest official Kernel.
I started noticing that Docker Desktop started a boot loop on startup
It's continuously asking for Windows administrative permission to execute:
Which happens to return
But still keeps trying this in an endless loop. In the video, the administrative escalation prompt doesn't show up, but can be heard each time it pops:
Untitled.video.-.Made.with.Clipchamp.mp4
I tried adding compatibility with:
https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh
Following this advice: microsoft/WSL#11771 (comment)
And all relevant
CONFIG
are enabled:I noted that downgrading to 4.33.0 as suggested here: #14236 (comment)
Sorted the issue… I don't really understand why the man closed the Issue because there is a clear issue with the 4.33.1 update that conflicts with the latest 6.6 Kernel that doesn't appear in 4.33.0 (new error appearS)
It's strange because the 4.33.1 version was meant to add support for the new WSL version
With 4.33.0 new error appears:
Reproduce
https://github.com/microsoft/WSL2-Linux-Kernel/releases/tag/linux-msft-wsl-6.6.36.3
Steps to compile:
1.1 Download the WSL2-Linux-Kernel
1.2 Extract and copy the config file attached as .config in the Kernel source files
config-6.6.36.3.txt
1.3 Run commands:
1.4 Then copy the
vmlinux
in a place where Windows host can read it.wslconfig
to run WSL with itShutdown wsl with
wsl --shutdown
to refresh with the new KernelStart a fresh installation of Docker Desktop
Expected behavior
Docker Desktop should initialize like normally.
docker version
Client: Version: 27.1.1 API version: 1.46 Go version: go1.21.12 Git commit: 6312585 Built: Tue Jul 23 19:57:57 2024 OS/Arch: windows/amd64 Context: desktop-linux Server: Docker Desktop 4.33.1 (161083) Engine: Version: 27.1.1 API version: 1.46 (minimum version 1.24) Go version: go1.21.12 Git commit: cc13f95 Built: Tue Jul 23 19:57:19 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.19 GitCommit: 2bf793ef6dc9a18e00cb12efb64355c2c9d5eb41 runc: Version: 1.7.19 GitCommit: v1.1.13-0-g58aa920 docker-init: Version: 0.19.0 GitCommit: de40ad0
docker info
Diagnostics ID
77F07B67-A67F-4B23-86A1-9FBE325F6292/20240824194655
Additional Info
If I switch back to the regular kernel, removing the
.wslconfig
kernel line, Docker Desktop works adequately.The text was updated successfully, but these errors were encountered: