在 WSL2 中安装 uProf

在 WSL2 中安装 uProf

我正在尝试安装 uProfhttps://developer.amd.com/amd-uprof/用于在我的搭载 AMD Ryzen ThreadRipper 3960X 的机器上进行 c++ 代码分析。

我下载了 .deb 文件并尝试使用以下命令进行安装:

sudo dpkg --install amduprof_x.y-z_amd64.deb

但是,我收到了错误:

ERROR: Linux headers is required for installing AMD Power Profiler driver.
       Please install the sources using
sudo apt-get install linux-headers-5.10.60.1-microsoft-standard-WSL2
       and then start the installation again.

我尝试安装标题并得到:

Reading package lists... Done                                               
Building dependency tree                                                             
 Reading state information... Done                          
E: Unable to locate package linux-headers-5.10.60.1-microsoft-standard-WSL2
 E: Couldn't find any package by glob 'linux-headers-5.10.60.1-microsoft-standard-WSL2'
E: Couldn't find any package by regex 'linux-headers-5.10.60.1-microsoft-standard-WSL2'

我尝试使用以下命令检查正在使用的标头:

uname -r

并得到:

5.10.60.1-microsoft-standard-WSL2

这里有什么问题?

亲切的问候

答案1

WSL 不使用发行版中的内核,而是使用 Microsoft 制作的特定内核。虽然 Microsoft 内核确实支持模块,但它并未编译为使用任何模块,此外,Microsoft 不为其内核头文件提供软件包(尽管 源代码可在 GitHub 上找到)。

您的发行版不负责 Microsoft 的内核,所以他们也不会为其发送任何标头,因此查阅其存储库毫无意义。

因此,实际上不可能为 WSL 构建内核模块。如果你想使用需要内核模块的东西,你需要一个真正的 Linux 系统,无论是在 VM 中还是在真正的硬件上。

您的另一个选择是编译您自己的内核。

有关编译 WSL2 内核的更多信息,请参阅 Stack Exchange 帖子
WSL 2 没有 /lib/modules/

相关内容