Replies: 5 comments 11 replies
-
|
Hi @crramirez , Some of your assumptions are wrong:
Please keep commenting in the original thread: #12586 😉 |
Beta Was this translation helpful? Give feedback.
-
|
Is the main issue here that you have to compile both the kernel and the modules for each new kernel change? I understand this adds an additional step when using a customer kernel. But this would be expected behaviour for us when we moved to kernel modules, which gives benefits to the regular user. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @crramirez , As to the question of “what are the benefits to the regular user” I have this answer:
I hope these comments have clarified your question. And other different questions are: And why would a user need to compile a new driver (i.e. USB devices)? Or, why would several modules.vhdx be needed (i.e. third-party drivers)? |
Beta Was this translation helpful? Give feedback.
-
|
PING: We need support for third-party drivers ! |
Beta Was this translation helpful? Give feedback.
-
|
This is essentially pointless and only increases complexity. A machine capable enough to run WSL2 is clearly not low-memory embed shit, so just build all features as builtin (=Y). Is compile time really that important? You can build a ThinLTO kernel in just a few minutes using PGOed clang. The primary use case for modules in traditional kernel builds is to isolate hardware-specific drivers, but WSL2 has no need for this approach because its drivers are either generic or merely platform-specific. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Pardon my ignorance about this topic, I'll explain it.
With kernel 5 in WSL2 if I wanted to have a module / driver that is not available, I go to the Microsoft kernel sources, enable the module, for example, ZSWAP=Y and then compile the kernel. Then I put the kernel path in the .wslconfig. Each time Microsoft releases a new kernel, I need to do the same.
With the new kernel 6, if I want, for example, ZSWAP, I go to the Microsoft kernel source, enable the module like ZSWAP=M and compile. Then after running some scripts, I get the kernel binary and the kernel_modules.vhdx. I figure that I only need to put the kernel modules path in .wslconfig and not the kernel binary. The worst case I need to put both. As I remember from running Linux on bare metal, each time the kernel changed, I needed to recompile the NVIDIA driver module or download the precompiled ones. It means, as I understand, each time Microsoft releases a new kernel, I'll need to recompile and generate again the kernel modules vhdx.
As I described, it looks like the new approach is worse.
Can anyone correct my logic or highlight why it is better?
@benhillis @OneBlue @craigloewen-msft and any other that can help.
Best
Beta Was this translation helpful? Give feedback.
All reactions