-
Notifications
You must be signed in to change notification settings - Fork 228
Cannot start VMs on WSL2 #129
Comments
Try to run |
Most probably you need those kernel options. If you can reproduce with a new kernel (as per microsoft/WSL#4165 (comment)), we can add it to https://github.com/weaveworks/ignite/blob/master/docs/dependencies.md#host-requirements Would be super exciting to get Ignite working on WSL 😄 |
Hello
Yes, I had to rollback on using Windows Insider Preview temporarily due to some issues I was having with VirtualBox VMs not working at all on my laptop (Hyper-V being enabled for WSL2 and VirtualBox not working when VBox is enabled). I'll try to get into Insider Preview to enable WSL2 again this weekend and see if I can get a customized kernel with the needed options compiled in. |
Doesn't ignite relies on KVM? AFAIK, WSL2 is a lightweight hyper-v vm by itself and it means hyper-v support nested virtualization? |
Yes, Firecracker is a KVM implementation.
I'm pretty sure that Hyper-V supports nested virtualization, but I'm unsure if that knob is exposed in WSL2. That is indeed a requirement. |
Hello,
Both options are not enabled by default in the kernel provided by the WSL2 Debian VM :
I'll try to figure out how one could provide a custom compiled kernel to the WSL2 VM with these options enabled. |
I tried building a custom kernel but the WSL2 VM cannot start after I change the What I did :
Not sure what else I could try or if what I did was really what needed to be done. |
Well, I tried
Just a FYI - I'm not actively pursuing this I just followed from WSL#4165 to see what ignite was |
I did this |
I've been able to use kvm with WSL2 with the last windows insider build. But ignite is not working when running the command:
I also get the error I also get the following warning from containerd that seems related: |
Thanks all for your comments. I began getting ignite working in WSL2. Windows Fast Ring Build 19631+ is needed to use the undocumented I'm using windows build 20150 on an Intel CPU. This build also supports AMD nested virt. I'm able to build ignite in WSL2 using an Ubuntu distro and docker-desktop for Windows' WSL2 backend. Checking CONFIG_DM_SNAPSHOT=y
CONFIG_DM_ZERO=y These edits can be made on top of your existing WSL2 kernel config: After compiling our configured kernel from https://github.com/microsoft/wsl2-linux-kernel and configuring WSL2 does not bind mount While the symlinks are not available in WSL2, the The last problems were actually starting the VM's. There may be a more minimal way to meet these Once we remove the dependency on |
I've discovered that these While looking at removing our dependency on these symlinks, I discovered that we call I also found two container focused libraries for devicemapper; one uses ioctl's and the other exec's dmsetup:
Here is a justification for wrapping |
These patches remove the main blockers/caveats with running ignite under containers (like WSL2 distros):
We will work on making the experience of booting a modified WSL2 kernel easier (either by publishing a build or maintaining sources) and work on documenting the setup more fully. The gist is that you currently need:
If you meet these main environment dependencies, ignite should run or be very close to running . |
Does Ignite works with WSL2 at time of writing? |
Using a Debian 10/buster VM running under WSL2 here :
Also,
dmes
gives me this error while the previous command is tried :These are all the devicemapper related kernel config options provided by the Microsoft WSL2 kernel :
My guess is that the WSL2 kernel is not enabling some devicemapper related config.
The text was updated successfully, but these errors were encountered: