microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.18k stars 805 forks source link

cpio required for 6.6 build #11738

Open JPHutchins opened 1 month ago

JPHutchins commented 1 month ago

Windows Version

Microsoft Windows [Version 10.0.22631.3810]

WSL Version

WSL version: 2.2.4.0

Are you using WSL 1 or WSL 2?

Kernel Version

5.15.153.1-2

Distro Version

Ubuntu 24.04

Other Software

No response

Repro Steps

Clone WSL2 kernel repo. Install dependencies.

make -j$(nproc) KCONFIG_CONFIG=Microsoft/config-wsl

Expected Behavior

Kernel builds.

Actual Behavior

Build error

***
*** 'cpio' could not be found.
***

6.6 branch and the writeup here, https://learn.microsoft.com/en-us/community/content/wsl-user-msft-kernel-v6, should be updated to specify new dependencies for the 6.6 build.

sudo apt install cpio

Resolves the issue and 6.6 is built.

Thanks! JP

Diagnostic Logs

I can include more make output if you'd like.

github-actions[bot] commented 1 month ago

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'. Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs Download and execute [collect-wsl-logs.ps1](https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-wsl-logs.ps1) in an **administrative powershell prompt**: ``` Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1 Set-ExecutionPolicy Bypass -Scope Process -Force .\collect-wsl-logs.ps1 ``` The scipt will output the path of the log file once done. Once completed please upload the output files to this Github issue. [Click here for more info on logging](https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#8-collect-wsl-logs-recommended-method) If you choose to email these logs instead of attaching to the bug, please send them to wsl-gh-logs@microsoft.com with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.
JPHutchins commented 1 month ago

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'. Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs Download and execute collect-wsl-logs.ps1 in an administrative powershell prompt:

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1
Set-ExecutionPolicy Bypass -Scope Process -Force
.\collect-wsl-logs.ps1

The scipt will output the path of the log file once done.

Once completed please upload the output files to this Github issue.

Click here for more info on logging If you choose to email these logs instead of attaching to the bug, please send them to wsl-gh-logs@microsoft.com with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.

/question

github-actions[bot] commented 1 month ago
Diagnostic information ``` Found '/question', adding tag 'question' ```
benhillis commented 1 month ago

@kelsey-steele - could you make sure that cpio is called out as a dependency in the readme? Thanks!

https://github.com/microsoft/WSL2-Linux-Kernel/blob/linux-msft-wsl-5.15.y/README.md

JPHutchins commented 1 month ago

@kelsey-steele - could you make sure that cpio is called out as a dependency in the readme? Thanks!

https://github.com/microsoft/WSL2-Linux-Kernel/blob/linux-msft-wsl-5.15.y/README.md

Slight clarification; this branch: https://github.com/microsoft/WSL2-Linux-Kernel/blob/linux-msft-wsl-6.6.y/README.md

kelsey-steele commented 1 month ago

@benhillis @JPHutchins ah! yes. Can get that added before the next 6.6 kernel update. Will update here once done.

Thank you for the report and ping! :)

kelsey-steele commented 1 month ago

Moving assignment to @chessturo

This task is completed on our side and lined up for the next release. Just re-assigning so we can make sure to come back and close this after @chessturo pushes out the release with this fix. :)

JPHutchins commented 1 month ago

@kelsey-steele While I have you! I'm curious how to test the releases that are on the Releases page? Normally if I build a new kernel I can swap it out easily and keep my existing "Linux OS". But the releases seem different, like I might not be able to keep my existing OS install?

Thanks!

kelsey-steele commented 1 month ago

@JPHutchins using a custom kernel is the same as before and shouldn't really be altering any of your WSL instances you have set up. Well altering outside what the kernel provides. The big difference is the inclusion of loadable modules with the 6.6 kernel while previously all modules were built in. At this time, loadable module support gets disabled when using a custom kernel which means a lot of functionality you're use to gets removed once you add that "kernel=" line into .wslconfig.

To get around this, at least until loadable module support is available with custom kernels, I recommend building the 6.6 WSL kernel with the last 5.15 configs. Or you can modify the config file to just build in everything you need, though taking the 5.15 config will likely be less work, especially if it already included everything you wanted.

Does this explain what you're seeing that looks to alter your WSL installs? If not, let's figure that out to make sure something wrong isn't occurring.

JPHutchins commented 1 month ago

Does this explain what you're seeing that looks to alter your WSL installs? If not, let's figure that out to make sure something wrong isn't occurring.

There's nothing wrong! If I'm fiddling with various kernels I just need to make sure I don't wipe out my Linux environment accidentally 🤣. Thanks for the info!